From cae541f16c289f6a7cdbc48c70a0beac783031de Mon Sep 17 00:00:00 2001 From: Marko Ristin-Kaufmann Date: Wed, 28 Oct 2026 15:30:06 +0100 Subject: [PATCH] Release 1.0.0rc1 This is an initial version ready for first tests. The test data for V3.2 Part 2 is still missing as we are still working on its generation. --- .github/workflows/build-test-docs.yml | 37 + .github/workflows/ci.yml | 94 + .github/workflows/publish-to-pypi.yml | 36 + .gitignore | 216 + .readthedocs.yml | 27 + README.rst | 34 + aas_core3_2/__init__.py | 8 + aas_core3_2/common.py | 172 + aas_core3_2/constants.py | 195 + aas_core3_2/jsonization.py | 17656 ++++++ aas_core3_2/jsonvalueverification.py | 140 + aas_core3_2/py.typed | 1 + aas_core3_2/reporting.py | 171 + aas_core3_2/stringification.py | 718 + aas_core3_2/types.py | 24322 ++++++++ aas_core3_2/verification.py | 10265 ++++ aas_core3_2/xmlcommon.py | 741 + aas_core3_2/xmlization.py | 48157 ++++++++++++++++ aas_core3_2/xmlrpc.py | 570 + dev/continuous_integration/__init__.py | 1 + ...heck_init_and_pyproject_toml_consistent.py | 91 + dev/continuous_integration/common.py | 65 + dev/continuous_integration/mypy.ini | 1 + dev/continuous_integration/precommit.py | 291 + dev/continuous_integration/ruff.toml | 56 + dev/dev_scripts/.python-version | 1 + dev/dev_scripts/__init__.py | 1 + dev/dev_scripts/codegen/meta_model.py | 12472 ++++ .../snippets/qualified_module_name.txt | 1 + dev/dev_scripts/common.py | 79 + .../download_aas_core_meta_model.py | 94 + dev/dev_scripts/download_latest_test_data.py | 206 + dev/dev_scripts/regenerate_code.py | 72 + dev/dev_scripts/rerecord_tests.py | 52 + dev/dev_scripts/update_all.py | 89 + dev/pyproject.toml | 34 + .../fuzzed_01.json | 3 + .../fuzzed_02.json | 3 + .../fuzzed_03.json | 3 + .../midnight_with_24_hours.json | 3 + .../midnight_with_zeros.json | 3 + .../minus_zero_offset.json | 3 + .../plus_zero_offset.json | 3 + .../random_positive.json | 3 + .../very_large_year.json | 3 + .../very_long_fractional_second.json | 3 + .../year_1_bce_is_a_leap_year.json | 3 + .../year_5_bce_is_a_leap_year.json | 3 + .../AdministrativeInformation/maximal.json | 70 + .../AdministrativeInformation/minimal.json | 1 + .../four_digits.json | 4 + .../fuzzed_01.json | 4 + .../fuzzed_02.json | 4 + .../fuzzed_03.json | 4 + .../fuzzed_04.json | 4 + .../revisionOverPatternExamples/one.json | 4 + .../three_digits.json | 4 + .../two_digits.json | 4 + .../revisionOverPatternExamples/zero.json | 4 + .../fuzzed_01.json | 3 + .../fuzzed_02.json | 3 + .../fuzzed_03.json | 3 + .../fuzzed_04.json | 3 + .../fuzzed_05.json | 3 + .../fuzzed_06.json | 3 + .../fuzzed_07.json | 3 + .../fuzzed_08.json | 3 + .../fuzzed_09.json | 3 + .../fuzzed_10.json | 3 + .../fuzzed_01.json | 3 + .../fuzzed_02.json | 3 + .../fuzzed_03.json | 3 + .../midnight_with_24_hours.json | 3 + .../midnight_with_zeros.json | 3 + .../minus_zero_offset.json | 3 + .../plus_zero_offset.json | 3 + .../random_positive.json | 3 + .../very_large_year.json | 3 + .../very_long_fractional_second.json | 3 + .../year_1_bce_is_a_leap_year.json | 3 + .../year_5_bce_is_a_leap_year.json | 3 + .../four_digits.json | 3 + .../versionOverPatternExamples/fuzzed_01.json | 3 + .../versionOverPatternExamples/fuzzed_02.json | 3 + .../versionOverPatternExamples/fuzzed_03.json | 3 + .../versionOverPatternExamples/fuzzed_04.json | 3 + .../versionOverPatternExamples/one.json | 3 + .../three_digits.json | 3 + .../two_digits.json | 3 + .../versionOverPatternExamples/zero.json | 3 + .../fuzzed_01.json | 4 + .../fuzzed_02.json | 4 + .../fuzzed_03.json | 4 + .../fuzzed_04.json | 4 + .../fuzzed_05.json | 4 + .../fuzzed_06.json | 4 + .../fuzzed_07.json | 4 + .../fuzzed_08.json | 4 + .../fuzzed_09.json | 4 + .../fuzzed_10.json | 4 + .../alternating_hyphen_underscore.json | 4 + .../ends_with_underscore.json | 4 + .../idShortOverPatternExamples/fuzzed_01.json | 4 + .../idShortOverPatternExamples/fuzzed_02.json | 4 + .../idShortOverPatternExamples/fuzzed_03.json | 4 + .../idShortOverPatternExamples/fuzzed_04.json | 4 + .../idShortOverPatternExamples/fuzzed_05.json | 4 + .../idShortOverPatternExamples/fuzzed_06.json | 4 + .../idShortOverPatternExamples/fuzzed_07.json | 4 + .../idShortOverPatternExamples/fuzzed_08.json | 4 + .../idShortOverPatternExamples/fuzzed_09.json | 4 + .../idShortOverPatternExamples/fuzzed_10.json | 4 + .../hyphen_then_underscore.json | 4 + .../many_internal_hyphens.json | 4 + .../many_underscores.json | 4 + .../minimal_digit.json | 4 + .../minimal_lower.json | 4 + .../minimal_underscore.json | 4 + .../minimal_upper.json | 4 + .../single_internal_hyphen.json | 4 + .../underscore_after_first.json | 4 + .../AnnotatedRelationshipElement/maximal.json | 167 + .../AnnotatedRelationshipElement/minimal.json | 3 + .../fuzzed_01.json | 9 + .../fuzzed_02.json | 9 + .../fuzzed_03.json | 9 + .../fuzzed_04.json | 9 + .../fuzzed_05.json | 9 + .../fuzzed_06.json | 9 + .../fuzzed_07.json | 9 + .../fuzzed_08.json | 9 + .../fuzzed_09.json | 9 + .../fuzzed_10.json | 9 + .../idOverPatternExamples/fuzzed_01.json | 8 + .../idOverPatternExamples/fuzzed_02.json | 8 + .../idOverPatternExamples/fuzzed_03.json | 8 + .../idOverPatternExamples/fuzzed_04.json | 8 + .../idOverPatternExamples/fuzzed_05.json | 8 + .../idOverPatternExamples/fuzzed_06.json | 8 + .../idOverPatternExamples/fuzzed_07.json | 8 + .../idOverPatternExamples/fuzzed_08.json | 8 + .../idOverPatternExamples/fuzzed_09.json | 8 + .../idOverPatternExamples/fuzzed_10.json | 8 + .../alternating_hyphen_underscore.json | 9 + .../ends_with_underscore.json | 9 + .../idShortOverPatternExamples/fuzzed_01.json | 9 + .../idShortOverPatternExamples/fuzzed_02.json | 9 + .../idShortOverPatternExamples/fuzzed_03.json | 9 + .../idShortOverPatternExamples/fuzzed_04.json | 9 + .../idShortOverPatternExamples/fuzzed_05.json | 9 + .../idShortOverPatternExamples/fuzzed_06.json | 9 + .../idShortOverPatternExamples/fuzzed_07.json | 9 + .../idShortOverPatternExamples/fuzzed_08.json | 9 + .../idShortOverPatternExamples/fuzzed_09.json | 9 + .../idShortOverPatternExamples/fuzzed_10.json | 9 + .../hyphen_then_underscore.json | 9 + .../many_internal_hyphens.json | 9 + .../many_underscores.json | 9 + .../minimal_digit.json | 9 + .../minimal_lower.json | 9 + .../minimal_underscore.json | 9 + .../minimal_upper.json | 9 + .../single_internal_hyphen.json | 9 + .../underscore_after_first.json | 9 + .../AssetAdministrationShell/maximal.json | 122 + .../AssetAdministrationShell/minimal.json | 8 + .../fuzzed_01.json | 5 + .../fuzzed_02.json | 5 + .../fuzzed_03.json | 5 + .../fuzzed_04.json | 5 + .../fuzzed_05.json | 5 + .../fuzzed_06.json | 5 + .../fuzzed_07.json | 5 + .../fuzzed_08.json | 5 + .../fuzzed_09.json | 5 + .../fuzzed_10.json | 5 + .../fuzzed_01.json | 4 + .../fuzzed_02.json | 4 + .../fuzzed_03.json | 4 + .../fuzzed_04.json | 4 + .../fuzzed_05.json | 4 + .../fuzzed_06.json | 4 + .../fuzzed_07.json | 4 + .../fuzzed_08.json | 4 + .../fuzzed_09.json | 4 + .../fuzzed_10.json | 4 + .../Expected/AssetInformation/maximal.json | 22 + .../Expected/AssetInformation/minimal.json | 4 + .../fuzzed_01.json | 19 + .../fuzzed_02.json | 19 + .../fuzzed_03.json | 19 + .../fuzzed_04.json | 19 + .../fuzzed_05.json | 19 + .../fuzzed_06.json | 19 + .../fuzzed_07.json | 19 + .../fuzzed_08.json | 19 + .../fuzzed_09.json | 19 + .../fuzzed_10.json | 19 + .../alternating_hyphen_underscore.json | 19 + .../ends_with_underscore.json | 19 + .../idShortOverPatternExamples/fuzzed_01.json | 19 + .../idShortOverPatternExamples/fuzzed_02.json | 19 + .../idShortOverPatternExamples/fuzzed_03.json | 19 + .../idShortOverPatternExamples/fuzzed_04.json | 19 + .../idShortOverPatternExamples/fuzzed_05.json | 19 + .../idShortOverPatternExamples/fuzzed_06.json | 19 + .../idShortOverPatternExamples/fuzzed_07.json | 19 + .../idShortOverPatternExamples/fuzzed_08.json | 19 + .../idShortOverPatternExamples/fuzzed_09.json | 19 + .../idShortOverPatternExamples/fuzzed_10.json | 19 + .../hyphen_then_underscore.json | 19 + .../many_internal_hyphens.json | 19 + .../many_underscores.json | 19 + .../minimal_digit.json | 19 + .../minimal_lower.json | 19 + .../minimal_underscore.json | 19 + .../minimal_upper.json | 19 + .../single_internal_hyphen.json | 19 + .../underscore_after_first.json | 19 + .../fuzzed_01.json | 19 + .../fuzzed_02.json | 19 + .../fuzzed_03.json | 19 + .../midnight_with_24_hours.json | 19 + .../midnight_with_zeros.json | 19 + .../minus_zero_offset.json | 19 + .../plus_zero_offset.json | 19 + .../random_positive.json | 19 + .../very_large_year.json | 19 + .../very_long_fractional_second.json | 19 + .../year_1_bce_is_a_leap_year.json | 19 + .../year_5_bce_is_a_leap_year.json | 19 + .../day_seconds.json | 19 + .../maxIntervalOverPatternExamples/full.json | 19 + .../fuzzed_01.json | 19 + .../fuzzed_02.json | 19 + .../fuzzed_03.json | 19 + .../fuzzed_04.json | 19 + .../fuzzed_05.json | 19 + .../fuzzed_06.json | 19 + .../fuzzed_07.json | 19 + .../fuzzed_08.json | 19 + .../fuzzed_09.json | 19 + .../fuzzed_10.json | 19 + .../long_second_fractal.json | 19 + .../many_many_seconds.json | 19 + .../month_seconds.json | 19 + .../only_seconds.json | 19 + .../only_year.json | 19 + .../Expected/BasicEventElement/maximal.json | 171 + .../fuzzed_01.json | 19 + .../fuzzed_02.json | 19 + .../fuzzed_03.json | 19 + .../fuzzed_04.json | 19 + .../fuzzed_05.json | 19 + .../fuzzed_06.json | 19 + .../fuzzed_07.json | 19 + .../fuzzed_08.json | 19 + .../fuzzed_09.json | 19 + .../fuzzed_10.json | 19 + .../day_seconds.json | 19 + .../minIntervalOverPatternExamples/full.json | 19 + .../fuzzed_01.json | 19 + .../fuzzed_02.json | 19 + .../fuzzed_03.json | 19 + .../fuzzed_04.json | 19 + .../fuzzed_05.json | 19 + .../fuzzed_06.json | 19 + .../fuzzed_07.json | 19 + .../fuzzed_08.json | 19 + .../fuzzed_09.json | 19 + .../fuzzed_10.json | 19 + .../long_second_fractal.json | 19 + .../many_many_seconds.json | 19 + .../month_seconds.json | 19 + .../only_seconds.json | 19 + .../only_year.json | 19 + .../Expected/BasicEventElement/minimal.json | 18 + .../fuzzed_01.json | 4 + .../fuzzed_02.json | 4 + .../fuzzed_03.json | 4 + .../fuzzed_04.json | 4 + .../fuzzed_05.json | 4 + .../fuzzed_06.json | 4 + .../fuzzed_07.json | 4 + .../fuzzed_08.json | 4 + .../fuzzed_09.json | 4 + .../fuzzed_10.json | 4 + .../contentTypeOverPatternExamples/dash.json | 4 + .../contentTypeOverPatternExamples/dots.json | 4 + .../fuzzed_01.json | 4 + .../fuzzed_02.json | 4 + .../fuzzed_03.json | 4 + .../number prefix and suffix.json | 4 + .../only_letters.json | 4 + .../contentTypeOverPatternExamples/plus.json | 4 + .../random_common_MIME_type.json | 4 + .../alternating_hyphen_underscore.json | 4 + .../ends_with_underscore.json | 4 + .../idShortOverPatternExamples/fuzzed_01.json | 4 + .../idShortOverPatternExamples/fuzzed_02.json | 4 + .../idShortOverPatternExamples/fuzzed_03.json | 4 + .../idShortOverPatternExamples/fuzzed_04.json | 4 + .../idShortOverPatternExamples/fuzzed_05.json | 4 + .../idShortOverPatternExamples/fuzzed_06.json | 4 + .../idShortOverPatternExamples/fuzzed_07.json | 4 + .../idShortOverPatternExamples/fuzzed_08.json | 4 + .../idShortOverPatternExamples/fuzzed_09.json | 4 + .../idShortOverPatternExamples/fuzzed_10.json | 4 + .../hyphen_then_underscore.json | 4 + .../many_internal_hyphens.json | 4 + .../many_underscores.json | 4 + .../minimal_digit.json | 4 + .../minimal_lower.json | 4 + .../minimal_underscore.json | 4 + .../minimal_upper.json | 4 + .../single_internal_hyphen.json | 4 + .../underscore_after_first.json | 4 + dev/test_data/Json/Expected/Blob/maximal.json | 141 + dev/test_data/Json/Expected/Blob/minimal.json | 3 + .../fuzzed_01.json | 4 + .../fuzzed_02.json | 4 + .../fuzzed_03.json | 4 + .../fuzzed_04.json | 4 + .../fuzzed_05.json | 4 + .../fuzzed_06.json | 4 + .../fuzzed_07.json | 4 + .../fuzzed_08.json | 4 + .../fuzzed_09.json | 4 + .../fuzzed_10.json | 4 + .../alternating_hyphen_underscore.json | 4 + .../ends_with_underscore.json | 4 + .../idShortOverPatternExamples/fuzzed_01.json | 4 + .../idShortOverPatternExamples/fuzzed_02.json | 4 + .../idShortOverPatternExamples/fuzzed_03.json | 4 + .../idShortOverPatternExamples/fuzzed_04.json | 4 + .../idShortOverPatternExamples/fuzzed_05.json | 4 + .../idShortOverPatternExamples/fuzzed_06.json | 4 + .../idShortOverPatternExamples/fuzzed_07.json | 4 + .../idShortOverPatternExamples/fuzzed_08.json | 4 + .../idShortOverPatternExamples/fuzzed_09.json | 4 + .../idShortOverPatternExamples/fuzzed_10.json | 4 + .../hyphen_then_underscore.json | 4 + .../many_internal_hyphens.json | 4 + .../many_underscores.json | 4 + .../minimal_digit.json | 4 + .../minimal_lower.json | 4 + .../minimal_underscore.json | 4 + .../minimal_upper.json | 4 + .../single_internal_hyphen.json | 4 + .../underscore_after_first.json | 4 + .../Json/Expected/Capability/maximal.json | 139 + .../Json/Expected/Capability/minimal.json | 3 + .../fuzzed_01.json | 5 + .../fuzzed_02.json | 5 + .../fuzzed_03.json | 5 + .../fuzzed_04.json | 5 + .../fuzzed_05.json | 5 + .../fuzzed_06.json | 5 + .../fuzzed_07.json | 5 + .../fuzzed_08.json | 5 + .../fuzzed_09.json | 5 + .../fuzzed_10.json | 5 + .../idOverPatternExamples/fuzzed_01.json | 4 + .../idOverPatternExamples/fuzzed_02.json | 4 + .../idOverPatternExamples/fuzzed_03.json | 4 + .../idOverPatternExamples/fuzzed_04.json | 4 + .../idOverPatternExamples/fuzzed_05.json | 4 + .../idOverPatternExamples/fuzzed_06.json | 4 + .../idOverPatternExamples/fuzzed_07.json | 4 + .../idOverPatternExamples/fuzzed_08.json | 4 + .../idOverPatternExamples/fuzzed_09.json | 4 + .../idOverPatternExamples/fuzzed_10.json | 4 + .../alternating_hyphen_underscore.json | 5 + .../ends_with_underscore.json | 5 + .../idShortOverPatternExamples/fuzzed_01.json | 5 + .../idShortOverPatternExamples/fuzzed_02.json | 5 + .../idShortOverPatternExamples/fuzzed_03.json | 5 + .../idShortOverPatternExamples/fuzzed_04.json | 5 + .../idShortOverPatternExamples/fuzzed_05.json | 5 + .../idShortOverPatternExamples/fuzzed_06.json | 5 + .../idShortOverPatternExamples/fuzzed_07.json | 5 + .../idShortOverPatternExamples/fuzzed_08.json | 5 + .../idShortOverPatternExamples/fuzzed_09.json | 5 + .../idShortOverPatternExamples/fuzzed_10.json | 5 + .../hyphen_then_underscore.json | 5 + .../many_internal_hyphens.json | 5 + .../many_underscores.json | 5 + .../minimal_digit.json | 5 + .../minimal_lower.json | 5 + .../minimal_underscore.json | 5 + .../minimal_upper.json | 5 + .../single_internal_hyphen.json | 5 + .../underscore_after_first.json | 5 + .../Expected/ConceptDescription/maximal.json | 112 + .../Expected/ConceptDescription/minimal.json | 4 + .../DataSpecificationIec61360/maximal.json | 42 + .../DataSpecificationIec61360/minimal.json | 9 + .../fuzzed_01.json | 10 + .../fuzzed_02.json | 10 + .../fuzzed_03.json | 10 + .../fuzzed_04.json | 10 + .../fuzzed_05.json | 10 + .../fuzzed_06.json | 10 + .../fuzzed_07.json | 10 + .../fuzzed_08.json | 10 + .../fuzzed_09.json | 10 + .../fuzzed_10.json | 10 + .../symbolOverPatternExamples/fuzzed_01.json | 10 + .../symbolOverPatternExamples/fuzzed_02.json | 10 + .../symbolOverPatternExamples/fuzzed_03.json | 10 + .../symbolOverPatternExamples/fuzzed_04.json | 10 + .../symbolOverPatternExamples/fuzzed_05.json | 10 + .../symbolOverPatternExamples/fuzzed_06.json | 10 + .../symbolOverPatternExamples/fuzzed_07.json | 10 + .../symbolOverPatternExamples/fuzzed_08.json | 10 + .../symbolOverPatternExamples/fuzzed_09.json | 10 + .../symbolOverPatternExamples/fuzzed_10.json | 10 + .../unitOverPatternExamples/fuzzed_01.json | 10 + .../unitOverPatternExamples/fuzzed_02.json | 10 + .../unitOverPatternExamples/fuzzed_03.json | 10 + .../unitOverPatternExamples/fuzzed_04.json | 10 + .../unitOverPatternExamples/fuzzed_05.json | 10 + .../unitOverPatternExamples/fuzzed_06.json | 10 + .../unitOverPatternExamples/fuzzed_07.json | 10 + .../unitOverPatternExamples/fuzzed_08.json | 10 + .../unitOverPatternExamples/fuzzed_09.json | 10 + .../unitOverPatternExamples/fuzzed_10.json | 10 + .../fuzzed_01.json | 10 + .../fuzzed_02.json | 10 + .../fuzzed_03.json | 10 + .../fuzzed_04.json | 10 + .../fuzzed_05.json | 10 + .../fuzzed_06.json | 10 + .../fuzzed_07.json | 10 + .../fuzzed_08.json | 10 + .../fuzzed_09.json | 10 + .../fuzzed_10.json | 10 + .../valueOverPatternExamples/fuzzed_01.json | 10 + .../valueOverPatternExamples/fuzzed_02.json | 10 + .../valueOverPatternExamples/fuzzed_03.json | 10 + .../valueOverPatternExamples/fuzzed_04.json | 10 + .../valueOverPatternExamples/fuzzed_05.json | 10 + .../valueOverPatternExamples/fuzzed_06.json | 10 + .../valueOverPatternExamples/fuzzed_07.json | 10 + .../valueOverPatternExamples/fuzzed_08.json | 10 + .../valueOverPatternExamples/fuzzed_09.json | 10 + .../valueOverPatternExamples/fuzzed_10.json | 10 + .../EmbeddedDataSpecification/maximal.json | 24 + .../EmbeddedDataSpecification/minimal.json | 20 + .../fuzzed_01.json | 4 + .../fuzzed_02.json | 4 + .../fuzzed_03.json | 4 + .../fuzzed_04.json | 4 + .../fuzzed_05.json | 4 + .../fuzzed_06.json | 4 + .../fuzzed_07.json | 4 + .../fuzzed_08.json | 4 + .../fuzzed_09.json | 4 + .../fuzzed_10.json | 4 + .../fuzzed_01.json | 4 + .../fuzzed_02.json | 4 + .../fuzzed_03.json | 4 + .../fuzzed_04.json | 4 + .../fuzzed_05.json | 4 + .../fuzzed_06.json | 4 + .../fuzzed_07.json | 4 + .../fuzzed_08.json | 4 + .../fuzzed_09.json | 4 + .../fuzzed_10.json | 4 + .../alternating_hyphen_underscore.json | 4 + .../ends_with_underscore.json | 4 + .../idShortOverPatternExamples/fuzzed_01.json | 4 + .../idShortOverPatternExamples/fuzzed_02.json | 4 + .../idShortOverPatternExamples/fuzzed_03.json | 4 + .../idShortOverPatternExamples/fuzzed_04.json | 4 + .../idShortOverPatternExamples/fuzzed_05.json | 4 + .../idShortOverPatternExamples/fuzzed_06.json | 4 + .../idShortOverPatternExamples/fuzzed_07.json | 4 + .../idShortOverPatternExamples/fuzzed_08.json | 4 + .../idShortOverPatternExamples/fuzzed_09.json | 4 + .../idShortOverPatternExamples/fuzzed_10.json | 4 + .../hyphen_then_underscore.json | 4 + .../many_internal_hyphens.json | 4 + .../many_underscores.json | 4 + .../minimal_digit.json | 4 + .../minimal_lower.json | 4 + .../minimal_underscore.json | 4 + .../minimal_upper.json | 4 + .../single_internal_hyphen.json | 4 + .../underscore_after_first.json | 4 + .../Json/Expected/Entity/maximal.json | 161 + .../Json/Expected/Entity/minimal.json | 3 + .../Json/Expected/Environment/maximal.json | 32 + .../Json/Expected/Environment/minimal.json | 1 + .../Json/Expected/EventPayload/maximal.json | 54 + .../Json/Expected/EventPayload/minimal.json | 25 + .../fuzzed_01.json | 25 + .../fuzzed_02.json | 25 + .../fuzzed_03.json | 25 + .../midnight_with_24_hours.json | 25 + .../midnight_with_zeros.json | 25 + .../minus_zero_offset.json | 25 + .../plus_zero_offset.json | 25 + .../random_positive.json | 25 + .../very_large_year.json | 25 + .../very_long_fractional_second.json | 25 + .../year_1_bce_is_a_leap_year.json | 25 + .../year_5_bce_is_a_leap_year.json | 25 + .../topicOverPatternExamples/fuzzed_01.json | 26 + .../topicOverPatternExamples/fuzzed_02.json | 26 + .../topicOverPatternExamples/fuzzed_03.json | 26 + .../topicOverPatternExamples/fuzzed_04.json | 26 + .../topicOverPatternExamples/fuzzed_05.json | 26 + .../topicOverPatternExamples/fuzzed_06.json | 26 + .../topicOverPatternExamples/fuzzed_07.json | 26 + .../topicOverPatternExamples/fuzzed_08.json | 26 + .../topicOverPatternExamples/fuzzed_09.json | 26 + .../topicOverPatternExamples/fuzzed_10.json | 26 + .../Json/Expected/Extension/maximal.json | 63 + .../Json/Expected/Extension/minimal.json | 3 + .../nameOverPatternExamples/fuzzed_01.json | 3 + .../nameOverPatternExamples/fuzzed_02.json | 3 + .../nameOverPatternExamples/fuzzed_03.json | 3 + .../nameOverPatternExamples/fuzzed_04.json | 3 + .../nameOverPatternExamples/fuzzed_05.json | 3 + .../nameOverPatternExamples/fuzzed_06.json | 3 + .../nameOverPatternExamples/fuzzed_07.json | 3 + .../nameOverPatternExamples/fuzzed_08.json | 3 + .../nameOverPatternExamples/fuzzed_09.json | 3 + .../nameOverPatternExamples/fuzzed_10.json | 3 + .../valueOverValueExamples/Any_URI_URI.json | 5 + .../Any_URI_absolute_path_without_scheme.json | 5 + .../valueOverValueExamples/Any_URI_empty.json | 5 + .../Any_URI_fuzzed_01.json | 5 + .../Any_URI_fuzzed_02.json | 5 + .../Any_URI_fuzzed_03.json | 5 + .../Any_URI_fuzzed_04.json | 5 + .../Any_URI_fuzzed_05.json | 5 + .../Any_URI_fuzzed_06.json | 5 + .../Any_URI_fuzzed_07.json | 5 + .../Any_URI_fuzzed_08.json | 5 + .../Any_URI_fuzzed_09.json | 5 + .../Any_URI_fuzzed_10.json | 5 + .../Any_URI_integer.json | 5 + .../Any_URI_relative_path_without_scheme.json | 5 + ...ase_64_binary_an_empty_value_is_valid.json | 5 + ...ary_equals_signs_are_used_for_padding.json | 5 + .../Base_64_binary_fuzzed_01.json | 5 + .../Base_64_binary_fuzzed_02.json | 5 + .../Base_64_binary_fuzzed_03.json | 5 + .../Base_64_binary_fuzzed_04.json | 5 + .../Base_64_binary_fuzzed_05.json | 5 + .../Base_64_binary_fuzzed_06.json | 5 + .../Base_64_binary_fuzzed_07.json | 5 + .../Base_64_binary_fuzzed_08.json | 5 + .../Base_64_binary_fuzzed_09.json | 5 + .../Base_64_binary_fuzzed_10.json | 5 + ...pace_is_allowed_anywhere_in_the_value.json | 5 + ...ase_64_binary_without_space_lowercase.json | 5 + ...ase_64_binary_without_space_uppercase.json | 5 + .../Boolean_false_as_number.json | 5 + .../Boolean_false_in_letters.json | 5 + .../Boolean_true_as_number.json | 5 + .../Boolean_true_in_letters.json | 5 + .../Byte_common_example.json | 5 + .../Byte_explicitly_positive.json | 5 + .../Byte_fuzzed_01.json | 5 + .../Byte_fuzzed_02.json | 5 + .../Byte_fuzzed_03.json | 5 + .../Byte_fuzzed_04.json | 5 + .../Byte_fuzzed_05.json | 5 + .../Byte_fuzzed_06.json | 5 + .../Byte_fuzzed_07.json | 5 + .../Byte_fuzzed_08.json | 5 + .../Byte_fuzzed_09.json | 5 + .../Byte_fuzzed_10.json | 5 + .../valueOverValueExamples/Byte_max.json | 5 + .../valueOverValueExamples/Byte_min.json | 5 + .../valueOverValueExamples/Byte_negative.json | 5 + .../Byte_prefixed_with_zeros.json | 5 + .../valueOverValueExamples/Byte_zero.json | 5 + .../Byte_zero_prefixed_with_zeros.json | 5 + .../valueOverValueExamples/Date_date.json | 5 + .../Date_date_with_large_negative_year.json | 5 + .../Date_date_with_large_positive_year.json | 5 + .../Date_date_with_negative_offset.json | 5 + .../Date_date_with_positive_offset.json | 5 + .../Date_date_with_utc.json | 5 + .../Date_date_with_zero_offset.json | 5 + .../Date_fuzzed_01.json | 5 + .../Date_fuzzed_02.json | 5 + .../Date_fuzzed_03.json | 5 + .../Date_fuzzed_04.json | 5 + .../Date_fuzzed_05.json | 5 + .../Date_fuzzed_06.json | 5 + .../Date_fuzzed_07.json | 5 + .../Date_fuzzed_08.json | 5 + .../Date_fuzzed_09.json | 5 + .../Date_fuzzed_10.json | 5 + .../Date_time_date_time_with_UTC.json | 5 + ...me_date_time_with_large_negative_year.json | 5 + ...me_date_time_with_large_positive_year.json | 5 + ...ate_time_with_long_fractional_seconds.json | 5 + ...e_time_date_time_with_negative_offset.json | 5 + ...e_time_date_time_with_positive_offset.json | 5 + .../Date_time_date_time_with_zero_offset.json | 5 + .../Date_time_date_time_without_zone.json | 5 + .../Date_time_fuzzed_01.json | 5 + .../Date_time_fuzzed_02.json | 5 + .../Date_time_fuzzed_03.json | 5 + .../Date_time_fuzzed_04.json | 5 + .../Date_time_fuzzed_05.json | 5 + .../Date_time_fuzzed_06.json | 5 + .../Date_time_fuzzed_07.json | 5 + .../Date_time_fuzzed_08.json | 5 + .../Date_time_fuzzed_09.json | 5 + .../Date_time_fuzzed_10.json | 5 + .../Date_time_midnight_with_24_hours.json | 5 + .../Date_time_midnight_with_zeros.json | 5 + .../Date_time_year_1_bce_is_a_leap_year.json | 5 + .../Date_time_year_5_bce_is_a_leap_year.json | 5 + .../Date_year_1_bce_is_a_leap_year.json | 5 + .../Date_year_5_bce_is_a_leap_year.json | 5 + .../Decimal_decimal.json | 5 + .../Decimal_decimal_with_long_fractional.json | 5 + .../Decimal_decimal_with_preceding_zeros.json | 5 + .../Decimal_fuzzed_01.json | 5 + .../Decimal_fuzzed_02.json | 5 + .../Decimal_fuzzed_03.json | 5 + .../Decimal_fuzzed_04.json | 5 + .../Decimal_fuzzed_05.json | 5 + .../Decimal_fuzzed_06.json | 5 + .../Decimal_fuzzed_07.json | 5 + .../Decimal_fuzzed_08.json | 5 + .../Decimal_fuzzed_09.json | 5 + .../Decimal_fuzzed_10.json | 5 + .../Decimal_integer.json | 5 + .../Decimal_integer_with_preceding_zeros.json | 5 + .../Decimal_very_large_decimal.json | 5 + .../valueOverValueExamples/Double_double.json | 5 + .../Double_fuzzed_01.json | 5 + .../Double_fuzzed_02.json | 5 + .../Double_fuzzed_03.json | 5 + .../Double_fuzzed_04.json | 5 + .../Double_fuzzed_05.json | 5 + .../Double_fuzzed_06.json | 5 + .../Double_fuzzed_07.json | 5 + .../Double_fuzzed_08.json | 5 + .../Double_fuzzed_09.json | 5 + .../Double_fuzzed_10.json | 5 + .../valueOverValueExamples/Double_inf.json | 5 + .../Double_integer.json | 5 + .../Double_integer_with_preceding_zeros.json | 5 + ...f_precision_is_not_detected_by_design.json | 5 + .../valueOverValueExamples/Double_lowest.json | 5 + .../valueOverValueExamples/Double_max.json | 5 + .../Double_minus_inf.json | 5 + .../valueOverValueExamples/Double_nan.json | 5 + .../Double_scientific_notation.json | 5 + .../Double_scientific_notation_negative.json | 5 + ...scientific_notation_negative_exponent.json | 5 + .../Double_scientific_notation_positive.json | 5 + ...scientific_notation_positive_exponent.json | 5 + .../Double_very_large_normal.json | 5 + .../Double_very_precise_subnormal.json | 5 + .../Double_with_preceding_zeros.json | 5 + .../Duration_day_seconds.json | 5 + .../valueOverValueExamples/Duration_full.json | 5 + .../Duration_fuzzed_01.json | 5 + .../Duration_fuzzed_02.json | 5 + .../Duration_fuzzed_03.json | 5 + .../Duration_fuzzed_04.json | 5 + .../Duration_fuzzed_05.json | 5 + .../Duration_fuzzed_06.json | 5 + .../Duration_fuzzed_07.json | 5 + .../Duration_fuzzed_08.json | 5 + .../Duration_fuzzed_09.json | 5 + .../Duration_fuzzed_10.json | 5 + .../Duration_long_second_fractal.json | 5 + .../Duration_many_many_seconds.json | 5 + .../Duration_month_seconds.json | 5 + .../Duration_only_seconds.json | 5 + .../Duration_only_year.json | 5 + .../valueOverValueExamples/Float_float.json | 5 + .../Float_fuzzed_01.json | 5 + .../Float_fuzzed_02.json | 5 + .../Float_fuzzed_03.json | 5 + .../Float_fuzzed_04.json | 5 + .../Float_fuzzed_05.json | 5 + .../Float_fuzzed_06.json | 5 + .../Float_fuzzed_07.json | 5 + .../Float_fuzzed_08.json | 5 + .../Float_fuzzed_09.json | 5 + .../Float_fuzzed_10.json | 5 + .../valueOverValueExamples/Float_inf.json | 5 + .../valueOverValueExamples/Float_integer.json | 5 + .../Float_integer_with_preceding_zeros.json | 5 + .../Float_largest_normal.json | 5 + .../Float_largest_number_less_than_one.json | 5 + .../Float_largest_subnormal.json | 5 + ...f_precision_is_not_detected_by_design.json | 5 + .../valueOverValueExamples/Float_nan.json | 5 + .../Float_negative_inf.json | 5 + .../Float_scientific_notation.json | 5 + .../Float_scientific_notation_negative.json | 5 + ...scientific_notation_negative_exponent.json | 5 + .../Float_scientific_notation_positive.json | 5 + ...scientific_notation_positive_exponent.json | 5 + ...Float_smallest_number_larger_than_one.json | 5 + .../Float_smallest_positive_normal.json | 5 + .../Float_smallest_positive_subnormal.json | 5 + .../Float_with_preceding_zeros.json | 5 + ...t_existing_in_all_months_without_zone.json | 5 + .../G_day_double_digit_day_without_zone.json | 5 + .../G_day_fuzzed_01.json | 5 + .../G_day_fuzzed_02.json | 5 + .../G_day_fuzzed_03.json | 5 + .../G_day_fuzzed_04.json | 5 + .../G_day_fuzzed_05.json | 5 + .../G_day_fuzzed_06.json | 5 + .../G_day_fuzzed_07.json | 5 + .../G_day_fuzzed_08.json | 5 + .../G_day_fuzzed_09.json | 5 + .../G_day_fuzzed_10.json | 5 + .../G_day_negative_offset.json | 5 + .../G_day_positive_offset.json | 5 + .../G_day_single_digit_day_without_zone.json | 5 + .../G_day_utc_zone.json | 5 + .../G_day_zero_offset.json | 5 + ...t_month_double_digit_day_without_zone.json | 5 + ...t_month_single_digit_day_without_zone.json | 5 + ...9th_which_does_not_exist_in_all_years.json | 5 + .../G_month_day_fuzzed_01.json | 5 + .../G_month_day_fuzzed_02.json | 5 + .../G_month_day_fuzzed_03.json | 5 + .../G_month_day_fuzzed_04.json | 5 + .../G_month_day_fuzzed_05.json | 5 + .../G_month_day_fuzzed_06.json | 5 + .../G_month_day_fuzzed_07.json | 5 + .../G_month_day_fuzzed_08.json | 5 + .../G_month_day_fuzzed_09.json | 5 + .../G_month_day_fuzzed_10.json | 5 + .../G_month_day_negative_offset.json | 5 + .../G_month_day_positive_offset.json | 5 + ...t_month_single_digit_day_without_zone.json | 5 + .../G_month_day_utc_zone.json | 5 + .../G_month_day_zero_offset.json | 5 + ...month_double_digit_month_without_zone.json | 5 + .../G_month_fuzzed_01.json | 5 + .../G_month_fuzzed_02.json | 5 + .../G_month_fuzzed_03.json | 5 + .../G_month_fuzzed_04.json | 5 + .../G_month_fuzzed_05.json | 5 + .../G_month_fuzzed_06.json | 5 + .../G_month_fuzzed_07.json | 5 + .../G_month_fuzzed_08.json | 5 + .../G_month_fuzzed_09.json | 5 + .../G_month_fuzzed_10.json | 5 + .../G_month_negative_offset.json | 5 + .../G_month_positive_offset.json | 5 + ...month_single_digit_month_without_zone.json | 5 + .../G_month_utc_zone.json | 5 + .../G_month_zero_offset.json | 5 + .../G_year_five_digit_negative_year.json | 5 + .../G_year_five_digit_year.json | 5 + .../G_year_fuzzed_01.json | 5 + .../G_year_fuzzed_02.json | 5 + .../G_year_fuzzed_03.json | 5 + .../G_year_fuzzed_04.json | 5 + .../G_year_fuzzed_05.json | 5 + .../G_year_fuzzed_06.json | 5 + .../G_year_fuzzed_07.json | 5 + .../G_year_fuzzed_08.json | 5 + .../G_year_fuzzed_09.json | 5 + .../G_year_fuzzed_10.json | 5 + .../G_year_month_common_year_month.json | 5 + ...G_year_month_five_digit_negative_year.json | 5 + .../G_year_month_fuzzed_01.json | 5 + .../G_year_month_fuzzed_02.json | 5 + .../G_year_month_fuzzed_03.json | 5 + .../G_year_month_fuzzed_04.json | 5 + .../G_year_month_fuzzed_05.json | 5 + .../G_year_month_fuzzed_06.json | 5 + .../G_year_month_fuzzed_07.json | 5 + .../G_year_month_fuzzed_08.json | 5 + .../G_year_month_fuzzed_09.json | 5 + .../G_year_month_fuzzed_10.json | 5 + .../G_year_month_negative_year.json | 5 + ...G_year_month_very_large_negative_year.json | 5 + ...G_year_month_very_large_positive_year.json | 5 + .../G_year_month_with_negative_offset.json | 5 + .../G_year_month_with_positive_offset.json | 5 + .../G_year_month_with_utc_zone.json | 5 + .../G_year_month_with_zero_offset.json | 5 + .../G_year_negative_offset.json | 5 + .../G_year_negative_year.json | 5 + .../G_year_positive_offset.json | 5 + .../G_year_utc_zone.json | 5 + .../G_year_very_large_negative_year.json | 5 + .../G_year_very_large_positive_year.json | 5 + .../G_year_year_without_zone.json | 5 + .../G_year_zero_offset.json | 5 + .../Hex_binary_empty.json | 5 + .../Hex_binary_fuzzed_01.json | 5 + .../Hex_binary_fuzzed_02.json | 5 + .../Hex_binary_fuzzed_03.json | 5 + .../Hex_binary_fuzzed_04.json | 5 + .../Hex_binary_fuzzed_05.json | 5 + .../Hex_binary_fuzzed_06.json | 5 + .../Hex_binary_fuzzed_07.json | 5 + .../Hex_binary_fuzzed_08.json | 5 + .../Hex_binary_fuzzed_09.json | 5 + .../Hex_binary_fuzzed_10.json | 5 + .../Hex_binary_long_random_hex.json | 5 + .../Hex_binary_one_one.json | 5 + .../Hex_binary_one_two.json | 5 + .../Hex_binary_one_two_three_four.json | 5 + .../Int_common_example.json | 5 + .../Int_explicitly_positive.json | 5 + .../valueOverValueExamples/Int_fuzzed_01.json | 5 + .../valueOverValueExamples/Int_fuzzed_02.json | 5 + .../valueOverValueExamples/Int_fuzzed_03.json | 5 + .../valueOverValueExamples/Int_fuzzed_04.json | 5 + .../valueOverValueExamples/Int_fuzzed_05.json | 5 + .../valueOverValueExamples/Int_fuzzed_06.json | 5 + .../valueOverValueExamples/Int_fuzzed_07.json | 5 + .../valueOverValueExamples/Int_fuzzed_08.json | 5 + .../valueOverValueExamples/Int_fuzzed_09.json | 5 + .../valueOverValueExamples/Int_fuzzed_10.json | 5 + .../valueOverValueExamples/Int_max.json | 5 + .../valueOverValueExamples/Int_min.json | 5 + .../valueOverValueExamples/Int_negative.json | 5 + .../Int_prefixed_with_zeros.json | 5 + .../valueOverValueExamples/Int_zero.json | 5 + .../Int_zero_prefixed_with_zeros.json | 5 + .../Integer_common_example.json | 5 + .../Integer_explicitly_positive.json | 5 + .../Integer_fuzzed_01.json | 5 + .../Integer_fuzzed_02.json | 5 + .../Integer_fuzzed_03.json | 5 + .../Integer_fuzzed_04.json | 5 + .../Integer_fuzzed_05.json | 5 + .../Integer_fuzzed_06.json | 5 + .../Integer_fuzzed_07.json | 5 + .../Integer_fuzzed_08.json | 5 + .../Integer_fuzzed_09.json | 5 + .../Integer_fuzzed_10.json | 5 + .../Integer_negative.json | 5 + .../Integer_prefixed_with_zeros.json | 5 + .../Integer_very_large.json | 5 + .../valueOverValueExamples/Integer_zero.json | 5 + .../Integer_zero_prefixed_with_zeros.json | 5 + .../Long_common_example.json | 5 + .../Long_explicitly_positive.json | 5 + .../Long_fuzzed_01.json | 5 + .../Long_fuzzed_02.json | 5 + .../Long_fuzzed_03.json | 5 + .../Long_fuzzed_04.json | 5 + .../Long_fuzzed_05.json | 5 + .../Long_fuzzed_06.json | 5 + .../Long_fuzzed_07.json | 5 + .../Long_fuzzed_08.json | 5 + .../Long_fuzzed_09.json | 5 + .../Long_fuzzed_10.json | 5 + .../valueOverValueExamples/Long_max.json | 5 + .../valueOverValueExamples/Long_min.json | 5 + .../valueOverValueExamples/Long_negative.json | 5 + .../Long_prefixed_with_zeros.json | 5 + .../valueOverValueExamples/Long_zero.json | 5 + .../Long_zero_prefixed_with_zeros.json | 5 + .../Negative_integer_fuzzed_01.json | 5 + .../Negative_integer_fuzzed_02.json | 5 + .../Negative_integer_fuzzed_03.json | 5 + .../Negative_integer_fuzzed_04.json | 5 + .../Negative_integer_fuzzed_05.json | 5 + .../Negative_integer_fuzzed_06.json | 5 + .../Negative_integer_fuzzed_07.json | 5 + .../Negative_integer_fuzzed_08.json | 5 + .../Negative_integer_fuzzed_09.json | 5 + .../Negative_integer_fuzzed_10.json | 5 + .../Negative_integer_negative.json | 5 + .../Negative_integer_prefixed_with_zeros.json | 5 + .../Negative_integer_very_large.json | 5 + .../Non_negative_integer_common_example.json | 5 + ..._negative_integer_explicitly_positive.json | 5 + ...plicitly_positive_prefixed_with_zeros.json | 5 + .../Non_negative_integer_fuzzed_01.json | 5 + .../Non_negative_integer_fuzzed_02.json | 5 + .../Non_negative_integer_fuzzed_03.json | 5 + .../Non_negative_integer_fuzzed_04.json | 5 + .../Non_negative_integer_fuzzed_05.json | 5 + .../Non_negative_integer_fuzzed_06.json | 5 + .../Non_negative_integer_fuzzed_07.json | 5 + .../Non_negative_integer_fuzzed_08.json | 5 + .../Non_negative_integer_fuzzed_09.json | 5 + .../Non_negative_integer_fuzzed_10.json | 5 + .../Non_negative_integer_minus_zero.json | 5 + .../Non_negative_integer_positive_zero.json | 5 + ..._negative_integer_prefixed_with_zeros.json | 5 + .../Non_negative_integer_very_large.json | 5 + .../Non_negative_integer_zero.json | 5 + ...tive_integer_zero_prefixed_with_zeros.json | 5 + ...tive_integer_explicitly_positive_zero.json | 5 + .../Non_positive_integer_fuzzed_01.json | 5 + .../Non_positive_integer_fuzzed_02.json | 5 + .../Non_positive_integer_fuzzed_03.json | 5 + .../Non_positive_integer_fuzzed_04.json | 5 + .../Non_positive_integer_fuzzed_05.json | 5 + .../Non_positive_integer_fuzzed_06.json | 5 + .../Non_positive_integer_fuzzed_07.json | 5 + .../Non_positive_integer_fuzzed_08.json | 5 + .../Non_positive_integer_fuzzed_09.json | 5 + .../Non_positive_integer_fuzzed_10.json | 5 + .../Non_positive_integer_negative.json | 5 + ..._positive_integer_prefixed_with_zeros.json | 5 + .../Non_positive_integer_very_large.json | 5 + .../Non_positive_integer_zero.json | 5 + .../Positive_integer_common_example.json | 5 + .../Positive_integer_explicitly_positive.json | 5 + .../Positive_integer_fuzzed_01.json | 5 + .../Positive_integer_fuzzed_02.json | 5 + .../Positive_integer_fuzzed_03.json | 5 + .../Positive_integer_fuzzed_04.json | 5 + .../Positive_integer_fuzzed_05.json | 5 + .../Positive_integer_fuzzed_06.json | 5 + .../Positive_integer_fuzzed_07.json | 5 + .../Positive_integer_fuzzed_08.json | 5 + .../Positive_integer_fuzzed_09.json | 5 + .../Positive_integer_fuzzed_10.json | 5 + .../Positive_integer_prefixed_with_zeros.json | 5 + .../Positive_integer_very_large.json | 5 + .../Short_common_example.json | 5 + .../Short_explicitly_positive.json | 5 + .../Short_fuzzed_01.json | 5 + .../Short_fuzzed_02.json | 5 + .../Short_fuzzed_03.json | 5 + .../Short_fuzzed_04.json | 5 + .../Short_fuzzed_05.json | 5 + .../Short_fuzzed_06.json | 5 + .../Short_fuzzed_07.json | 5 + .../Short_fuzzed_08.json | 5 + .../Short_fuzzed_09.json | 5 + .../Short_fuzzed_10.json | 5 + .../valueOverValueExamples/Short_max.json | 5 + .../valueOverValueExamples/Short_min.json | 5 + .../Short_negative.json | 5 + .../Short_prefixed_with_zeros.json | 5 + .../valueOverValueExamples/Short_zero.json | 5 + .../Short_zero_prefixed_with_zeros.json | 5 + .../valueOverValueExamples/String_empty.json | 5 + .../String_free_form_text.json | 5 + .../String_fuzzed_01.json | 5 + .../String_fuzzed_02.json | 5 + .../String_fuzzed_03.json | 5 + .../String_fuzzed_04.json | 5 + .../String_fuzzed_05.json | 5 + .../String_fuzzed_06.json | 5 + .../String_fuzzed_07.json | 5 + .../String_fuzzed_08.json | 5 + .../String_fuzzed_09.json | 5 + .../String_fuzzed_10.json | 5 + .../Time_common_example.json | 5 + .../Time_fuzzed_01.json | 5 + .../Time_fuzzed_02.json | 5 + .../Time_fuzzed_03.json | 5 + .../Time_fuzzed_04.json | 5 + .../Time_fuzzed_05.json | 5 + .../Time_fuzzed_06.json | 5 + .../Time_fuzzed_07.json | 5 + .../Time_fuzzed_08.json | 5 + .../Time_fuzzed_09.json | 5 + .../Time_fuzzed_10.json | 5 + .../Time_negative_offset.json | 5 + .../Time_positive_offset.json | 5 + .../Time_with_long_second_fractional.json | 5 + .../Time_with_second_fractional.json | 5 + .../Time_with_utc_timezone.json | 5 + .../Time_zero_offset.json | 5 + .../Unsigned_byte_common_example.json | 5 + .../Unsigned_byte_explicitly_positive.json | 5 + .../Unsigned_byte_fuzzed_01.json | 5 + .../Unsigned_byte_fuzzed_02.json | 5 + .../Unsigned_byte_fuzzed_03.json | 5 + .../Unsigned_byte_fuzzed_04.json | 5 + .../Unsigned_byte_fuzzed_05.json | 5 + .../Unsigned_byte_fuzzed_06.json | 5 + .../Unsigned_byte_fuzzed_07.json | 5 + .../Unsigned_byte_fuzzed_08.json | 5 + .../Unsigned_byte_fuzzed_09.json | 5 + .../Unsigned_byte_fuzzed_10.json | 5 + .../Unsigned_byte_max.json | 5 + .../Unsigned_byte_prefixed_with_zeros.json | 5 + .../Unsigned_byte_zero.json | 5 + ...nsigned_byte_zero_prefixed_with_zeros.json | 5 + .../Unsigned_int_common_example.json | 5 + .../Unsigned_int_explicitly_positive.json | 5 + .../Unsigned_int_fuzzed_01.json | 5 + .../Unsigned_int_fuzzed_02.json | 5 + .../Unsigned_int_fuzzed_03.json | 5 + .../Unsigned_int_fuzzed_04.json | 5 + .../Unsigned_int_fuzzed_05.json | 5 + .../Unsigned_int_fuzzed_06.json | 5 + .../Unsigned_int_fuzzed_07.json | 5 + .../Unsigned_int_fuzzed_08.json | 5 + .../Unsigned_int_fuzzed_09.json | 5 + .../Unsigned_int_fuzzed_10.json | 5 + .../Unsigned_int_max.json | 5 + .../Unsigned_int_prefixed_with_zeros.json | 5 + .../Unsigned_int_zero.json | 5 + ...Unsigned_int_zero_prefixed_with_zeros.json | 5 + .../Unsigned_long_common_example.json | 5 + .../Unsigned_long_explicitly_positive.json | 5 + .../Unsigned_long_fuzzed_01.json | 5 + .../Unsigned_long_fuzzed_02.json | 5 + .../Unsigned_long_fuzzed_03.json | 5 + .../Unsigned_long_fuzzed_04.json | 5 + .../Unsigned_long_fuzzed_05.json | 5 + .../Unsigned_long_fuzzed_06.json | 5 + .../Unsigned_long_fuzzed_07.json | 5 + .../Unsigned_long_fuzzed_08.json | 5 + .../Unsigned_long_fuzzed_09.json | 5 + .../Unsigned_long_fuzzed_10.json | 5 + .../Unsigned_long_max.json | 5 + .../Unsigned_long_prefixed_with_zeros.json | 5 + .../Unsigned_long_zero.json | 5 + ...nsigned_long_zero_prefixed_with_zeros.json | 5 + .../Unsigned_short_common_example.json | 5 + .../Unsigned_short_explicitly_positive.json | 5 + .../Unsigned_short_fuzzed_01.json | 5 + .../Unsigned_short_fuzzed_02.json | 5 + .../Unsigned_short_fuzzed_03.json | 5 + .../Unsigned_short_fuzzed_04.json | 5 + .../Unsigned_short_fuzzed_05.json | 5 + .../Unsigned_short_fuzzed_06.json | 5 + .../Unsigned_short_fuzzed_07.json | 5 + .../Unsigned_short_fuzzed_08.json | 5 + .../Unsigned_short_fuzzed_09.json | 5 + .../Unsigned_short_fuzzed_10.json | 5 + .../Unsigned_short_max.json | 5 + .../Unsigned_short_prefixed_with_zeros.json | 5 + .../Unsigned_short_zero.json | 5 + ...signed_short_zero_prefixed_with_zeros.json | 5 + .../fuzzed_01.json | 4 + .../fuzzed_02.json | 4 + .../fuzzed_03.json | 4 + .../fuzzed_04.json | 4 + .../fuzzed_05.json | 4 + .../fuzzed_06.json | 4 + .../fuzzed_07.json | 4 + .../fuzzed_08.json | 4 + .../fuzzed_09.json | 4 + .../fuzzed_10.json | 4 + .../contentTypeOverPatternExamples/dash.json | 4 + .../contentTypeOverPatternExamples/dots.json | 4 + .../fuzzed_01.json | 4 + .../fuzzed_02.json | 4 + .../fuzzed_03.json | 4 + .../number prefix and suffix.json | 4 + .../only_letters.json | 4 + .../contentTypeOverPatternExamples/plus.json | 4 + .../random_common_MIME_type.json | 4 + .../alternating_hyphen_underscore.json | 4 + .../ends_with_underscore.json | 4 + .../idShortOverPatternExamples/fuzzed_01.json | 4 + .../idShortOverPatternExamples/fuzzed_02.json | 4 + .../idShortOverPatternExamples/fuzzed_03.json | 4 + .../idShortOverPatternExamples/fuzzed_04.json | 4 + .../idShortOverPatternExamples/fuzzed_05.json | 4 + .../idShortOverPatternExamples/fuzzed_06.json | 4 + .../idShortOverPatternExamples/fuzzed_07.json | 4 + .../idShortOverPatternExamples/fuzzed_08.json | 4 + .../idShortOverPatternExamples/fuzzed_09.json | 4 + .../idShortOverPatternExamples/fuzzed_10.json | 4 + .../hyphen_then_underscore.json | 4 + .../many_internal_hyphens.json | 4 + .../many_underscores.json | 4 + .../minimal_digit.json | 4 + .../minimal_lower.json | 4 + .../minimal_underscore.json | 4 + .../minimal_upper.json | 4 + .../single_internal_hyphen.json | 4 + .../underscore_after_first.json | 4 + dev/test_data/Json/Expected/File/maximal.json | 141 + dev/test_data/Json/Expected/File/minimal.json | 3 + .../valueOverPatternExamples/fuzzed_01.json | 4 + .../valueOverPatternExamples/fuzzed_02.json | 4 + .../valueOverPatternExamples/fuzzed_03.json | 4 + .../valueOverPatternExamples/fuzzed_04.json | 4 + .../valueOverPatternExamples/fuzzed_05.json | 4 + .../valueOverPatternExamples/fuzzed_06.json | 4 + .../valueOverPatternExamples/fuzzed_07.json | 4 + .../valueOverPatternExamples/fuzzed_08.json | 4 + .../valueOverPatternExamples/fuzzed_09.json | 4 + .../valueOverPatternExamples/fuzzed_10.json | 4 + .../valueOverPatternExamples/made_up_01.json | 4 + .../valueOverPatternExamples/made_up_02.json | 4 + .../valueOverPatternExamples/made_up_03.json | 4 + .../valueOverPatternExamples/made_up_04.json | 4 + .../valueOverPatternExamples/made_up_05.json | 4 + dev/test_data/Json/Expected/Key/maximal.json | 4 + dev/test_data/Json/Expected/Key/minimal.json | 4 + .../valueOverPatternExamples/fuzzed_01.json | 4 + .../valueOverPatternExamples/fuzzed_02.json | 4 + .../valueOverPatternExamples/fuzzed_03.json | 4 + .../valueOverPatternExamples/fuzzed_04.json | 4 + .../valueOverPatternExamples/fuzzed_05.json | 4 + .../valueOverPatternExamples/fuzzed_06.json | 4 + .../valueOverPatternExamples/fuzzed_07.json | 4 + .../valueOverPatternExamples/fuzzed_08.json | 4 + .../valueOverPatternExamples/fuzzed_09.json | 4 + .../valueOverPatternExamples/fuzzed_10.json | 4 + .../extended_language_subtags_1.json | 4 + .../extended_language_subtags_2.json | 4 + .../extended_language_subtags_3.json | 4 + .../extended_language_subtags_4.json | 4 + .../language_region_1.json | 4 + .../language_region_2.json | 4 + .../language_region_3.json | 4 + .../language_region_variant_1.json | 4 + .../language_region_variant_2.json | 4 + .../language_script_region_1.json | 4 + .../language_script_region_2.json | 4 + .../language_script_region_variant.json | 4 + .../language_subtag_plus_script_subtag_1.json | 4 + .../language_subtag_plus_script_subtag_2.json | 4 + .../language_subtag_plus_script_subtag_3.json | 4 + .../language_subtag_plus_script_subtag_4.json | 4 + .../language_variant_1.json | 4 + .../language_variant_2.json | 4 + .../language_variant_3.json | 4 + .../private_use_registry_values_1.json | 4 + .../private_use_registry_values_2.json | 4 + .../private_use_registry_values_3.json | 4 + .../private_use_registry_values_4.json | 4 + .../private_use_registry_values_5.json | 4 + .../private_use_subtags_1.json | 4 + .../private_use_subtags_2.json | 4 + .../simple_language_subtag_1.json | 4 + .../simple_language_subtag_2.json | 4 + .../simple_language_subtag_3.json | 4 + ...subtag_example_of_a_grandfathered_tag.json | 4 + .../tag_with_extension_1.json | 4 + .../tag_with_extension_2.json | 4 + .../tag_with_extension_3.json | 4 + .../maximal.json | 4 + .../minimal.json | 4 + .../textOverPatternExamples/fuzzed_01.json | 4 + .../textOverPatternExamples/fuzzed_02.json | 4 + .../textOverPatternExamples/fuzzed_03.json | 4 + .../textOverPatternExamples/fuzzed_04.json | 4 + .../textOverPatternExamples/fuzzed_05.json | 4 + .../textOverPatternExamples/fuzzed_06.json | 4 + .../textOverPatternExamples/fuzzed_07.json | 4 + .../textOverPatternExamples/fuzzed_08.json | 4 + .../textOverPatternExamples/fuzzed_09.json | 4 + .../textOverPatternExamples/fuzzed_10.json | 4 + .../extended_language_subtags_1.json | 4 + .../extended_language_subtags_2.json | 4 + .../extended_language_subtags_3.json | 4 + .../extended_language_subtags_4.json | 4 + .../language_region_1.json | 4 + .../language_region_2.json | 4 + .../language_region_3.json | 4 + .../language_region_variant_1.json | 4 + .../language_region_variant_2.json | 4 + .../language_script_region_1.json | 4 + .../language_script_region_2.json | 4 + .../language_script_region_variant.json | 4 + .../language_subtag_plus_script_subtag_1.json | 4 + .../language_subtag_plus_script_subtag_2.json | 4 + .../language_subtag_plus_script_subtag_3.json | 4 + .../language_subtag_plus_script_subtag_4.json | 4 + .../language_variant_1.json | 4 + .../language_variant_2.json | 4 + .../language_variant_3.json | 4 + .../private_use_registry_values_1.json | 4 + .../private_use_registry_values_2.json | 4 + .../private_use_registry_values_3.json | 4 + .../private_use_registry_values_4.json | 4 + .../private_use_registry_values_5.json | 4 + .../private_use_subtags_1.json | 4 + .../private_use_subtags_2.json | 4 + .../simple_language_subtag_1.json | 4 + .../simple_language_subtag_2.json | 4 + .../simple_language_subtag_3.json | 4 + ...subtag_example_of_a_grandfathered_tag.json | 4 + .../tag_with_extension_1.json | 4 + .../tag_with_extension_2.json | 4 + .../tag_with_extension_3.json | 4 + .../Expected/LangStringNameType/maximal.json | 4 + .../Expected/LangStringNameType/minimal.json | 4 + .../textOverPatternExamples/fuzzed_01.json | 4 + .../textOverPatternExamples/fuzzed_02.json | 4 + .../textOverPatternExamples/fuzzed_03.json | 4 + .../textOverPatternExamples/fuzzed_04.json | 4 + .../textOverPatternExamples/fuzzed_05.json | 4 + .../textOverPatternExamples/fuzzed_06.json | 4 + .../textOverPatternExamples/fuzzed_07.json | 4 + .../textOverPatternExamples/fuzzed_08.json | 4 + .../textOverPatternExamples/fuzzed_09.json | 4 + .../textOverPatternExamples/fuzzed_10.json | 4 + .../extended_language_subtags_1.json | 4 + .../extended_language_subtags_2.json | 4 + .../extended_language_subtags_3.json | 4 + .../extended_language_subtags_4.json | 4 + .../language_region_1.json | 4 + .../language_region_2.json | 4 + .../language_region_3.json | 4 + .../language_region_variant_1.json | 4 + .../language_region_variant_2.json | 4 + .../language_script_region_1.json | 4 + .../language_script_region_2.json | 4 + .../language_script_region_variant.json | 4 + .../language_subtag_plus_script_subtag_1.json | 4 + .../language_subtag_plus_script_subtag_2.json | 4 + .../language_subtag_plus_script_subtag_3.json | 4 + .../language_subtag_plus_script_subtag_4.json | 4 + .../language_variant_1.json | 4 + .../language_variant_2.json | 4 + .../language_variant_3.json | 4 + .../private_use_registry_values_1.json | 4 + .../private_use_registry_values_2.json | 4 + .../private_use_registry_values_3.json | 4 + .../private_use_registry_values_4.json | 4 + .../private_use_registry_values_5.json | 4 + .../private_use_subtags_1.json | 4 + .../private_use_subtags_2.json | 4 + .../simple_language_subtag_1.json | 4 + .../simple_language_subtag_2.json | 4 + .../simple_language_subtag_3.json | 4 + ...subtag_example_of_a_grandfathered_tag.json | 4 + .../tag_with_extension_1.json | 4 + .../tag_with_extension_2.json | 4 + .../tag_with_extension_3.json | 4 + .../maximal.json | 4 + .../minimal.json | 4 + .../textOverPatternExamples/fuzzed_01.json | 4 + .../textOverPatternExamples/fuzzed_02.json | 4 + .../textOverPatternExamples/fuzzed_03.json | 4 + .../textOverPatternExamples/fuzzed_04.json | 4 + .../textOverPatternExamples/fuzzed_05.json | 4 + .../textOverPatternExamples/fuzzed_06.json | 4 + .../textOverPatternExamples/fuzzed_07.json | 4 + .../textOverPatternExamples/fuzzed_08.json | 4 + .../textOverPatternExamples/fuzzed_09.json | 4 + .../textOverPatternExamples/fuzzed_10.json | 4 + .../extended_language_subtags_1.json | 4 + .../extended_language_subtags_2.json | 4 + .../extended_language_subtags_3.json | 4 + .../extended_language_subtags_4.json | 4 + .../language_region_1.json | 4 + .../language_region_2.json | 4 + .../language_region_3.json | 4 + .../language_region_variant_1.json | 4 + .../language_region_variant_2.json | 4 + .../language_script_region_1.json | 4 + .../language_script_region_2.json | 4 + .../language_script_region_variant.json | 4 + .../language_subtag_plus_script_subtag_1.json | 4 + .../language_subtag_plus_script_subtag_2.json | 4 + .../language_subtag_plus_script_subtag_3.json | 4 + .../language_subtag_plus_script_subtag_4.json | 4 + .../language_variant_1.json | 4 + .../language_variant_2.json | 4 + .../language_variant_3.json | 4 + .../private_use_registry_values_1.json | 4 + .../private_use_registry_values_2.json | 4 + .../private_use_registry_values_3.json | 4 + .../private_use_registry_values_4.json | 4 + .../private_use_registry_values_5.json | 4 + .../private_use_subtags_1.json | 4 + .../private_use_subtags_2.json | 4 + .../simple_language_subtag_1.json | 4 + .../simple_language_subtag_2.json | 4 + .../simple_language_subtag_3.json | 4 + ...subtag_example_of_a_grandfathered_tag.json | 4 + .../tag_with_extension_1.json | 4 + .../tag_with_extension_2.json | 4 + .../tag_with_extension_3.json | 4 + .../maximal.json | 4 + .../minimal.json | 4 + .../textOverPatternExamples/fuzzed_01.json | 4 + .../textOverPatternExamples/fuzzed_02.json | 4 + .../textOverPatternExamples/fuzzed_03.json | 4 + .../textOverPatternExamples/fuzzed_04.json | 4 + .../textOverPatternExamples/fuzzed_05.json | 4 + .../textOverPatternExamples/fuzzed_06.json | 4 + .../textOverPatternExamples/fuzzed_07.json | 4 + .../textOverPatternExamples/fuzzed_08.json | 4 + .../textOverPatternExamples/fuzzed_09.json | 4 + .../textOverPatternExamples/fuzzed_10.json | 4 + .../extended_language_subtags_1.json | 4 + .../extended_language_subtags_2.json | 4 + .../extended_language_subtags_3.json | 4 + .../extended_language_subtags_4.json | 4 + .../language_region_1.json | 4 + .../language_region_2.json | 4 + .../language_region_3.json | 4 + .../language_region_variant_1.json | 4 + .../language_region_variant_2.json | 4 + .../language_script_region_1.json | 4 + .../language_script_region_2.json | 4 + .../language_script_region_variant.json | 4 + .../language_subtag_plus_script_subtag_1.json | 4 + .../language_subtag_plus_script_subtag_2.json | 4 + .../language_subtag_plus_script_subtag_3.json | 4 + .../language_subtag_plus_script_subtag_4.json | 4 + .../language_variant_1.json | 4 + .../language_variant_2.json | 4 + .../language_variant_3.json | 4 + .../private_use_registry_values_1.json | 4 + .../private_use_registry_values_2.json | 4 + .../private_use_registry_values_3.json | 4 + .../private_use_registry_values_4.json | 4 + .../private_use_registry_values_5.json | 4 + .../private_use_subtags_1.json | 4 + .../private_use_subtags_2.json | 4 + .../simple_language_subtag_1.json | 4 + .../simple_language_subtag_2.json | 4 + .../simple_language_subtag_3.json | 4 + ...subtag_example_of_a_grandfathered_tag.json | 4 + .../tag_with_extension_1.json | 4 + .../tag_with_extension_2.json | 4 + .../tag_with_extension_3.json | 4 + .../Expected/LangStringTextType/maximal.json | 4 + .../Expected/LangStringTextType/minimal.json | 4 + .../textOverPatternExamples/fuzzed_01.json | 4 + .../textOverPatternExamples/fuzzed_02.json | 4 + .../textOverPatternExamples/fuzzed_03.json | 4 + .../textOverPatternExamples/fuzzed_04.json | 4 + .../textOverPatternExamples/fuzzed_05.json | 4 + .../textOverPatternExamples/fuzzed_06.json | 4 + .../textOverPatternExamples/fuzzed_07.json | 4 + .../textOverPatternExamples/fuzzed_08.json | 4 + .../textOverPatternExamples/fuzzed_09.json | 4 + .../textOverPatternExamples/fuzzed_10.json | 4 + .../Json/Expected/LevelType/maximal.json | 6 + .../Json/Expected/LevelType/minimal.json | 6 + .../fuzzed_01.json | 4 + .../fuzzed_02.json | 4 + .../fuzzed_03.json | 4 + .../fuzzed_04.json | 4 + .../fuzzed_05.json | 4 + .../fuzzed_06.json | 4 + .../fuzzed_07.json | 4 + .../fuzzed_08.json | 4 + .../fuzzed_09.json | 4 + .../fuzzed_10.json | 4 + .../alternating_hyphen_underscore.json | 4 + .../ends_with_underscore.json | 4 + .../idShortOverPatternExamples/fuzzed_01.json | 4 + .../idShortOverPatternExamples/fuzzed_02.json | 4 + .../idShortOverPatternExamples/fuzzed_03.json | 4 + .../idShortOverPatternExamples/fuzzed_04.json | 4 + .../idShortOverPatternExamples/fuzzed_05.json | 4 + .../idShortOverPatternExamples/fuzzed_06.json | 4 + .../idShortOverPatternExamples/fuzzed_07.json | 4 + .../idShortOverPatternExamples/fuzzed_08.json | 4 + .../idShortOverPatternExamples/fuzzed_09.json | 4 + .../idShortOverPatternExamples/fuzzed_10.json | 4 + .../hyphen_then_underscore.json | 4 + .../many_internal_hyphens.json | 4 + .../many_underscores.json | 4 + .../minimal_digit.json | 4 + .../minimal_lower.json | 4 + .../minimal_underscore.json | 4 + .../minimal_upper.json | 4 + .../single_internal_hyphen.json | 4 + .../underscore_after_first.json | 4 + .../MultiLanguageProperty/maximal.json | 158 + .../MultiLanguageProperty/minimal.json | 3 + .../fuzzed_01.json | 4 + .../fuzzed_02.json | 4 + .../fuzzed_03.json | 4 + .../fuzzed_04.json | 4 + .../fuzzed_05.json | 4 + .../fuzzed_06.json | 4 + .../fuzzed_07.json | 4 + .../fuzzed_08.json | 4 + .../fuzzed_09.json | 4 + .../fuzzed_10.json | 4 + .../alternating_hyphen_underscore.json | 4 + .../ends_with_underscore.json | 4 + .../idShortOverPatternExamples/fuzzed_01.json | 4 + .../idShortOverPatternExamples/fuzzed_02.json | 4 + .../idShortOverPatternExamples/fuzzed_03.json | 4 + .../idShortOverPatternExamples/fuzzed_04.json | 4 + .../idShortOverPatternExamples/fuzzed_05.json | 4 + .../idShortOverPatternExamples/fuzzed_06.json | 4 + .../idShortOverPatternExamples/fuzzed_07.json | 4 + .../idShortOverPatternExamples/fuzzed_08.json | 4 + .../idShortOverPatternExamples/fuzzed_09.json | 4 + .../idShortOverPatternExamples/fuzzed_10.json | 4 + .../hyphen_then_underscore.json | 4 + .../many_internal_hyphens.json | 4 + .../many_underscores.json | 4 + .../minimal_digit.json | 4 + .../minimal_lower.json | 4 + .../minimal_underscore.json | 4 + .../minimal_upper.json | 4 + .../single_internal_hyphen.json | 4 + .../underscore_after_first.json | 4 + .../Json/Expected/Operation/maximal.json | 182 + .../Json/Expected/Operation/minimal.json | 3 + .../Expected/OperationVariable/maximal.json | 7 + .../Expected/OperationVariable/minimal.json | 7 + .../fuzzed_01.json | 5 + .../fuzzed_02.json | 5 + .../fuzzed_03.json | 5 + .../fuzzed_04.json | 5 + .../fuzzed_05.json | 5 + .../fuzzed_06.json | 5 + .../fuzzed_07.json | 5 + .../fuzzed_08.json | 5 + .../fuzzed_09.json | 5 + .../fuzzed_10.json | 5 + .../alternating_hyphen_underscore.json | 5 + .../ends_with_underscore.json | 5 + .../idShortOverPatternExamples/fuzzed_01.json | 5 + .../idShortOverPatternExamples/fuzzed_02.json | 5 + .../idShortOverPatternExamples/fuzzed_03.json | 5 + .../idShortOverPatternExamples/fuzzed_04.json | 5 + .../idShortOverPatternExamples/fuzzed_05.json | 5 + .../idShortOverPatternExamples/fuzzed_06.json | 5 + .../idShortOverPatternExamples/fuzzed_07.json | 5 + .../idShortOverPatternExamples/fuzzed_08.json | 5 + .../idShortOverPatternExamples/fuzzed_09.json | 5 + .../idShortOverPatternExamples/fuzzed_10.json | 5 + .../hyphen_then_underscore.json | 5 + .../many_internal_hyphens.json | 5 + .../many_underscores.json | 5 + .../minimal_digit.json | 5 + .../minimal_lower.json | 5 + .../minimal_underscore.json | 5 + .../minimal_upper.json | 5 + .../single_internal_hyphen.json | 5 + .../underscore_after_first.json | 5 + .../Json/Expected/Property/maximal.json | 150 + .../Json/Expected/Property/minimal.json | 4 + .../valueOverValueExamples/Any_URI_URI.json | 5 + .../Any_URI_absolute_path_without_scheme.json | 5 + .../valueOverValueExamples/Any_URI_empty.json | 5 + .../Any_URI_fuzzed_01.json | 5 + .../Any_URI_fuzzed_02.json | 5 + .../Any_URI_fuzzed_03.json | 5 + .../Any_URI_fuzzed_04.json | 5 + .../Any_URI_fuzzed_05.json | 5 + .../Any_URI_fuzzed_06.json | 5 + .../Any_URI_fuzzed_07.json | 5 + .../Any_URI_fuzzed_08.json | 5 + .../Any_URI_fuzzed_09.json | 5 + .../Any_URI_fuzzed_10.json | 5 + .../Any_URI_integer.json | 5 + .../Any_URI_relative_path_without_scheme.json | 5 + ...ase_64_binary_an_empty_value_is_valid.json | 5 + ...ary_equals_signs_are_used_for_padding.json | 5 + .../Base_64_binary_fuzzed_01.json | 5 + .../Base_64_binary_fuzzed_02.json | 5 + .../Base_64_binary_fuzzed_03.json | 5 + .../Base_64_binary_fuzzed_04.json | 5 + .../Base_64_binary_fuzzed_05.json | 5 + .../Base_64_binary_fuzzed_06.json | 5 + .../Base_64_binary_fuzzed_07.json | 5 + .../Base_64_binary_fuzzed_08.json | 5 + .../Base_64_binary_fuzzed_09.json | 5 + .../Base_64_binary_fuzzed_10.json | 5 + ...pace_is_allowed_anywhere_in_the_value.json | 5 + ...ase_64_binary_without_space_lowercase.json | 5 + ...ase_64_binary_without_space_uppercase.json | 5 + .../Boolean_false_as_number.json | 5 + .../Boolean_false_in_letters.json | 5 + .../Boolean_true_as_number.json | 5 + .../Boolean_true_in_letters.json | 5 + .../Byte_common_example.json | 5 + .../Byte_explicitly_positive.json | 5 + .../Byte_fuzzed_01.json | 5 + .../Byte_fuzzed_02.json | 5 + .../Byte_fuzzed_03.json | 5 + .../Byte_fuzzed_04.json | 5 + .../Byte_fuzzed_05.json | 5 + .../Byte_fuzzed_06.json | 5 + .../Byte_fuzzed_07.json | 5 + .../Byte_fuzzed_08.json | 5 + .../Byte_fuzzed_09.json | 5 + .../Byte_fuzzed_10.json | 5 + .../valueOverValueExamples/Byte_max.json | 5 + .../valueOverValueExamples/Byte_min.json | 5 + .../valueOverValueExamples/Byte_negative.json | 5 + .../Byte_prefixed_with_zeros.json | 5 + .../valueOverValueExamples/Byte_zero.json | 5 + .../Byte_zero_prefixed_with_zeros.json | 5 + .../valueOverValueExamples/Date_date.json | 5 + .../Date_date_with_large_negative_year.json | 5 + .../Date_date_with_large_positive_year.json | 5 + .../Date_date_with_negative_offset.json | 5 + .../Date_date_with_positive_offset.json | 5 + .../Date_date_with_utc.json | 5 + .../Date_date_with_zero_offset.json | 5 + .../Date_fuzzed_01.json | 5 + .../Date_fuzzed_02.json | 5 + .../Date_fuzzed_03.json | 5 + .../Date_fuzzed_04.json | 5 + .../Date_fuzzed_05.json | 5 + .../Date_fuzzed_06.json | 5 + .../Date_fuzzed_07.json | 5 + .../Date_fuzzed_08.json | 5 + .../Date_fuzzed_09.json | 5 + .../Date_fuzzed_10.json | 5 + .../Date_time_date_time_with_UTC.json | 5 + ...me_date_time_with_large_negative_year.json | 5 + ...me_date_time_with_large_positive_year.json | 5 + ...ate_time_with_long_fractional_seconds.json | 5 + ...e_time_date_time_with_negative_offset.json | 5 + ...e_time_date_time_with_positive_offset.json | 5 + .../Date_time_date_time_with_zero_offset.json | 5 + .../Date_time_date_time_without_zone.json | 5 + .../Date_time_fuzzed_01.json | 5 + .../Date_time_fuzzed_02.json | 5 + .../Date_time_fuzzed_03.json | 5 + .../Date_time_fuzzed_04.json | 5 + .../Date_time_fuzzed_05.json | 5 + .../Date_time_fuzzed_06.json | 5 + .../Date_time_fuzzed_07.json | 5 + .../Date_time_fuzzed_08.json | 5 + .../Date_time_fuzzed_09.json | 5 + .../Date_time_fuzzed_10.json | 5 + .../Date_time_midnight_with_24_hours.json | 5 + .../Date_time_midnight_with_zeros.json | 5 + .../Date_time_year_1_bce_is_a_leap_year.json | 5 + .../Date_time_year_5_bce_is_a_leap_year.json | 5 + .../Date_year_1_bce_is_a_leap_year.json | 5 + .../Date_year_5_bce_is_a_leap_year.json | 5 + .../Decimal_decimal.json | 5 + .../Decimal_decimal_with_long_fractional.json | 5 + .../Decimal_decimal_with_preceding_zeros.json | 5 + .../Decimal_fuzzed_01.json | 5 + .../Decimal_fuzzed_02.json | 5 + .../Decimal_fuzzed_03.json | 5 + .../Decimal_fuzzed_04.json | 5 + .../Decimal_fuzzed_05.json | 5 + .../Decimal_fuzzed_06.json | 5 + .../Decimal_fuzzed_07.json | 5 + .../Decimal_fuzzed_08.json | 5 + .../Decimal_fuzzed_09.json | 5 + .../Decimal_fuzzed_10.json | 5 + .../Decimal_integer.json | 5 + .../Decimal_integer_with_preceding_zeros.json | 5 + .../Decimal_very_large_decimal.json | 5 + .../valueOverValueExamples/Double_double.json | 5 + .../Double_fuzzed_01.json | 5 + .../Double_fuzzed_02.json | 5 + .../Double_fuzzed_03.json | 5 + .../Double_fuzzed_04.json | 5 + .../Double_fuzzed_05.json | 5 + .../Double_fuzzed_06.json | 5 + .../Double_fuzzed_07.json | 5 + .../Double_fuzzed_08.json | 5 + .../Double_fuzzed_09.json | 5 + .../Double_fuzzed_10.json | 5 + .../valueOverValueExamples/Double_inf.json | 5 + .../Double_integer.json | 5 + .../Double_integer_with_preceding_zeros.json | 5 + ...f_precision_is_not_detected_by_design.json | 5 + .../valueOverValueExamples/Double_lowest.json | 5 + .../valueOverValueExamples/Double_max.json | 5 + .../Double_minus_inf.json | 5 + .../valueOverValueExamples/Double_nan.json | 5 + .../Double_scientific_notation.json | 5 + .../Double_scientific_notation_negative.json | 5 + ...scientific_notation_negative_exponent.json | 5 + .../Double_scientific_notation_positive.json | 5 + ...scientific_notation_positive_exponent.json | 5 + .../Double_very_large_normal.json | 5 + .../Double_very_precise_subnormal.json | 5 + .../Double_with_preceding_zeros.json | 5 + .../Duration_day_seconds.json | 5 + .../valueOverValueExamples/Duration_full.json | 5 + .../Duration_fuzzed_01.json | 5 + .../Duration_fuzzed_02.json | 5 + .../Duration_fuzzed_03.json | 5 + .../Duration_fuzzed_04.json | 5 + .../Duration_fuzzed_05.json | 5 + .../Duration_fuzzed_06.json | 5 + .../Duration_fuzzed_07.json | 5 + .../Duration_fuzzed_08.json | 5 + .../Duration_fuzzed_09.json | 5 + .../Duration_fuzzed_10.json | 5 + .../Duration_long_second_fractal.json | 5 + .../Duration_many_many_seconds.json | 5 + .../Duration_month_seconds.json | 5 + .../Duration_only_seconds.json | 5 + .../Duration_only_year.json | 5 + .../valueOverValueExamples/Float_float.json | 5 + .../Float_fuzzed_01.json | 5 + .../Float_fuzzed_02.json | 5 + .../Float_fuzzed_03.json | 5 + .../Float_fuzzed_04.json | 5 + .../Float_fuzzed_05.json | 5 + .../Float_fuzzed_06.json | 5 + .../Float_fuzzed_07.json | 5 + .../Float_fuzzed_08.json | 5 + .../Float_fuzzed_09.json | 5 + .../Float_fuzzed_10.json | 5 + .../valueOverValueExamples/Float_inf.json | 5 + .../valueOverValueExamples/Float_integer.json | 5 + .../Float_integer_with_preceding_zeros.json | 5 + .../Float_largest_normal.json | 5 + .../Float_largest_number_less_than_one.json | 5 + .../Float_largest_subnormal.json | 5 + ...f_precision_is_not_detected_by_design.json | 5 + .../valueOverValueExamples/Float_nan.json | 5 + .../Float_negative_inf.json | 5 + .../Float_scientific_notation.json | 5 + .../Float_scientific_notation_negative.json | 5 + ...scientific_notation_negative_exponent.json | 5 + .../Float_scientific_notation_positive.json | 5 + ...scientific_notation_positive_exponent.json | 5 + ...Float_smallest_number_larger_than_one.json | 5 + .../Float_smallest_positive_normal.json | 5 + .../Float_smallest_positive_subnormal.json | 5 + .../Float_with_preceding_zeros.json | 5 + ...t_existing_in_all_months_without_zone.json | 5 + .../G_day_double_digit_day_without_zone.json | 5 + .../G_day_fuzzed_01.json | 5 + .../G_day_fuzzed_02.json | 5 + .../G_day_fuzzed_03.json | 5 + .../G_day_fuzzed_04.json | 5 + .../G_day_fuzzed_05.json | 5 + .../G_day_fuzzed_06.json | 5 + .../G_day_fuzzed_07.json | 5 + .../G_day_fuzzed_08.json | 5 + .../G_day_fuzzed_09.json | 5 + .../G_day_fuzzed_10.json | 5 + .../G_day_negative_offset.json | 5 + .../G_day_positive_offset.json | 5 + .../G_day_single_digit_day_without_zone.json | 5 + .../G_day_utc_zone.json | 5 + .../G_day_zero_offset.json | 5 + ...t_month_double_digit_day_without_zone.json | 5 + ...t_month_single_digit_day_without_zone.json | 5 + ...9th_which_does_not_exist_in_all_years.json | 5 + .../G_month_day_fuzzed_01.json | 5 + .../G_month_day_fuzzed_02.json | 5 + .../G_month_day_fuzzed_03.json | 5 + .../G_month_day_fuzzed_04.json | 5 + .../G_month_day_fuzzed_05.json | 5 + .../G_month_day_fuzzed_06.json | 5 + .../G_month_day_fuzzed_07.json | 5 + .../G_month_day_fuzzed_08.json | 5 + .../G_month_day_fuzzed_09.json | 5 + .../G_month_day_fuzzed_10.json | 5 + .../G_month_day_negative_offset.json | 5 + .../G_month_day_positive_offset.json | 5 + ...t_month_single_digit_day_without_zone.json | 5 + .../G_month_day_utc_zone.json | 5 + .../G_month_day_zero_offset.json | 5 + ...month_double_digit_month_without_zone.json | 5 + .../G_month_fuzzed_01.json | 5 + .../G_month_fuzzed_02.json | 5 + .../G_month_fuzzed_03.json | 5 + .../G_month_fuzzed_04.json | 5 + .../G_month_fuzzed_05.json | 5 + .../G_month_fuzzed_06.json | 5 + .../G_month_fuzzed_07.json | 5 + .../G_month_fuzzed_08.json | 5 + .../G_month_fuzzed_09.json | 5 + .../G_month_fuzzed_10.json | 5 + .../G_month_negative_offset.json | 5 + .../G_month_positive_offset.json | 5 + ...month_single_digit_month_without_zone.json | 5 + .../G_month_utc_zone.json | 5 + .../G_month_zero_offset.json | 5 + .../G_year_five_digit_negative_year.json | 5 + .../G_year_five_digit_year.json | 5 + .../G_year_fuzzed_01.json | 5 + .../G_year_fuzzed_02.json | 5 + .../G_year_fuzzed_03.json | 5 + .../G_year_fuzzed_04.json | 5 + .../G_year_fuzzed_05.json | 5 + .../G_year_fuzzed_06.json | 5 + .../G_year_fuzzed_07.json | 5 + .../G_year_fuzzed_08.json | 5 + .../G_year_fuzzed_09.json | 5 + .../G_year_fuzzed_10.json | 5 + .../G_year_month_common_year_month.json | 5 + ...G_year_month_five_digit_negative_year.json | 5 + .../G_year_month_fuzzed_01.json | 5 + .../G_year_month_fuzzed_02.json | 5 + .../G_year_month_fuzzed_03.json | 5 + .../G_year_month_fuzzed_04.json | 5 + .../G_year_month_fuzzed_05.json | 5 + .../G_year_month_fuzzed_06.json | 5 + .../G_year_month_fuzzed_07.json | 5 + .../G_year_month_fuzzed_08.json | 5 + .../G_year_month_fuzzed_09.json | 5 + .../G_year_month_fuzzed_10.json | 5 + .../G_year_month_negative_year.json | 5 + ...G_year_month_very_large_negative_year.json | 5 + ...G_year_month_very_large_positive_year.json | 5 + .../G_year_month_with_negative_offset.json | 5 + .../G_year_month_with_positive_offset.json | 5 + .../G_year_month_with_utc_zone.json | 5 + .../G_year_month_with_zero_offset.json | 5 + .../G_year_negative_offset.json | 5 + .../G_year_negative_year.json | 5 + .../G_year_positive_offset.json | 5 + .../G_year_utc_zone.json | 5 + .../G_year_very_large_negative_year.json | 5 + .../G_year_very_large_positive_year.json | 5 + .../G_year_year_without_zone.json | 5 + .../G_year_zero_offset.json | 5 + .../Hex_binary_empty.json | 5 + .../Hex_binary_fuzzed_01.json | 5 + .../Hex_binary_fuzzed_02.json | 5 + .../Hex_binary_fuzzed_03.json | 5 + .../Hex_binary_fuzzed_04.json | 5 + .../Hex_binary_fuzzed_05.json | 5 + .../Hex_binary_fuzzed_06.json | 5 + .../Hex_binary_fuzzed_07.json | 5 + .../Hex_binary_fuzzed_08.json | 5 + .../Hex_binary_fuzzed_09.json | 5 + .../Hex_binary_fuzzed_10.json | 5 + .../Hex_binary_long_random_hex.json | 5 + .../Hex_binary_one_one.json | 5 + .../Hex_binary_one_two.json | 5 + .../Hex_binary_one_two_three_four.json | 5 + .../Int_common_example.json | 5 + .../Int_explicitly_positive.json | 5 + .../valueOverValueExamples/Int_fuzzed_01.json | 5 + .../valueOverValueExamples/Int_fuzzed_02.json | 5 + .../valueOverValueExamples/Int_fuzzed_03.json | 5 + .../valueOverValueExamples/Int_fuzzed_04.json | 5 + .../valueOverValueExamples/Int_fuzzed_05.json | 5 + .../valueOverValueExamples/Int_fuzzed_06.json | 5 + .../valueOverValueExamples/Int_fuzzed_07.json | 5 + .../valueOverValueExamples/Int_fuzzed_08.json | 5 + .../valueOverValueExamples/Int_fuzzed_09.json | 5 + .../valueOverValueExamples/Int_fuzzed_10.json | 5 + .../valueOverValueExamples/Int_max.json | 5 + .../valueOverValueExamples/Int_min.json | 5 + .../valueOverValueExamples/Int_negative.json | 5 + .../Int_prefixed_with_zeros.json | 5 + .../valueOverValueExamples/Int_zero.json | 5 + .../Int_zero_prefixed_with_zeros.json | 5 + .../Integer_common_example.json | 5 + .../Integer_explicitly_positive.json | 5 + .../Integer_fuzzed_01.json | 5 + .../Integer_fuzzed_02.json | 5 + .../Integer_fuzzed_03.json | 5 + .../Integer_fuzzed_04.json | 5 + .../Integer_fuzzed_05.json | 5 + .../Integer_fuzzed_06.json | 5 + .../Integer_fuzzed_07.json | 5 + .../Integer_fuzzed_08.json | 5 + .../Integer_fuzzed_09.json | 5 + .../Integer_fuzzed_10.json | 5 + .../Integer_negative.json | 5 + .../Integer_prefixed_with_zeros.json | 5 + .../Integer_very_large.json | 5 + .../valueOverValueExamples/Integer_zero.json | 5 + .../Integer_zero_prefixed_with_zeros.json | 5 + .../Long_common_example.json | 5 + .../Long_explicitly_positive.json | 5 + .../Long_fuzzed_01.json | 5 + .../Long_fuzzed_02.json | 5 + .../Long_fuzzed_03.json | 5 + .../Long_fuzzed_04.json | 5 + .../Long_fuzzed_05.json | 5 + .../Long_fuzzed_06.json | 5 + .../Long_fuzzed_07.json | 5 + .../Long_fuzzed_08.json | 5 + .../Long_fuzzed_09.json | 5 + .../Long_fuzzed_10.json | 5 + .../valueOverValueExamples/Long_max.json | 5 + .../valueOverValueExamples/Long_min.json | 5 + .../valueOverValueExamples/Long_negative.json | 5 + .../Long_prefixed_with_zeros.json | 5 + .../valueOverValueExamples/Long_zero.json | 5 + .../Long_zero_prefixed_with_zeros.json | 5 + .../Negative_integer_fuzzed_01.json | 5 + .../Negative_integer_fuzzed_02.json | 5 + .../Negative_integer_fuzzed_03.json | 5 + .../Negative_integer_fuzzed_04.json | 5 + .../Negative_integer_fuzzed_05.json | 5 + .../Negative_integer_fuzzed_06.json | 5 + .../Negative_integer_fuzzed_07.json | 5 + .../Negative_integer_fuzzed_08.json | 5 + .../Negative_integer_fuzzed_09.json | 5 + .../Negative_integer_fuzzed_10.json | 5 + .../Negative_integer_negative.json | 5 + .../Negative_integer_prefixed_with_zeros.json | 5 + .../Negative_integer_very_large.json | 5 + .../Non_negative_integer_common_example.json | 5 + ..._negative_integer_explicitly_positive.json | 5 + ...plicitly_positive_prefixed_with_zeros.json | 5 + .../Non_negative_integer_fuzzed_01.json | 5 + .../Non_negative_integer_fuzzed_02.json | 5 + .../Non_negative_integer_fuzzed_03.json | 5 + .../Non_negative_integer_fuzzed_04.json | 5 + .../Non_negative_integer_fuzzed_05.json | 5 + .../Non_negative_integer_fuzzed_06.json | 5 + .../Non_negative_integer_fuzzed_07.json | 5 + .../Non_negative_integer_fuzzed_08.json | 5 + .../Non_negative_integer_fuzzed_09.json | 5 + .../Non_negative_integer_fuzzed_10.json | 5 + .../Non_negative_integer_minus_zero.json | 5 + .../Non_negative_integer_positive_zero.json | 5 + ..._negative_integer_prefixed_with_zeros.json | 5 + .../Non_negative_integer_very_large.json | 5 + .../Non_negative_integer_zero.json | 5 + ...tive_integer_zero_prefixed_with_zeros.json | 5 + ...tive_integer_explicitly_positive_zero.json | 5 + .../Non_positive_integer_fuzzed_01.json | 5 + .../Non_positive_integer_fuzzed_02.json | 5 + .../Non_positive_integer_fuzzed_03.json | 5 + .../Non_positive_integer_fuzzed_04.json | 5 + .../Non_positive_integer_fuzzed_05.json | 5 + .../Non_positive_integer_fuzzed_06.json | 5 + .../Non_positive_integer_fuzzed_07.json | 5 + .../Non_positive_integer_fuzzed_08.json | 5 + .../Non_positive_integer_fuzzed_09.json | 5 + .../Non_positive_integer_fuzzed_10.json | 5 + .../Non_positive_integer_negative.json | 5 + ..._positive_integer_prefixed_with_zeros.json | 5 + .../Non_positive_integer_very_large.json | 5 + .../Non_positive_integer_zero.json | 5 + .../Positive_integer_common_example.json | 5 + .../Positive_integer_explicitly_positive.json | 5 + .../Positive_integer_fuzzed_01.json | 5 + .../Positive_integer_fuzzed_02.json | 5 + .../Positive_integer_fuzzed_03.json | 5 + .../Positive_integer_fuzzed_04.json | 5 + .../Positive_integer_fuzzed_05.json | 5 + .../Positive_integer_fuzzed_06.json | 5 + .../Positive_integer_fuzzed_07.json | 5 + .../Positive_integer_fuzzed_08.json | 5 + .../Positive_integer_fuzzed_09.json | 5 + .../Positive_integer_fuzzed_10.json | 5 + .../Positive_integer_prefixed_with_zeros.json | 5 + .../Positive_integer_very_large.json | 5 + .../Short_common_example.json | 5 + .../Short_explicitly_positive.json | 5 + .../Short_fuzzed_01.json | 5 + .../Short_fuzzed_02.json | 5 + .../Short_fuzzed_03.json | 5 + .../Short_fuzzed_04.json | 5 + .../Short_fuzzed_05.json | 5 + .../Short_fuzzed_06.json | 5 + .../Short_fuzzed_07.json | 5 + .../Short_fuzzed_08.json | 5 + .../Short_fuzzed_09.json | 5 + .../Short_fuzzed_10.json | 5 + .../valueOverValueExamples/Short_max.json | 5 + .../valueOverValueExamples/Short_min.json | 5 + .../Short_negative.json | 5 + .../Short_prefixed_with_zeros.json | 5 + .../valueOverValueExamples/Short_zero.json | 5 + .../Short_zero_prefixed_with_zeros.json | 5 + .../valueOverValueExamples/String_empty.json | 5 + .../String_free_form_text.json | 5 + .../String_fuzzed_01.json | 5 + .../String_fuzzed_02.json | 5 + .../String_fuzzed_03.json | 5 + .../String_fuzzed_04.json | 5 + .../String_fuzzed_05.json | 5 + .../String_fuzzed_06.json | 5 + .../String_fuzzed_07.json | 5 + .../String_fuzzed_08.json | 5 + .../String_fuzzed_09.json | 5 + .../String_fuzzed_10.json | 5 + .../Time_common_example.json | 5 + .../Time_fuzzed_01.json | 5 + .../Time_fuzzed_02.json | 5 + .../Time_fuzzed_03.json | 5 + .../Time_fuzzed_04.json | 5 + .../Time_fuzzed_05.json | 5 + .../Time_fuzzed_06.json | 5 + .../Time_fuzzed_07.json | 5 + .../Time_fuzzed_08.json | 5 + .../Time_fuzzed_09.json | 5 + .../Time_fuzzed_10.json | 5 + .../Time_negative_offset.json | 5 + .../Time_positive_offset.json | 5 + .../Time_with_long_second_fractional.json | 5 + .../Time_with_second_fractional.json | 5 + .../Time_with_utc_timezone.json | 5 + .../Time_zero_offset.json | 5 + .../Unsigned_byte_common_example.json | 5 + .../Unsigned_byte_explicitly_positive.json | 5 + .../Unsigned_byte_fuzzed_01.json | 5 + .../Unsigned_byte_fuzzed_02.json | 5 + .../Unsigned_byte_fuzzed_03.json | 5 + .../Unsigned_byte_fuzzed_04.json | 5 + .../Unsigned_byte_fuzzed_05.json | 5 + .../Unsigned_byte_fuzzed_06.json | 5 + .../Unsigned_byte_fuzzed_07.json | 5 + .../Unsigned_byte_fuzzed_08.json | 5 + .../Unsigned_byte_fuzzed_09.json | 5 + .../Unsigned_byte_fuzzed_10.json | 5 + .../Unsigned_byte_max.json | 5 + .../Unsigned_byte_prefixed_with_zeros.json | 5 + .../Unsigned_byte_zero.json | 5 + ...nsigned_byte_zero_prefixed_with_zeros.json | 5 + .../Unsigned_int_common_example.json | 5 + .../Unsigned_int_explicitly_positive.json | 5 + .../Unsigned_int_fuzzed_01.json | 5 + .../Unsigned_int_fuzzed_02.json | 5 + .../Unsigned_int_fuzzed_03.json | 5 + .../Unsigned_int_fuzzed_04.json | 5 + .../Unsigned_int_fuzzed_05.json | 5 + .../Unsigned_int_fuzzed_06.json | 5 + .../Unsigned_int_fuzzed_07.json | 5 + .../Unsigned_int_fuzzed_08.json | 5 + .../Unsigned_int_fuzzed_09.json | 5 + .../Unsigned_int_fuzzed_10.json | 5 + .../Unsigned_int_max.json | 5 + .../Unsigned_int_prefixed_with_zeros.json | 5 + .../Unsigned_int_zero.json | 5 + ...Unsigned_int_zero_prefixed_with_zeros.json | 5 + .../Unsigned_long_common_example.json | 5 + .../Unsigned_long_explicitly_positive.json | 5 + .../Unsigned_long_fuzzed_01.json | 5 + .../Unsigned_long_fuzzed_02.json | 5 + .../Unsigned_long_fuzzed_03.json | 5 + .../Unsigned_long_fuzzed_04.json | 5 + .../Unsigned_long_fuzzed_05.json | 5 + .../Unsigned_long_fuzzed_06.json | 5 + .../Unsigned_long_fuzzed_07.json | 5 + .../Unsigned_long_fuzzed_08.json | 5 + .../Unsigned_long_fuzzed_09.json | 5 + .../Unsigned_long_fuzzed_10.json | 5 + .../Unsigned_long_max.json | 5 + .../Unsigned_long_prefixed_with_zeros.json | 5 + .../Unsigned_long_zero.json | 5 + ...nsigned_long_zero_prefixed_with_zeros.json | 5 + .../Unsigned_short_common_example.json | 5 + .../Unsigned_short_explicitly_positive.json | 5 + .../Unsigned_short_fuzzed_01.json | 5 + .../Unsigned_short_fuzzed_02.json | 5 + .../Unsigned_short_fuzzed_03.json | 5 + .../Unsigned_short_fuzzed_04.json | 5 + .../Unsigned_short_fuzzed_05.json | 5 + .../Unsigned_short_fuzzed_06.json | 5 + .../Unsigned_short_fuzzed_07.json | 5 + .../Unsigned_short_fuzzed_08.json | 5 + .../Unsigned_short_fuzzed_09.json | 5 + .../Unsigned_short_fuzzed_10.json | 5 + .../Unsigned_short_max.json | 5 + .../Unsigned_short_prefixed_with_zeros.json | 5 + .../Unsigned_short_zero.json | 5 + ...signed_short_zero_prefixed_with_zeros.json | 5 + .../Json/Expected/Qualifier/maximal.json | 53 + .../Json/Expected/Qualifier/minimal.json | 4 + .../typeOverPatternExamples/fuzzed_01.json | 4 + .../typeOverPatternExamples/fuzzed_02.json | 4 + .../typeOverPatternExamples/fuzzed_03.json | 4 + .../typeOverPatternExamples/fuzzed_04.json | 4 + .../typeOverPatternExamples/fuzzed_05.json | 4 + .../typeOverPatternExamples/fuzzed_06.json | 4 + .../typeOverPatternExamples/fuzzed_07.json | 4 + .../typeOverPatternExamples/fuzzed_08.json | 4 + .../typeOverPatternExamples/fuzzed_09.json | 4 + .../typeOverPatternExamples/fuzzed_10.json | 4 + .../valueOverValueExamples/Any_URI_URI.json | 5 + .../Any_URI_absolute_path_without_scheme.json | 5 + .../valueOverValueExamples/Any_URI_empty.json | 5 + .../Any_URI_fuzzed_01.json | 5 + .../Any_URI_fuzzed_02.json | 5 + .../Any_URI_fuzzed_03.json | 5 + .../Any_URI_fuzzed_04.json | 5 + .../Any_URI_fuzzed_05.json | 5 + .../Any_URI_fuzzed_06.json | 5 + .../Any_URI_fuzzed_07.json | 5 + .../Any_URI_fuzzed_08.json | 5 + .../Any_URI_fuzzed_09.json | 5 + .../Any_URI_fuzzed_10.json | 5 + .../Any_URI_integer.json | 5 + .../Any_URI_relative_path_without_scheme.json | 5 + ...ase_64_binary_an_empty_value_is_valid.json | 5 + ...ary_equals_signs_are_used_for_padding.json | 5 + .../Base_64_binary_fuzzed_01.json | 5 + .../Base_64_binary_fuzzed_02.json | 5 + .../Base_64_binary_fuzzed_03.json | 5 + .../Base_64_binary_fuzzed_04.json | 5 + .../Base_64_binary_fuzzed_05.json | 5 + .../Base_64_binary_fuzzed_06.json | 5 + .../Base_64_binary_fuzzed_07.json | 5 + .../Base_64_binary_fuzzed_08.json | 5 + .../Base_64_binary_fuzzed_09.json | 5 + .../Base_64_binary_fuzzed_10.json | 5 + ...pace_is_allowed_anywhere_in_the_value.json | 5 + ...ase_64_binary_without_space_lowercase.json | 5 + ...ase_64_binary_without_space_uppercase.json | 5 + .../Boolean_false_as_number.json | 5 + .../Boolean_false_in_letters.json | 5 + .../Boolean_true_as_number.json | 5 + .../Boolean_true_in_letters.json | 5 + .../Byte_common_example.json | 5 + .../Byte_explicitly_positive.json | 5 + .../Byte_fuzzed_01.json | 5 + .../Byte_fuzzed_02.json | 5 + .../Byte_fuzzed_03.json | 5 + .../Byte_fuzzed_04.json | 5 + .../Byte_fuzzed_05.json | 5 + .../Byte_fuzzed_06.json | 5 + .../Byte_fuzzed_07.json | 5 + .../Byte_fuzzed_08.json | 5 + .../Byte_fuzzed_09.json | 5 + .../Byte_fuzzed_10.json | 5 + .../valueOverValueExamples/Byte_max.json | 5 + .../valueOverValueExamples/Byte_min.json | 5 + .../valueOverValueExamples/Byte_negative.json | 5 + .../Byte_prefixed_with_zeros.json | 5 + .../valueOverValueExamples/Byte_zero.json | 5 + .../Byte_zero_prefixed_with_zeros.json | 5 + .../valueOverValueExamples/Date_date.json | 5 + .../Date_date_with_large_negative_year.json | 5 + .../Date_date_with_large_positive_year.json | 5 + .../Date_date_with_negative_offset.json | 5 + .../Date_date_with_positive_offset.json | 5 + .../Date_date_with_utc.json | 5 + .../Date_date_with_zero_offset.json | 5 + .../Date_fuzzed_01.json | 5 + .../Date_fuzzed_02.json | 5 + .../Date_fuzzed_03.json | 5 + .../Date_fuzzed_04.json | 5 + .../Date_fuzzed_05.json | 5 + .../Date_fuzzed_06.json | 5 + .../Date_fuzzed_07.json | 5 + .../Date_fuzzed_08.json | 5 + .../Date_fuzzed_09.json | 5 + .../Date_fuzzed_10.json | 5 + .../Date_time_date_time_with_UTC.json | 5 + ...me_date_time_with_large_negative_year.json | 5 + ...me_date_time_with_large_positive_year.json | 5 + ...ate_time_with_long_fractional_seconds.json | 5 + ...e_time_date_time_with_negative_offset.json | 5 + ...e_time_date_time_with_positive_offset.json | 5 + .../Date_time_date_time_with_zero_offset.json | 5 + .../Date_time_date_time_without_zone.json | 5 + .../Date_time_fuzzed_01.json | 5 + .../Date_time_fuzzed_02.json | 5 + .../Date_time_fuzzed_03.json | 5 + .../Date_time_fuzzed_04.json | 5 + .../Date_time_fuzzed_05.json | 5 + .../Date_time_fuzzed_06.json | 5 + .../Date_time_fuzzed_07.json | 5 + .../Date_time_fuzzed_08.json | 5 + .../Date_time_fuzzed_09.json | 5 + .../Date_time_fuzzed_10.json | 5 + .../Date_time_midnight_with_24_hours.json | 5 + .../Date_time_midnight_with_zeros.json | 5 + .../Date_time_year_1_bce_is_a_leap_year.json | 5 + .../Date_time_year_5_bce_is_a_leap_year.json | 5 + .../Date_year_1_bce_is_a_leap_year.json | 5 + .../Date_year_5_bce_is_a_leap_year.json | 5 + .../Decimal_decimal.json | 5 + .../Decimal_decimal_with_long_fractional.json | 5 + .../Decimal_decimal_with_preceding_zeros.json | 5 + .../Decimal_fuzzed_01.json | 5 + .../Decimal_fuzzed_02.json | 5 + .../Decimal_fuzzed_03.json | 5 + .../Decimal_fuzzed_04.json | 5 + .../Decimal_fuzzed_05.json | 5 + .../Decimal_fuzzed_06.json | 5 + .../Decimal_fuzzed_07.json | 5 + .../Decimal_fuzzed_08.json | 5 + .../Decimal_fuzzed_09.json | 5 + .../Decimal_fuzzed_10.json | 5 + .../Decimal_integer.json | 5 + .../Decimal_integer_with_preceding_zeros.json | 5 + .../Decimal_very_large_decimal.json | 5 + .../valueOverValueExamples/Double_double.json | 5 + .../Double_fuzzed_01.json | 5 + .../Double_fuzzed_02.json | 5 + .../Double_fuzzed_03.json | 5 + .../Double_fuzzed_04.json | 5 + .../Double_fuzzed_05.json | 5 + .../Double_fuzzed_06.json | 5 + .../Double_fuzzed_07.json | 5 + .../Double_fuzzed_08.json | 5 + .../Double_fuzzed_09.json | 5 + .../Double_fuzzed_10.json | 5 + .../valueOverValueExamples/Double_inf.json | 5 + .../Double_integer.json | 5 + .../Double_integer_with_preceding_zeros.json | 5 + ...f_precision_is_not_detected_by_design.json | 5 + .../valueOverValueExamples/Double_lowest.json | 5 + .../valueOverValueExamples/Double_max.json | 5 + .../Double_minus_inf.json | 5 + .../valueOverValueExamples/Double_nan.json | 5 + .../Double_scientific_notation.json | 5 + .../Double_scientific_notation_negative.json | 5 + ...scientific_notation_negative_exponent.json | 5 + .../Double_scientific_notation_positive.json | 5 + ...scientific_notation_positive_exponent.json | 5 + .../Double_very_large_normal.json | 5 + .../Double_very_precise_subnormal.json | 5 + .../Double_with_preceding_zeros.json | 5 + .../Duration_day_seconds.json | 5 + .../valueOverValueExamples/Duration_full.json | 5 + .../Duration_fuzzed_01.json | 5 + .../Duration_fuzzed_02.json | 5 + .../Duration_fuzzed_03.json | 5 + .../Duration_fuzzed_04.json | 5 + .../Duration_fuzzed_05.json | 5 + .../Duration_fuzzed_06.json | 5 + .../Duration_fuzzed_07.json | 5 + .../Duration_fuzzed_08.json | 5 + .../Duration_fuzzed_09.json | 5 + .../Duration_fuzzed_10.json | 5 + .../Duration_long_second_fractal.json | 5 + .../Duration_many_many_seconds.json | 5 + .../Duration_month_seconds.json | 5 + .../Duration_only_seconds.json | 5 + .../Duration_only_year.json | 5 + .../valueOverValueExamples/Float_float.json | 5 + .../Float_fuzzed_01.json | 5 + .../Float_fuzzed_02.json | 5 + .../Float_fuzzed_03.json | 5 + .../Float_fuzzed_04.json | 5 + .../Float_fuzzed_05.json | 5 + .../Float_fuzzed_06.json | 5 + .../Float_fuzzed_07.json | 5 + .../Float_fuzzed_08.json | 5 + .../Float_fuzzed_09.json | 5 + .../Float_fuzzed_10.json | 5 + .../valueOverValueExamples/Float_inf.json | 5 + .../valueOverValueExamples/Float_integer.json | 5 + .../Float_integer_with_preceding_zeros.json | 5 + .../Float_largest_normal.json | 5 + .../Float_largest_number_less_than_one.json | 5 + .../Float_largest_subnormal.json | 5 + ...f_precision_is_not_detected_by_design.json | 5 + .../valueOverValueExamples/Float_nan.json | 5 + .../Float_negative_inf.json | 5 + .../Float_scientific_notation.json | 5 + .../Float_scientific_notation_negative.json | 5 + ...scientific_notation_negative_exponent.json | 5 + .../Float_scientific_notation_positive.json | 5 + ...scientific_notation_positive_exponent.json | 5 + ...Float_smallest_number_larger_than_one.json | 5 + .../Float_smallest_positive_normal.json | 5 + .../Float_smallest_positive_subnormal.json | 5 + .../Float_with_preceding_zeros.json | 5 + ...t_existing_in_all_months_without_zone.json | 5 + .../G_day_double_digit_day_without_zone.json | 5 + .../G_day_fuzzed_01.json | 5 + .../G_day_fuzzed_02.json | 5 + .../G_day_fuzzed_03.json | 5 + .../G_day_fuzzed_04.json | 5 + .../G_day_fuzzed_05.json | 5 + .../G_day_fuzzed_06.json | 5 + .../G_day_fuzzed_07.json | 5 + .../G_day_fuzzed_08.json | 5 + .../G_day_fuzzed_09.json | 5 + .../G_day_fuzzed_10.json | 5 + .../G_day_negative_offset.json | 5 + .../G_day_positive_offset.json | 5 + .../G_day_single_digit_day_without_zone.json | 5 + .../G_day_utc_zone.json | 5 + .../G_day_zero_offset.json | 5 + ...t_month_double_digit_day_without_zone.json | 5 + ...t_month_single_digit_day_without_zone.json | 5 + ...9th_which_does_not_exist_in_all_years.json | 5 + .../G_month_day_fuzzed_01.json | 5 + .../G_month_day_fuzzed_02.json | 5 + .../G_month_day_fuzzed_03.json | 5 + .../G_month_day_fuzzed_04.json | 5 + .../G_month_day_fuzzed_05.json | 5 + .../G_month_day_fuzzed_06.json | 5 + .../G_month_day_fuzzed_07.json | 5 + .../G_month_day_fuzzed_08.json | 5 + .../G_month_day_fuzzed_09.json | 5 + .../G_month_day_fuzzed_10.json | 5 + .../G_month_day_negative_offset.json | 5 + .../G_month_day_positive_offset.json | 5 + ...t_month_single_digit_day_without_zone.json | 5 + .../G_month_day_utc_zone.json | 5 + .../G_month_day_zero_offset.json | 5 + ...month_double_digit_month_without_zone.json | 5 + .../G_month_fuzzed_01.json | 5 + .../G_month_fuzzed_02.json | 5 + .../G_month_fuzzed_03.json | 5 + .../G_month_fuzzed_04.json | 5 + .../G_month_fuzzed_05.json | 5 + .../G_month_fuzzed_06.json | 5 + .../G_month_fuzzed_07.json | 5 + .../G_month_fuzzed_08.json | 5 + .../G_month_fuzzed_09.json | 5 + .../G_month_fuzzed_10.json | 5 + .../G_month_negative_offset.json | 5 + .../G_month_positive_offset.json | 5 + ...month_single_digit_month_without_zone.json | 5 + .../G_month_utc_zone.json | 5 + .../G_month_zero_offset.json | 5 + .../G_year_five_digit_negative_year.json | 5 + .../G_year_five_digit_year.json | 5 + .../G_year_fuzzed_01.json | 5 + .../G_year_fuzzed_02.json | 5 + .../G_year_fuzzed_03.json | 5 + .../G_year_fuzzed_04.json | 5 + .../G_year_fuzzed_05.json | 5 + .../G_year_fuzzed_06.json | 5 + .../G_year_fuzzed_07.json | 5 + .../G_year_fuzzed_08.json | 5 + .../G_year_fuzzed_09.json | 5 + .../G_year_fuzzed_10.json | 5 + .../G_year_month_common_year_month.json | 5 + ...G_year_month_five_digit_negative_year.json | 5 + .../G_year_month_fuzzed_01.json | 5 + .../G_year_month_fuzzed_02.json | 5 + .../G_year_month_fuzzed_03.json | 5 + .../G_year_month_fuzzed_04.json | 5 + .../G_year_month_fuzzed_05.json | 5 + .../G_year_month_fuzzed_06.json | 5 + .../G_year_month_fuzzed_07.json | 5 + .../G_year_month_fuzzed_08.json | 5 + .../G_year_month_fuzzed_09.json | 5 + .../G_year_month_fuzzed_10.json | 5 + .../G_year_month_negative_year.json | 5 + ...G_year_month_very_large_negative_year.json | 5 + ...G_year_month_very_large_positive_year.json | 5 + .../G_year_month_with_negative_offset.json | 5 + .../G_year_month_with_positive_offset.json | 5 + .../G_year_month_with_utc_zone.json | 5 + .../G_year_month_with_zero_offset.json | 5 + .../G_year_negative_offset.json | 5 + .../G_year_negative_year.json | 5 + .../G_year_positive_offset.json | 5 + .../G_year_utc_zone.json | 5 + .../G_year_very_large_negative_year.json | 5 + .../G_year_very_large_positive_year.json | 5 + .../G_year_year_without_zone.json | 5 + .../G_year_zero_offset.json | 5 + .../Hex_binary_empty.json | 5 + .../Hex_binary_fuzzed_01.json | 5 + .../Hex_binary_fuzzed_02.json | 5 + .../Hex_binary_fuzzed_03.json | 5 + .../Hex_binary_fuzzed_04.json | 5 + .../Hex_binary_fuzzed_05.json | 5 + .../Hex_binary_fuzzed_06.json | 5 + .../Hex_binary_fuzzed_07.json | 5 + .../Hex_binary_fuzzed_08.json | 5 + .../Hex_binary_fuzzed_09.json | 5 + .../Hex_binary_fuzzed_10.json | 5 + .../Hex_binary_long_random_hex.json | 5 + .../Hex_binary_one_one.json | 5 + .../Hex_binary_one_two.json | 5 + .../Hex_binary_one_two_three_four.json | 5 + .../Int_common_example.json | 5 + .../Int_explicitly_positive.json | 5 + .../valueOverValueExamples/Int_fuzzed_01.json | 5 + .../valueOverValueExamples/Int_fuzzed_02.json | 5 + .../valueOverValueExamples/Int_fuzzed_03.json | 5 + .../valueOverValueExamples/Int_fuzzed_04.json | 5 + .../valueOverValueExamples/Int_fuzzed_05.json | 5 + .../valueOverValueExamples/Int_fuzzed_06.json | 5 + .../valueOverValueExamples/Int_fuzzed_07.json | 5 + .../valueOverValueExamples/Int_fuzzed_08.json | 5 + .../valueOverValueExamples/Int_fuzzed_09.json | 5 + .../valueOverValueExamples/Int_fuzzed_10.json | 5 + .../valueOverValueExamples/Int_max.json | 5 + .../valueOverValueExamples/Int_min.json | 5 + .../valueOverValueExamples/Int_negative.json | 5 + .../Int_prefixed_with_zeros.json | 5 + .../valueOverValueExamples/Int_zero.json | 5 + .../Int_zero_prefixed_with_zeros.json | 5 + .../Integer_common_example.json | 5 + .../Integer_explicitly_positive.json | 5 + .../Integer_fuzzed_01.json | 5 + .../Integer_fuzzed_02.json | 5 + .../Integer_fuzzed_03.json | 5 + .../Integer_fuzzed_04.json | 5 + .../Integer_fuzzed_05.json | 5 + .../Integer_fuzzed_06.json | 5 + .../Integer_fuzzed_07.json | 5 + .../Integer_fuzzed_08.json | 5 + .../Integer_fuzzed_09.json | 5 + .../Integer_fuzzed_10.json | 5 + .../Integer_negative.json | 5 + .../Integer_prefixed_with_zeros.json | 5 + .../Integer_very_large.json | 5 + .../valueOverValueExamples/Integer_zero.json | 5 + .../Integer_zero_prefixed_with_zeros.json | 5 + .../Long_common_example.json | 5 + .../Long_explicitly_positive.json | 5 + .../Long_fuzzed_01.json | 5 + .../Long_fuzzed_02.json | 5 + .../Long_fuzzed_03.json | 5 + .../Long_fuzzed_04.json | 5 + .../Long_fuzzed_05.json | 5 + .../Long_fuzzed_06.json | 5 + .../Long_fuzzed_07.json | 5 + .../Long_fuzzed_08.json | 5 + .../Long_fuzzed_09.json | 5 + .../Long_fuzzed_10.json | 5 + .../valueOverValueExamples/Long_max.json | 5 + .../valueOverValueExamples/Long_min.json | 5 + .../valueOverValueExamples/Long_negative.json | 5 + .../Long_prefixed_with_zeros.json | 5 + .../valueOverValueExamples/Long_zero.json | 5 + .../Long_zero_prefixed_with_zeros.json | 5 + .../Negative_integer_fuzzed_01.json | 5 + .../Negative_integer_fuzzed_02.json | 5 + .../Negative_integer_fuzzed_03.json | 5 + .../Negative_integer_fuzzed_04.json | 5 + .../Negative_integer_fuzzed_05.json | 5 + .../Negative_integer_fuzzed_06.json | 5 + .../Negative_integer_fuzzed_07.json | 5 + .../Negative_integer_fuzzed_08.json | 5 + .../Negative_integer_fuzzed_09.json | 5 + .../Negative_integer_fuzzed_10.json | 5 + .../Negative_integer_negative.json | 5 + .../Negative_integer_prefixed_with_zeros.json | 5 + .../Negative_integer_very_large.json | 5 + .../Non_negative_integer_common_example.json | 5 + ..._negative_integer_explicitly_positive.json | 5 + ...plicitly_positive_prefixed_with_zeros.json | 5 + .../Non_negative_integer_fuzzed_01.json | 5 + .../Non_negative_integer_fuzzed_02.json | 5 + .../Non_negative_integer_fuzzed_03.json | 5 + .../Non_negative_integer_fuzzed_04.json | 5 + .../Non_negative_integer_fuzzed_05.json | 5 + .../Non_negative_integer_fuzzed_06.json | 5 + .../Non_negative_integer_fuzzed_07.json | 5 + .../Non_negative_integer_fuzzed_08.json | 5 + .../Non_negative_integer_fuzzed_09.json | 5 + .../Non_negative_integer_fuzzed_10.json | 5 + .../Non_negative_integer_minus_zero.json | 5 + .../Non_negative_integer_positive_zero.json | 5 + ..._negative_integer_prefixed_with_zeros.json | 5 + .../Non_negative_integer_very_large.json | 5 + .../Non_negative_integer_zero.json | 5 + ...tive_integer_zero_prefixed_with_zeros.json | 5 + ...tive_integer_explicitly_positive_zero.json | 5 + .../Non_positive_integer_fuzzed_01.json | 5 + .../Non_positive_integer_fuzzed_02.json | 5 + .../Non_positive_integer_fuzzed_03.json | 5 + .../Non_positive_integer_fuzzed_04.json | 5 + .../Non_positive_integer_fuzzed_05.json | 5 + .../Non_positive_integer_fuzzed_06.json | 5 + .../Non_positive_integer_fuzzed_07.json | 5 + .../Non_positive_integer_fuzzed_08.json | 5 + .../Non_positive_integer_fuzzed_09.json | 5 + .../Non_positive_integer_fuzzed_10.json | 5 + .../Non_positive_integer_negative.json | 5 + ..._positive_integer_prefixed_with_zeros.json | 5 + .../Non_positive_integer_very_large.json | 5 + .../Non_positive_integer_zero.json | 5 + .../Positive_integer_common_example.json | 5 + .../Positive_integer_explicitly_positive.json | 5 + .../Positive_integer_fuzzed_01.json | 5 + .../Positive_integer_fuzzed_02.json | 5 + .../Positive_integer_fuzzed_03.json | 5 + .../Positive_integer_fuzzed_04.json | 5 + .../Positive_integer_fuzzed_05.json | 5 + .../Positive_integer_fuzzed_06.json | 5 + .../Positive_integer_fuzzed_07.json | 5 + .../Positive_integer_fuzzed_08.json | 5 + .../Positive_integer_fuzzed_09.json | 5 + .../Positive_integer_fuzzed_10.json | 5 + .../Positive_integer_prefixed_with_zeros.json | 5 + .../Positive_integer_very_large.json | 5 + .../Short_common_example.json | 5 + .../Short_explicitly_positive.json | 5 + .../Short_fuzzed_01.json | 5 + .../Short_fuzzed_02.json | 5 + .../Short_fuzzed_03.json | 5 + .../Short_fuzzed_04.json | 5 + .../Short_fuzzed_05.json | 5 + .../Short_fuzzed_06.json | 5 + .../Short_fuzzed_07.json | 5 + .../Short_fuzzed_08.json | 5 + .../Short_fuzzed_09.json | 5 + .../Short_fuzzed_10.json | 5 + .../valueOverValueExamples/Short_max.json | 5 + .../valueOverValueExamples/Short_min.json | 5 + .../Short_negative.json | 5 + .../Short_prefixed_with_zeros.json | 5 + .../valueOverValueExamples/Short_zero.json | 5 + .../Short_zero_prefixed_with_zeros.json | 5 + .../valueOverValueExamples/String_empty.json | 5 + .../String_free_form_text.json | 5 + .../String_fuzzed_01.json | 5 + .../String_fuzzed_02.json | 5 + .../String_fuzzed_03.json | 5 + .../String_fuzzed_04.json | 5 + .../String_fuzzed_05.json | 5 + .../String_fuzzed_06.json | 5 + .../String_fuzzed_07.json | 5 + .../String_fuzzed_08.json | 5 + .../String_fuzzed_09.json | 5 + .../String_fuzzed_10.json | 5 + .../Time_common_example.json | 5 + .../Time_fuzzed_01.json | 5 + .../Time_fuzzed_02.json | 5 + .../Time_fuzzed_03.json | 5 + .../Time_fuzzed_04.json | 5 + .../Time_fuzzed_05.json | 5 + .../Time_fuzzed_06.json | 5 + .../Time_fuzzed_07.json | 5 + .../Time_fuzzed_08.json | 5 + .../Time_fuzzed_09.json | 5 + .../Time_fuzzed_10.json | 5 + .../Time_negative_offset.json | 5 + .../Time_positive_offset.json | 5 + .../Time_with_long_second_fractional.json | 5 + .../Time_with_second_fractional.json | 5 + .../Time_with_utc_timezone.json | 5 + .../Time_zero_offset.json | 5 + .../Unsigned_byte_common_example.json | 5 + .../Unsigned_byte_explicitly_positive.json | 5 + .../Unsigned_byte_fuzzed_01.json | 5 + .../Unsigned_byte_fuzzed_02.json | 5 + .../Unsigned_byte_fuzzed_03.json | 5 + .../Unsigned_byte_fuzzed_04.json | 5 + .../Unsigned_byte_fuzzed_05.json | 5 + .../Unsigned_byte_fuzzed_06.json | 5 + .../Unsigned_byte_fuzzed_07.json | 5 + .../Unsigned_byte_fuzzed_08.json | 5 + .../Unsigned_byte_fuzzed_09.json | 5 + .../Unsigned_byte_fuzzed_10.json | 5 + .../Unsigned_byte_max.json | 5 + .../Unsigned_byte_prefixed_with_zeros.json | 5 + .../Unsigned_byte_zero.json | 5 + ...nsigned_byte_zero_prefixed_with_zeros.json | 5 + .../Unsigned_int_common_example.json | 5 + .../Unsigned_int_explicitly_positive.json | 5 + .../Unsigned_int_fuzzed_01.json | 5 + .../Unsigned_int_fuzzed_02.json | 5 + .../Unsigned_int_fuzzed_03.json | 5 + .../Unsigned_int_fuzzed_04.json | 5 + .../Unsigned_int_fuzzed_05.json | 5 + .../Unsigned_int_fuzzed_06.json | 5 + .../Unsigned_int_fuzzed_07.json | 5 + .../Unsigned_int_fuzzed_08.json | 5 + .../Unsigned_int_fuzzed_09.json | 5 + .../Unsigned_int_fuzzed_10.json | 5 + .../Unsigned_int_max.json | 5 + .../Unsigned_int_prefixed_with_zeros.json | 5 + .../Unsigned_int_zero.json | 5 + ...Unsigned_int_zero_prefixed_with_zeros.json | 5 + .../Unsigned_long_common_example.json | 5 + .../Unsigned_long_explicitly_positive.json | 5 + .../Unsigned_long_fuzzed_01.json | 5 + .../Unsigned_long_fuzzed_02.json | 5 + .../Unsigned_long_fuzzed_03.json | 5 + .../Unsigned_long_fuzzed_04.json | 5 + .../Unsigned_long_fuzzed_05.json | 5 + .../Unsigned_long_fuzzed_06.json | 5 + .../Unsigned_long_fuzzed_07.json | 5 + .../Unsigned_long_fuzzed_08.json | 5 + .../Unsigned_long_fuzzed_09.json | 5 + .../Unsigned_long_fuzzed_10.json | 5 + .../Unsigned_long_max.json | 5 + .../Unsigned_long_prefixed_with_zeros.json | 5 + .../Unsigned_long_zero.json | 5 + ...nsigned_long_zero_prefixed_with_zeros.json | 5 + .../Unsigned_short_common_example.json | 5 + .../Unsigned_short_explicitly_positive.json | 5 + .../Unsigned_short_fuzzed_01.json | 5 + .../Unsigned_short_fuzzed_02.json | 5 + .../Unsigned_short_fuzzed_03.json | 5 + .../Unsigned_short_fuzzed_04.json | 5 + .../Unsigned_short_fuzzed_05.json | 5 + .../Unsigned_short_fuzzed_06.json | 5 + .../Unsigned_short_fuzzed_07.json | 5 + .../Unsigned_short_fuzzed_08.json | 5 + .../Unsigned_short_fuzzed_09.json | 5 + .../Unsigned_short_fuzzed_10.json | 5 + .../Unsigned_short_max.json | 5 + .../Unsigned_short_prefixed_with_zeros.json | 5 + .../Unsigned_short_zero.json | 5 + ...signed_short_zero_prefixed_with_zeros.json | 5 + .../fuzzed_01.json | 5 + .../fuzzed_02.json | 5 + .../fuzzed_03.json | 5 + .../fuzzed_04.json | 5 + .../fuzzed_05.json | 5 + .../fuzzed_06.json | 5 + .../fuzzed_07.json | 5 + .../fuzzed_08.json | 5 + .../fuzzed_09.json | 5 + .../fuzzed_10.json | 5 + .../alternating_hyphen_underscore.json | 5 + .../ends_with_underscore.json | 5 + .../idShortOverPatternExamples/fuzzed_01.json | 5 + .../idShortOverPatternExamples/fuzzed_02.json | 5 + .../idShortOverPatternExamples/fuzzed_03.json | 5 + .../idShortOverPatternExamples/fuzzed_04.json | 5 + .../idShortOverPatternExamples/fuzzed_05.json | 5 + .../idShortOverPatternExamples/fuzzed_06.json | 5 + .../idShortOverPatternExamples/fuzzed_07.json | 5 + .../idShortOverPatternExamples/fuzzed_08.json | 5 + .../idShortOverPatternExamples/fuzzed_09.json | 5 + .../idShortOverPatternExamples/fuzzed_10.json | 5 + .../hyphen_then_underscore.json | 5 + .../many_internal_hyphens.json | 5 + .../many_underscores.json | 5 + .../minimal_digit.json | 5 + .../minimal_lower.json | 5 + .../minimal_underscore.json | 5 + .../minimal_upper.json | 5 + .../single_internal_hyphen.json | 5 + .../underscore_after_first.json | 5 + .../Json/Expected/Range/maximal.json | 142 + .../Json/Expected/Range/minimal.json | 4 + .../Range/overMinMaxExamples/Any_URI_URI.json | 6 + .../Any_URI_absolute_path_without_scheme.json | 6 + .../overMinMaxExamples/Any_URI_empty.json | 6 + .../overMinMaxExamples/Any_URI_fuzzed_01.json | 6 + .../overMinMaxExamples/Any_URI_fuzzed_02.json | 6 + .../overMinMaxExamples/Any_URI_fuzzed_03.json | 6 + .../overMinMaxExamples/Any_URI_fuzzed_04.json | 6 + .../overMinMaxExamples/Any_URI_fuzzed_05.json | 6 + .../overMinMaxExamples/Any_URI_fuzzed_06.json | 6 + .../overMinMaxExamples/Any_URI_fuzzed_07.json | 6 + .../overMinMaxExamples/Any_URI_fuzzed_08.json | 6 + .../overMinMaxExamples/Any_URI_fuzzed_09.json | 6 + .../overMinMaxExamples/Any_URI_fuzzed_10.json | 6 + .../overMinMaxExamples/Any_URI_integer.json | 6 + .../Any_URI_relative_path_without_scheme.json | 6 + ...ase_64_binary_an_empty_value_is_valid.json | 6 + ...ary_equals_signs_are_used_for_padding.json | 6 + .../Base_64_binary_fuzzed_01.json | 6 + .../Base_64_binary_fuzzed_02.json | 6 + .../Base_64_binary_fuzzed_03.json | 6 + .../Base_64_binary_fuzzed_04.json | 6 + .../Base_64_binary_fuzzed_05.json | 6 + .../Base_64_binary_fuzzed_06.json | 6 + .../Base_64_binary_fuzzed_07.json | 6 + .../Base_64_binary_fuzzed_08.json | 6 + .../Base_64_binary_fuzzed_09.json | 6 + .../Base_64_binary_fuzzed_10.json | 6 + ...pace_is_allowed_anywhere_in_the_value.json | 6 + ...ase_64_binary_without_space_lowercase.json | 6 + ...ase_64_binary_without_space_uppercase.json | 6 + .../Boolean_false_as_number.json | 6 + .../Boolean_false_in_letters.json | 6 + .../Boolean_true_as_number.json | 6 + .../Boolean_true_in_letters.json | 6 + .../Byte_common_example.json | 6 + .../Byte_explicitly_positive.json | 6 + .../overMinMaxExamples/Byte_fuzzed_01.json | 6 + .../overMinMaxExamples/Byte_fuzzed_02.json | 6 + .../overMinMaxExamples/Byte_fuzzed_03.json | 6 + .../overMinMaxExamples/Byte_fuzzed_04.json | 6 + .../overMinMaxExamples/Byte_fuzzed_05.json | 6 + .../overMinMaxExamples/Byte_fuzzed_06.json | 6 + .../overMinMaxExamples/Byte_fuzzed_07.json | 6 + .../overMinMaxExamples/Byte_fuzzed_08.json | 6 + .../overMinMaxExamples/Byte_fuzzed_09.json | 6 + .../overMinMaxExamples/Byte_fuzzed_10.json | 6 + .../Range/overMinMaxExamples/Byte_max.json | 6 + .../Range/overMinMaxExamples/Byte_min.json | 6 + .../overMinMaxExamples/Byte_negative.json | 6 + .../Byte_prefixed_with_zeros.json | 6 + .../Range/overMinMaxExamples/Byte_zero.json | 6 + .../Byte_zero_prefixed_with_zeros.json | 6 + .../Range/overMinMaxExamples/Date_date.json | 6 + .../Date_date_with_large_negative_year.json | 6 + .../Date_date_with_large_positive_year.json | 6 + .../Date_date_with_negative_offset.json | 6 + .../Date_date_with_positive_offset.json | 6 + .../Date_date_with_utc.json | 6 + .../Date_date_with_zero_offset.json | 6 + .../overMinMaxExamples/Date_fuzzed_01.json | 6 + .../overMinMaxExamples/Date_fuzzed_02.json | 6 + .../overMinMaxExamples/Date_fuzzed_03.json | 6 + .../overMinMaxExamples/Date_fuzzed_04.json | 6 + .../overMinMaxExamples/Date_fuzzed_05.json | 6 + .../overMinMaxExamples/Date_fuzzed_06.json | 6 + .../overMinMaxExamples/Date_fuzzed_07.json | 6 + .../overMinMaxExamples/Date_fuzzed_08.json | 6 + .../overMinMaxExamples/Date_fuzzed_09.json | 6 + .../overMinMaxExamples/Date_fuzzed_10.json | 6 + .../Date_time_date_time_with_UTC.json | 6 + ...me_date_time_with_large_negative_year.json | 6 + ...me_date_time_with_large_positive_year.json | 6 + ...ate_time_with_long_fractional_seconds.json | 6 + ...e_time_date_time_with_negative_offset.json | 6 + ...e_time_date_time_with_positive_offset.json | 6 + .../Date_time_date_time_with_zero_offset.json | 6 + .../Date_time_date_time_without_zone.json | 6 + .../Date_time_fuzzed_01.json | 6 + .../Date_time_fuzzed_02.json | 6 + .../Date_time_fuzzed_03.json | 6 + .../Date_time_fuzzed_04.json | 6 + .../Date_time_fuzzed_05.json | 6 + .../Date_time_fuzzed_06.json | 6 + .../Date_time_fuzzed_07.json | 6 + .../Date_time_fuzzed_08.json | 6 + .../Date_time_fuzzed_09.json | 6 + .../Date_time_fuzzed_10.json | 6 + .../Date_time_midnight_with_24_hours.json | 6 + .../Date_time_midnight_with_zeros.json | 6 + .../Date_time_year_1_bce_is_a_leap_year.json | 6 + .../Date_time_year_5_bce_is_a_leap_year.json | 6 + .../Date_year_1_bce_is_a_leap_year.json | 6 + .../Date_year_5_bce_is_a_leap_year.json | 6 + .../overMinMaxExamples/Decimal_decimal.json | 6 + .../Decimal_decimal_with_long_fractional.json | 6 + .../Decimal_decimal_with_preceding_zeros.json | 6 + .../overMinMaxExamples/Decimal_fuzzed_01.json | 6 + .../overMinMaxExamples/Decimal_fuzzed_02.json | 6 + .../overMinMaxExamples/Decimal_fuzzed_03.json | 6 + .../overMinMaxExamples/Decimal_fuzzed_04.json | 6 + .../overMinMaxExamples/Decimal_fuzzed_05.json | 6 + .../overMinMaxExamples/Decimal_fuzzed_06.json | 6 + .../overMinMaxExamples/Decimal_fuzzed_07.json | 6 + .../overMinMaxExamples/Decimal_fuzzed_08.json | 6 + .../overMinMaxExamples/Decimal_fuzzed_09.json | 6 + .../overMinMaxExamples/Decimal_fuzzed_10.json | 6 + .../overMinMaxExamples/Decimal_integer.json | 6 + .../Decimal_integer_with_preceding_zeros.json | 6 + .../Decimal_very_large_decimal.json | 6 + .../overMinMaxExamples/Double_double.json | 6 + .../overMinMaxExamples/Double_fuzzed_01.json | 6 + .../overMinMaxExamples/Double_fuzzed_02.json | 6 + .../overMinMaxExamples/Double_fuzzed_03.json | 6 + .../overMinMaxExamples/Double_fuzzed_04.json | 6 + .../overMinMaxExamples/Double_fuzzed_05.json | 6 + .../overMinMaxExamples/Double_fuzzed_06.json | 6 + .../overMinMaxExamples/Double_fuzzed_07.json | 6 + .../overMinMaxExamples/Double_fuzzed_08.json | 6 + .../overMinMaxExamples/Double_fuzzed_09.json | 6 + .../overMinMaxExamples/Double_fuzzed_10.json | 6 + .../Range/overMinMaxExamples/Double_inf.json | 6 + .../overMinMaxExamples/Double_integer.json | 6 + .../Double_integer_with_preceding_zeros.json | 6 + ...f_precision_is_not_detected_by_design.json | 6 + .../overMinMaxExamples/Double_lowest.json | 6 + .../Range/overMinMaxExamples/Double_max.json | 6 + .../overMinMaxExamples/Double_minus_inf.json | 6 + .../Range/overMinMaxExamples/Double_nan.json | 6 + .../Double_scientific_notation.json | 6 + .../Double_scientific_notation_negative.json | 6 + ...scientific_notation_negative_exponent.json | 6 + .../Double_scientific_notation_positive.json | 6 + ...scientific_notation_positive_exponent.json | 6 + .../Double_very_large_normal.json | 6 + .../Double_very_precise_subnormal.json | 6 + .../Double_with_preceding_zeros.json | 6 + .../Duration_day_seconds.json | 6 + .../overMinMaxExamples/Duration_full.json | 6 + .../Duration_fuzzed_01.json | 6 + .../Duration_fuzzed_02.json | 6 + .../Duration_fuzzed_03.json | 6 + .../Duration_fuzzed_04.json | 6 + .../Duration_fuzzed_05.json | 6 + .../Duration_fuzzed_06.json | 6 + .../Duration_fuzzed_07.json | 6 + .../Duration_fuzzed_08.json | 6 + .../Duration_fuzzed_09.json | 6 + .../Duration_fuzzed_10.json | 6 + .../Duration_long_second_fractal.json | 6 + .../Duration_many_many_seconds.json | 6 + .../Duration_month_seconds.json | 6 + .../Duration_only_seconds.json | 6 + .../Duration_only_year.json | 6 + .../Range/overMinMaxExamples/Float_float.json | 6 + .../overMinMaxExamples/Float_fuzzed_01.json | 6 + .../overMinMaxExamples/Float_fuzzed_02.json | 6 + .../overMinMaxExamples/Float_fuzzed_03.json | 6 + .../overMinMaxExamples/Float_fuzzed_04.json | 6 + .../overMinMaxExamples/Float_fuzzed_05.json | 6 + .../overMinMaxExamples/Float_fuzzed_06.json | 6 + .../overMinMaxExamples/Float_fuzzed_07.json | 6 + .../overMinMaxExamples/Float_fuzzed_08.json | 6 + .../overMinMaxExamples/Float_fuzzed_09.json | 6 + .../overMinMaxExamples/Float_fuzzed_10.json | 6 + .../Range/overMinMaxExamples/Float_inf.json | 6 + .../overMinMaxExamples/Float_integer.json | 6 + .../Float_integer_with_preceding_zeros.json | 6 + .../Float_largest_normal.json | 6 + .../Float_largest_number_less_than_one.json | 6 + .../Float_largest_subnormal.json | 6 + ...f_precision_is_not_detected_by_design.json | 6 + .../Range/overMinMaxExamples/Float_nan.json | 6 + .../Float_negative_inf.json | 6 + .../Float_scientific_notation.json | 6 + .../Float_scientific_notation_negative.json | 6 + ...scientific_notation_negative_exponent.json | 6 + .../Float_scientific_notation_positive.json | 6 + ...scientific_notation_positive_exponent.json | 6 + ...Float_smallest_number_larger_than_one.json | 6 + .../Float_smallest_positive_normal.json | 6 + .../Float_smallest_positive_subnormal.json | 6 + .../Float_with_preceding_zeros.json | 6 + ...t_existing_in_all_months_without_zone.json | 6 + .../G_day_double_digit_day_without_zone.json | 6 + .../overMinMaxExamples/G_day_fuzzed_01.json | 6 + .../overMinMaxExamples/G_day_fuzzed_02.json | 6 + .../overMinMaxExamples/G_day_fuzzed_03.json | 6 + .../overMinMaxExamples/G_day_fuzzed_04.json | 6 + .../overMinMaxExamples/G_day_fuzzed_05.json | 6 + .../overMinMaxExamples/G_day_fuzzed_06.json | 6 + .../overMinMaxExamples/G_day_fuzzed_07.json | 6 + .../overMinMaxExamples/G_day_fuzzed_08.json | 6 + .../overMinMaxExamples/G_day_fuzzed_09.json | 6 + .../overMinMaxExamples/G_day_fuzzed_10.json | 6 + .../G_day_negative_offset.json | 6 + .../G_day_positive_offset.json | 6 + .../G_day_single_digit_day_without_zone.json | 6 + .../overMinMaxExamples/G_day_utc_zone.json | 6 + .../overMinMaxExamples/G_day_zero_offset.json | 6 + ...t_month_double_digit_day_without_zone.json | 6 + ...t_month_single_digit_day_without_zone.json | 6 + ...9th_which_does_not_exist_in_all_years.json | 6 + .../G_month_day_fuzzed_01.json | 6 + .../G_month_day_fuzzed_02.json | 6 + .../G_month_day_fuzzed_03.json | 6 + .../G_month_day_fuzzed_04.json | 6 + .../G_month_day_fuzzed_05.json | 6 + .../G_month_day_fuzzed_06.json | 6 + .../G_month_day_fuzzed_07.json | 6 + .../G_month_day_fuzzed_08.json | 6 + .../G_month_day_fuzzed_09.json | 6 + .../G_month_day_fuzzed_10.json | 6 + .../G_month_day_negative_offset.json | 6 + .../G_month_day_positive_offset.json | 6 + ...t_month_single_digit_day_without_zone.json | 6 + .../G_month_day_utc_zone.json | 6 + .../G_month_day_zero_offset.json | 6 + ...month_double_digit_month_without_zone.json | 6 + .../overMinMaxExamples/G_month_fuzzed_01.json | 6 + .../overMinMaxExamples/G_month_fuzzed_02.json | 6 + .../overMinMaxExamples/G_month_fuzzed_03.json | 6 + .../overMinMaxExamples/G_month_fuzzed_04.json | 6 + .../overMinMaxExamples/G_month_fuzzed_05.json | 6 + .../overMinMaxExamples/G_month_fuzzed_06.json | 6 + .../overMinMaxExamples/G_month_fuzzed_07.json | 6 + .../overMinMaxExamples/G_month_fuzzed_08.json | 6 + .../overMinMaxExamples/G_month_fuzzed_09.json | 6 + .../overMinMaxExamples/G_month_fuzzed_10.json | 6 + .../G_month_negative_offset.json | 6 + .../G_month_positive_offset.json | 6 + ...month_single_digit_month_without_zone.json | 6 + .../overMinMaxExamples/G_month_utc_zone.json | 6 + .../G_month_zero_offset.json | 6 + .../G_year_five_digit_negative_year.json | 6 + .../G_year_five_digit_year.json | 6 + .../overMinMaxExamples/G_year_fuzzed_01.json | 6 + .../overMinMaxExamples/G_year_fuzzed_02.json | 6 + .../overMinMaxExamples/G_year_fuzzed_03.json | 6 + .../overMinMaxExamples/G_year_fuzzed_04.json | 6 + .../overMinMaxExamples/G_year_fuzzed_05.json | 6 + .../overMinMaxExamples/G_year_fuzzed_06.json | 6 + .../overMinMaxExamples/G_year_fuzzed_07.json | 6 + .../overMinMaxExamples/G_year_fuzzed_08.json | 6 + .../overMinMaxExamples/G_year_fuzzed_09.json | 6 + .../overMinMaxExamples/G_year_fuzzed_10.json | 6 + .../G_year_month_common_year_month.json | 6 + ...G_year_month_five_digit_negative_year.json | 6 + .../G_year_month_fuzzed_01.json | 6 + .../G_year_month_fuzzed_02.json | 6 + .../G_year_month_fuzzed_03.json | 6 + .../G_year_month_fuzzed_04.json | 6 + .../G_year_month_fuzzed_05.json | 6 + .../G_year_month_fuzzed_06.json | 6 + .../G_year_month_fuzzed_07.json | 6 + .../G_year_month_fuzzed_08.json | 6 + .../G_year_month_fuzzed_09.json | 6 + .../G_year_month_fuzzed_10.json | 6 + .../G_year_month_negative_year.json | 6 + ...G_year_month_very_large_negative_year.json | 6 + ...G_year_month_very_large_positive_year.json | 6 + .../G_year_month_with_negative_offset.json | 6 + .../G_year_month_with_positive_offset.json | 6 + .../G_year_month_with_utc_zone.json | 6 + .../G_year_month_with_zero_offset.json | 6 + .../G_year_negative_offset.json | 6 + .../G_year_negative_year.json | 6 + .../G_year_positive_offset.json | 6 + .../overMinMaxExamples/G_year_utc_zone.json | 6 + .../G_year_very_large_negative_year.json | 6 + .../G_year_very_large_positive_year.json | 6 + .../G_year_year_without_zone.json | 6 + .../G_year_zero_offset.json | 6 + .../overMinMaxExamples/Hex_binary_empty.json | 6 + .../Hex_binary_fuzzed_01.json | 6 + .../Hex_binary_fuzzed_02.json | 6 + .../Hex_binary_fuzzed_03.json | 6 + .../Hex_binary_fuzzed_04.json | 6 + .../Hex_binary_fuzzed_05.json | 6 + .../Hex_binary_fuzzed_06.json | 6 + .../Hex_binary_fuzzed_07.json | 6 + .../Hex_binary_fuzzed_08.json | 6 + .../Hex_binary_fuzzed_09.json | 6 + .../Hex_binary_fuzzed_10.json | 6 + .../Hex_binary_long_random_hex.json | 6 + .../Hex_binary_one_one.json | 6 + .../Hex_binary_one_two.json | 6 + .../Hex_binary_one_two_three_four.json | 6 + .../Int_common_example.json | 6 + .../Int_explicitly_positive.json | 6 + .../overMinMaxExamples/Int_fuzzed_01.json | 6 + .../overMinMaxExamples/Int_fuzzed_02.json | 6 + .../overMinMaxExamples/Int_fuzzed_03.json | 6 + .../overMinMaxExamples/Int_fuzzed_04.json | 6 + .../overMinMaxExamples/Int_fuzzed_05.json | 6 + .../overMinMaxExamples/Int_fuzzed_06.json | 6 + .../overMinMaxExamples/Int_fuzzed_07.json | 6 + .../overMinMaxExamples/Int_fuzzed_08.json | 6 + .../overMinMaxExamples/Int_fuzzed_09.json | 6 + .../overMinMaxExamples/Int_fuzzed_10.json | 6 + .../Range/overMinMaxExamples/Int_max.json | 6 + .../Range/overMinMaxExamples/Int_min.json | 6 + .../overMinMaxExamples/Int_negative.json | 6 + .../Int_prefixed_with_zeros.json | 6 + .../Range/overMinMaxExamples/Int_zero.json | 6 + .../Int_zero_prefixed_with_zeros.json | 6 + .../Integer_common_example.json | 6 + .../Integer_explicitly_positive.json | 6 + .../overMinMaxExamples/Integer_fuzzed_01.json | 6 + .../overMinMaxExamples/Integer_fuzzed_02.json | 6 + .../overMinMaxExamples/Integer_fuzzed_03.json | 6 + .../overMinMaxExamples/Integer_fuzzed_04.json | 6 + .../overMinMaxExamples/Integer_fuzzed_05.json | 6 + .../overMinMaxExamples/Integer_fuzzed_06.json | 6 + .../overMinMaxExamples/Integer_fuzzed_07.json | 6 + .../overMinMaxExamples/Integer_fuzzed_08.json | 6 + .../overMinMaxExamples/Integer_fuzzed_09.json | 6 + .../overMinMaxExamples/Integer_fuzzed_10.json | 6 + .../overMinMaxExamples/Integer_negative.json | 6 + .../Integer_prefixed_with_zeros.json | 6 + .../Integer_very_large.json | 6 + .../overMinMaxExamples/Integer_zero.json | 6 + .../Integer_zero_prefixed_with_zeros.json | 6 + .../Long_common_example.json | 6 + .../Long_explicitly_positive.json | 6 + .../overMinMaxExamples/Long_fuzzed_01.json | 6 + .../overMinMaxExamples/Long_fuzzed_02.json | 6 + .../overMinMaxExamples/Long_fuzzed_03.json | 6 + .../overMinMaxExamples/Long_fuzzed_04.json | 6 + .../overMinMaxExamples/Long_fuzzed_05.json | 6 + .../overMinMaxExamples/Long_fuzzed_06.json | 6 + .../overMinMaxExamples/Long_fuzzed_07.json | 6 + .../overMinMaxExamples/Long_fuzzed_08.json | 6 + .../overMinMaxExamples/Long_fuzzed_09.json | 6 + .../overMinMaxExamples/Long_fuzzed_10.json | 6 + .../Range/overMinMaxExamples/Long_max.json | 6 + .../Range/overMinMaxExamples/Long_min.json | 6 + .../overMinMaxExamples/Long_negative.json | 6 + .../Long_prefixed_with_zeros.json | 6 + .../Range/overMinMaxExamples/Long_zero.json | 6 + .../Long_zero_prefixed_with_zeros.json | 6 + .../Negative_integer_fuzzed_01.json | 6 + .../Negative_integer_fuzzed_02.json | 6 + .../Negative_integer_fuzzed_03.json | 6 + .../Negative_integer_fuzzed_04.json | 6 + .../Negative_integer_fuzzed_05.json | 6 + .../Negative_integer_fuzzed_06.json | 6 + .../Negative_integer_fuzzed_07.json | 6 + .../Negative_integer_fuzzed_08.json | 6 + .../Negative_integer_fuzzed_09.json | 6 + .../Negative_integer_fuzzed_10.json | 6 + .../Negative_integer_negative.json | 6 + .../Negative_integer_prefixed_with_zeros.json | 6 + .../Negative_integer_very_large.json | 6 + .../Non_negative_integer_common_example.json | 6 + ..._negative_integer_explicitly_positive.json | 6 + ...plicitly_positive_prefixed_with_zeros.json | 6 + .../Non_negative_integer_fuzzed_01.json | 6 + .../Non_negative_integer_fuzzed_02.json | 6 + .../Non_negative_integer_fuzzed_03.json | 6 + .../Non_negative_integer_fuzzed_04.json | 6 + .../Non_negative_integer_fuzzed_05.json | 6 + .../Non_negative_integer_fuzzed_06.json | 6 + .../Non_negative_integer_fuzzed_07.json | 6 + .../Non_negative_integer_fuzzed_08.json | 6 + .../Non_negative_integer_fuzzed_09.json | 6 + .../Non_negative_integer_fuzzed_10.json | 6 + .../Non_negative_integer_minus_zero.json | 6 + .../Non_negative_integer_positive_zero.json | 6 + ..._negative_integer_prefixed_with_zeros.json | 6 + .../Non_negative_integer_very_large.json | 6 + .../Non_negative_integer_zero.json | 6 + ...tive_integer_zero_prefixed_with_zeros.json | 6 + ...tive_integer_explicitly_positive_zero.json | 6 + .../Non_positive_integer_fuzzed_01.json | 6 + .../Non_positive_integer_fuzzed_02.json | 6 + .../Non_positive_integer_fuzzed_03.json | 6 + .../Non_positive_integer_fuzzed_04.json | 6 + .../Non_positive_integer_fuzzed_05.json | 6 + .../Non_positive_integer_fuzzed_06.json | 6 + .../Non_positive_integer_fuzzed_07.json | 6 + .../Non_positive_integer_fuzzed_08.json | 6 + .../Non_positive_integer_fuzzed_09.json | 6 + .../Non_positive_integer_fuzzed_10.json | 6 + .../Non_positive_integer_negative.json | 6 + ..._positive_integer_prefixed_with_zeros.json | 6 + .../Non_positive_integer_very_large.json | 6 + .../Non_positive_integer_zero.json | 6 + .../Positive_integer_common_example.json | 6 + .../Positive_integer_explicitly_positive.json | 6 + .../Positive_integer_fuzzed_01.json | 6 + .../Positive_integer_fuzzed_02.json | 6 + .../Positive_integer_fuzzed_03.json | 6 + .../Positive_integer_fuzzed_04.json | 6 + .../Positive_integer_fuzzed_05.json | 6 + .../Positive_integer_fuzzed_06.json | 6 + .../Positive_integer_fuzzed_07.json | 6 + .../Positive_integer_fuzzed_08.json | 6 + .../Positive_integer_fuzzed_09.json | 6 + .../Positive_integer_fuzzed_10.json | 6 + .../Positive_integer_prefixed_with_zeros.json | 6 + .../Positive_integer_very_large.json | 6 + .../Short_common_example.json | 6 + .../Short_explicitly_positive.json | 6 + .../overMinMaxExamples/Short_fuzzed_01.json | 6 + .../overMinMaxExamples/Short_fuzzed_02.json | 6 + .../overMinMaxExamples/Short_fuzzed_03.json | 6 + .../overMinMaxExamples/Short_fuzzed_04.json | 6 + .../overMinMaxExamples/Short_fuzzed_05.json | 6 + .../overMinMaxExamples/Short_fuzzed_06.json | 6 + .../overMinMaxExamples/Short_fuzzed_07.json | 6 + .../overMinMaxExamples/Short_fuzzed_08.json | 6 + .../overMinMaxExamples/Short_fuzzed_09.json | 6 + .../overMinMaxExamples/Short_fuzzed_10.json | 6 + .../Range/overMinMaxExamples/Short_max.json | 6 + .../Range/overMinMaxExamples/Short_min.json | 6 + .../overMinMaxExamples/Short_negative.json | 6 + .../Short_prefixed_with_zeros.json | 6 + .../Range/overMinMaxExamples/Short_zero.json | 6 + .../Short_zero_prefixed_with_zeros.json | 6 + .../overMinMaxExamples/String_empty.json | 6 + .../String_free_form_text.json | 6 + .../overMinMaxExamples/String_fuzzed_01.json | 6 + .../overMinMaxExamples/String_fuzzed_02.json | 6 + .../overMinMaxExamples/String_fuzzed_03.json | 6 + .../overMinMaxExamples/String_fuzzed_04.json | 6 + .../overMinMaxExamples/String_fuzzed_05.json | 6 + .../overMinMaxExamples/String_fuzzed_06.json | 6 + .../overMinMaxExamples/String_fuzzed_07.json | 6 + .../overMinMaxExamples/String_fuzzed_08.json | 6 + .../overMinMaxExamples/String_fuzzed_09.json | 6 + .../overMinMaxExamples/String_fuzzed_10.json | 6 + .../Time_common_example.json | 6 + .../overMinMaxExamples/Time_fuzzed_01.json | 6 + .../overMinMaxExamples/Time_fuzzed_02.json | 6 + .../overMinMaxExamples/Time_fuzzed_03.json | 6 + .../overMinMaxExamples/Time_fuzzed_04.json | 6 + .../overMinMaxExamples/Time_fuzzed_05.json | 6 + .../overMinMaxExamples/Time_fuzzed_06.json | 6 + .../overMinMaxExamples/Time_fuzzed_07.json | 6 + .../overMinMaxExamples/Time_fuzzed_08.json | 6 + .../overMinMaxExamples/Time_fuzzed_09.json | 6 + .../overMinMaxExamples/Time_fuzzed_10.json | 6 + .../Time_negative_offset.json | 6 + .../Time_positive_offset.json | 6 + .../Time_with_long_second_fractional.json | 6 + .../Time_with_second_fractional.json | 6 + .../Time_with_utc_timezone.json | 6 + .../overMinMaxExamples/Time_zero_offset.json | 6 + .../Unsigned_byte_common_example.json | 6 + .../Unsigned_byte_explicitly_positive.json | 6 + .../Unsigned_byte_fuzzed_01.json | 6 + .../Unsigned_byte_fuzzed_02.json | 6 + .../Unsigned_byte_fuzzed_03.json | 6 + .../Unsigned_byte_fuzzed_04.json | 6 + .../Unsigned_byte_fuzzed_05.json | 6 + .../Unsigned_byte_fuzzed_06.json | 6 + .../Unsigned_byte_fuzzed_07.json | 6 + .../Unsigned_byte_fuzzed_08.json | 6 + .../Unsigned_byte_fuzzed_09.json | 6 + .../Unsigned_byte_fuzzed_10.json | 6 + .../overMinMaxExamples/Unsigned_byte_max.json | 6 + .../Unsigned_byte_prefixed_with_zeros.json | 6 + .../Unsigned_byte_zero.json | 6 + ...nsigned_byte_zero_prefixed_with_zeros.json | 6 + .../Unsigned_int_common_example.json | 6 + .../Unsigned_int_explicitly_positive.json | 6 + .../Unsigned_int_fuzzed_01.json | 6 + .../Unsigned_int_fuzzed_02.json | 6 + .../Unsigned_int_fuzzed_03.json | 6 + .../Unsigned_int_fuzzed_04.json | 6 + .../Unsigned_int_fuzzed_05.json | 6 + .../Unsigned_int_fuzzed_06.json | 6 + .../Unsigned_int_fuzzed_07.json | 6 + .../Unsigned_int_fuzzed_08.json | 6 + .../Unsigned_int_fuzzed_09.json | 6 + .../Unsigned_int_fuzzed_10.json | 6 + .../overMinMaxExamples/Unsigned_int_max.json | 6 + .../Unsigned_int_prefixed_with_zeros.json | 6 + .../overMinMaxExamples/Unsigned_int_zero.json | 6 + ...Unsigned_int_zero_prefixed_with_zeros.json | 6 + .../Unsigned_long_common_example.json | 6 + .../Unsigned_long_explicitly_positive.json | 6 + .../Unsigned_long_fuzzed_01.json | 6 + .../Unsigned_long_fuzzed_02.json | 6 + .../Unsigned_long_fuzzed_03.json | 6 + .../Unsigned_long_fuzzed_04.json | 6 + .../Unsigned_long_fuzzed_05.json | 6 + .../Unsigned_long_fuzzed_06.json | 6 + .../Unsigned_long_fuzzed_07.json | 6 + .../Unsigned_long_fuzzed_08.json | 6 + .../Unsigned_long_fuzzed_09.json | 6 + .../Unsigned_long_fuzzed_10.json | 6 + .../overMinMaxExamples/Unsigned_long_max.json | 6 + .../Unsigned_long_prefixed_with_zeros.json | 6 + .../Unsigned_long_zero.json | 6 + ...nsigned_long_zero_prefixed_with_zeros.json | 6 + .../Unsigned_short_common_example.json | 6 + .../Unsigned_short_explicitly_positive.json | 6 + .../Unsigned_short_fuzzed_01.json | 6 + .../Unsigned_short_fuzzed_02.json | 6 + .../Unsigned_short_fuzzed_03.json | 6 + .../Unsigned_short_fuzzed_04.json | 6 + .../Unsigned_short_fuzzed_05.json | 6 + .../Unsigned_short_fuzzed_06.json | 6 + .../Unsigned_short_fuzzed_07.json | 6 + .../Unsigned_short_fuzzed_08.json | 6 + .../Unsigned_short_fuzzed_09.json | 6 + .../Unsigned_short_fuzzed_10.json | 6 + .../Unsigned_short_max.json | 6 + .../Unsigned_short_prefixed_with_zeros.json | 6 + .../Unsigned_short_zero.json | 6 + ...signed_short_zero_prefixed_with_zeros.json | 6 + ...key_in_generic_globally_identifiables.json | 9 + ...nce_last_key_in_generic_fragment_keys.json | 13 + ..._key_in_generic_globally_identifiable.json | 13 + .../Json/Expected/Reference/maximal.json | 18 + .../Json/Expected/Reference/minimal.json | 9 + ...key_in_globally_and_aas_identifiables.json | 9 + .../model_reference_fragment_after_blob.json | 17 + ..._reference_valid_key_value_after_list.json | 17 + .../fuzzed_01.json | 4 + .../fuzzed_02.json | 4 + .../fuzzed_03.json | 4 + .../fuzzed_04.json | 4 + .../fuzzed_05.json | 4 + .../fuzzed_06.json | 4 + .../fuzzed_07.json | 4 + .../fuzzed_08.json | 4 + .../fuzzed_09.json | 4 + .../fuzzed_10.json | 4 + .../alternating_hyphen_underscore.json | 4 + .../ends_with_underscore.json | 4 + .../idShortOverPatternExamples/fuzzed_01.json | 4 + .../idShortOverPatternExamples/fuzzed_02.json | 4 + .../idShortOverPatternExamples/fuzzed_03.json | 4 + .../idShortOverPatternExamples/fuzzed_04.json | 4 + .../idShortOverPatternExamples/fuzzed_05.json | 4 + .../idShortOverPatternExamples/fuzzed_06.json | 4 + .../idShortOverPatternExamples/fuzzed_07.json | 4 + .../idShortOverPatternExamples/fuzzed_08.json | 4 + .../idShortOverPatternExamples/fuzzed_09.json | 4 + .../idShortOverPatternExamples/fuzzed_10.json | 4 + .../hyphen_then_underscore.json | 4 + .../many_internal_hyphens.json | 4 + .../many_underscores.json | 4 + .../minimal_digit.json | 4 + .../minimal_lower.json | 4 + .../minimal_underscore.json | 4 + .../minimal_upper.json | 4 + .../single_internal_hyphen.json | 4 + .../underscore_after_first.json | 4 + .../Expected/ReferenceElement/maximal.json | 148 + .../Expected/ReferenceElement/minimal.json | 3 + .../fuzzed_01.json | 4 + .../fuzzed_02.json | 4 + .../fuzzed_03.json | 4 + .../fuzzed_04.json | 4 + .../fuzzed_05.json | 4 + .../fuzzed_06.json | 4 + .../fuzzed_07.json | 4 + .../fuzzed_08.json | 4 + .../fuzzed_09.json | 4 + .../fuzzed_10.json | 4 + .../alternating_hyphen_underscore.json | 4 + .../ends_with_underscore.json | 4 + .../idShortOverPatternExamples/fuzzed_01.json | 4 + .../idShortOverPatternExamples/fuzzed_02.json | 4 + .../idShortOverPatternExamples/fuzzed_03.json | 4 + .../idShortOverPatternExamples/fuzzed_04.json | 4 + .../idShortOverPatternExamples/fuzzed_05.json | 4 + .../idShortOverPatternExamples/fuzzed_06.json | 4 + .../idShortOverPatternExamples/fuzzed_07.json | 4 + .../idShortOverPatternExamples/fuzzed_08.json | 4 + .../idShortOverPatternExamples/fuzzed_09.json | 4 + .../idShortOverPatternExamples/fuzzed_10.json | 4 + .../hyphen_then_underscore.json | 4 + .../many_internal_hyphens.json | 4 + .../many_underscores.json | 4 + .../minimal_digit.json | 4 + .../minimal_lower.json | 4 + .../minimal_underscore.json | 4 + .../minimal_upper.json | 4 + .../single_internal_hyphen.json | 4 + .../underscore_after_first.json | 4 + .../Expected/RelationshipElement/maximal.json | 157 + .../Expected/RelationshipElement/minimal.json | 3 + .../contentTypeOverPatternExamples/dash.json | 4 + .../contentTypeOverPatternExamples/dots.json | 4 + .../fuzzed_01.json | 4 + .../fuzzed_02.json | 4 + .../fuzzed_03.json | 4 + .../number prefix and suffix.json | 4 + .../only_letters.json | 4 + .../contentTypeOverPatternExamples/plus.json | 4 + .../random_common_MIME_type.json | 4 + .../Json/Expected/Resource/maximal.json | 4 + .../Json/Expected/Resource/minimal.json | 3 + .../pathOverPatternExamples/fuzzed_01.json | 3 + .../pathOverPatternExamples/fuzzed_02.json | 3 + .../pathOverPatternExamples/fuzzed_03.json | 3 + .../pathOverPatternExamples/fuzzed_04.json | 3 + .../pathOverPatternExamples/fuzzed_05.json | 3 + .../pathOverPatternExamples/fuzzed_06.json | 3 + .../pathOverPatternExamples/fuzzed_07.json | 3 + .../pathOverPatternExamples/fuzzed_08.json | 3 + .../pathOverPatternExamples/fuzzed_09.json | 3 + .../pathOverPatternExamples/fuzzed_10.json | 3 + .../pathOverPatternExamples/made_up_01.json | 3 + .../pathOverPatternExamples/made_up_02.json | 3 + .../pathOverPatternExamples/made_up_03.json | 3 + .../pathOverPatternExamples/made_up_04.json | 3 + .../pathOverPatternExamples/made_up_05.json | 3 + .../Expected/SpecificAssetId/maximal.json | 51 + .../Expected/SpecificAssetId/minimal.json | 4 + .../nameOverPatternExamples/fuzzed_01.json | 4 + .../nameOverPatternExamples/fuzzed_02.json | 4 + .../nameOverPatternExamples/fuzzed_03.json | 4 + .../nameOverPatternExamples/fuzzed_04.json | 4 + .../nameOverPatternExamples/fuzzed_05.json | 4 + .../nameOverPatternExamples/fuzzed_06.json | 4 + .../nameOverPatternExamples/fuzzed_07.json | 4 + .../nameOverPatternExamples/fuzzed_08.json | 4 + .../nameOverPatternExamples/fuzzed_09.json | 4 + .../nameOverPatternExamples/fuzzed_10.json | 4 + .../valueOverPatternExamples/fuzzed_01.json | 4 + .../valueOverPatternExamples/fuzzed_02.json | 4 + .../valueOverPatternExamples/fuzzed_03.json | 4 + .../valueOverPatternExamples/fuzzed_04.json | 4 + .../valueOverPatternExamples/fuzzed_05.json | 4 + .../valueOverPatternExamples/fuzzed_06.json | 4 + .../valueOverPatternExamples/fuzzed_07.json | 4 + .../valueOverPatternExamples/fuzzed_08.json | 4 + .../valueOverPatternExamples/fuzzed_09.json | 4 + .../valueOverPatternExamples/fuzzed_10.json | 4 + .../fuzzed_01.json | 5 + .../fuzzed_02.json | 5 + .../fuzzed_03.json | 5 + .../fuzzed_04.json | 5 + .../fuzzed_05.json | 5 + .../fuzzed_06.json | 5 + .../fuzzed_07.json | 5 + .../fuzzed_08.json | 5 + .../fuzzed_09.json | 5 + .../fuzzed_10.json | 5 + .../idOverPatternExamples/fuzzed_01.json | 4 + .../idOverPatternExamples/fuzzed_02.json | 4 + .../idOverPatternExamples/fuzzed_03.json | 4 + .../idOverPatternExamples/fuzzed_04.json | 4 + .../idOverPatternExamples/fuzzed_05.json | 4 + .../idOverPatternExamples/fuzzed_06.json | 4 + .../idOverPatternExamples/fuzzed_07.json | 4 + .../idOverPatternExamples/fuzzed_08.json | 4 + .../idOverPatternExamples/fuzzed_09.json | 4 + .../idOverPatternExamples/fuzzed_10.json | 4 + .../alternating_hyphen_underscore.json | 5 + .../ends_with_underscore.json | 5 + .../idShortOverPatternExamples/fuzzed_01.json | 5 + .../idShortOverPatternExamples/fuzzed_02.json | 5 + .../idShortOverPatternExamples/fuzzed_03.json | 5 + .../idShortOverPatternExamples/fuzzed_04.json | 5 + .../idShortOverPatternExamples/fuzzed_05.json | 5 + .../idShortOverPatternExamples/fuzzed_06.json | 5 + .../idShortOverPatternExamples/fuzzed_07.json | 5 + .../idShortOverPatternExamples/fuzzed_08.json | 5 + .../idShortOverPatternExamples/fuzzed_09.json | 5 + .../idShortOverPatternExamples/fuzzed_10.json | 5 + .../hyphen_then_underscore.json | 5 + .../many_internal_hyphens.json | 5 + .../many_underscores.json | 5 + .../minimal_digit.json | 5 + .../minimal_lower.json | 5 + .../minimal_underscore.json | 5 + .../minimal_upper.json | 5 + .../single_internal_hyphen.json | 5 + .../underscore_after_first.json | 5 + .../Json/Expected/Submodel/maximal.json | 153 + .../Json/Expected/Submodel/minimal.json | 4 + .../fuzzed_01.json | 4 + .../fuzzed_02.json | 4 + .../fuzzed_03.json | 4 + .../fuzzed_04.json | 4 + .../fuzzed_05.json | 4 + .../fuzzed_06.json | 4 + .../fuzzed_07.json | 4 + .../fuzzed_08.json | 4 + .../fuzzed_09.json | 4 + .../fuzzed_10.json | 4 + .../alternating_hyphen_underscore.json | 4 + .../ends_with_underscore.json | 4 + .../idShortOverPatternExamples/fuzzed_01.json | 4 + .../idShortOverPatternExamples/fuzzed_02.json | 4 + .../idShortOverPatternExamples/fuzzed_03.json | 4 + .../idShortOverPatternExamples/fuzzed_04.json | 4 + .../idShortOverPatternExamples/fuzzed_05.json | 4 + .../idShortOverPatternExamples/fuzzed_06.json | 4 + .../idShortOverPatternExamples/fuzzed_07.json | 4 + .../idShortOverPatternExamples/fuzzed_08.json | 4 + .../idShortOverPatternExamples/fuzzed_09.json | 4 + .../idShortOverPatternExamples/fuzzed_10.json | 4 + .../hyphen_then_underscore.json | 4 + .../many_internal_hyphens.json | 4 + .../many_underscores.json | 4 + .../minimal_digit.json | 4 + .../minimal_lower.json | 4 + .../minimal_underscore.json | 4 + .../minimal_upper.json | 4 + .../single_internal_hyphen.json | 4 + .../underscore_after_first.json | 4 + .../SubmodelElementCollection/maximal.json | 164 + .../SubmodelElementCollection/minimal.json | 3 + .../fuzzed_01.json | 5 + .../fuzzed_02.json | 5 + .../fuzzed_03.json | 5 + .../fuzzed_04.json | 5 + .../fuzzed_05.json | 5 + .../fuzzed_06.json | 5 + .../fuzzed_07.json | 5 + .../fuzzed_08.json | 5 + .../fuzzed_09.json | 5 + .../fuzzed_10.json | 5 + .../alternating_hyphen_underscore.json | 5 + .../ends_with_underscore.json | 5 + .../idShortOverPatternExamples/fuzzed_01.json | 5 + .../idShortOverPatternExamples/fuzzed_02.json | 5 + .../idShortOverPatternExamples/fuzzed_03.json | 5 + .../idShortOverPatternExamples/fuzzed_04.json | 5 + .../idShortOverPatternExamples/fuzzed_05.json | 5 + .../idShortOverPatternExamples/fuzzed_06.json | 5 + .../idShortOverPatternExamples/fuzzed_07.json | 5 + .../idShortOverPatternExamples/fuzzed_08.json | 5 + .../idShortOverPatternExamples/fuzzed_09.json | 5 + .../idShortOverPatternExamples/fuzzed_10.json | 5 + .../hyphen_then_underscore.json | 5 + .../many_internal_hyphens.json | 5 + .../many_underscores.json | 5 + .../minimal_digit.json | 5 + .../minimal_lower.json | 5 + .../minimal_underscore.json | 5 + .../minimal_upper.json | 5 + .../single_internal_hyphen.json | 5 + .../underscore_after_first.json | 5 + .../list_id_short_in_value.json | 13 + .../list_no_semantic_id_list_element.json | 34 + .../list_one_child_without_semantic_id.json | 34 + .../list_two_properties.json | 43 + .../Expected/SubmodelElementList/maximal.json | 179 + .../Expected/SubmodelElementList/minimal.json | 4 + .../Json/Expected/ValueList/maximal.json | 7 + .../Json/Expected/ValueList/minimal.json | 7 + .../Expected/ValueReferencePair/maximal.json | 12 + .../Expected/ValueReferencePair/minimal.json | 3 + .../valueOverPatternExamples/fuzzed_01.json | 3 + .../valueOverPatternExamples/fuzzed_02.json | 3 + .../valueOverPatternExamples/fuzzed_03.json | 3 + .../valueOverPatternExamples/fuzzed_04.json | 3 + .../valueOverPatternExamples/fuzzed_05.json | 3 + .../valueOverPatternExamples/fuzzed_06.json | 3 + .../valueOverPatternExamples/fuzzed_07.json | 3 + .../valueOverPatternExamples/fuzzed_08.json | 3 + .../valueOverPatternExamples/fuzzed_09.json | 3 + .../valueOverPatternExamples/fuzzed_10.json | 3 + ...rst_key_not_in_globally_identifiables.json | 9 + ..._reference_violation_invalid_last_key.json | 13 + ...on_first_key_not_in_aas_identifiables.json | 9 + ...rst_key_not_in_globally_identifiables.json | 9 + ...tion_fragment_reference_in_the_middle.json | 17 + ...ment_reference_not_after_file_or_blob.json | 17 + ...iolation_invalid_key_value_after_list.json | 17 + ...ation_second_key_not_in_fragment_keys.json | 13 + ...violation_of_semantic_id_list_element.json | 43 + ..._violation_of_type_value_list_element.json | 43 + ..._violation_of_value_type_list_element.json | 43 + ...semantic_id_mismatch_between_elements.json | 34 + .../AdministrativeInformation/createdAt.json | 3 + .../AdministrativeInformation/updatedAt.json | 3 + .../BasicEventElement/lastUpdate.json | 19 + .../EventPayload/timeStamp.json | 25 + .../Range/Any_URI_negatively_fuzzed_01.json | 6 + .../Range/Any_URI_negatively_fuzzed_02.json | 6 + .../Range/Any_URI_negatively_fuzzed_03.json | 6 + .../Range/Any_URI_negatively_fuzzed_04.json | 6 + .../Range/Any_URI_negatively_fuzzed_05.json | 6 + .../Range/Any_URI_negatively_fuzzed_06.json | 6 + .../Range/Any_URI_negatively_fuzzed_07.json | 6 + .../Range/Any_URI_negatively_fuzzed_08.json | 6 + .../Range/Any_URI_negatively_fuzzed_09.json | 6 + .../Range/Any_URI_negatively_fuzzed_10.json | 6 + ...ollowed_by_non_two_hexadecimal_digits.json | 6 + .../Range/Any_URI_too_many_fragments.json | 6 + ...odd_number_of_characters_is_not_valid.json | 6 + ...uals_signs_may_only_appear_at_the_end.json | 6 + .../Base_64_binary_negatively_fuzzed_01.json | 6 + .../Base_64_binary_negatively_fuzzed_02.json | 6 + .../Base_64_binary_negatively_fuzzed_03.json | 6 + .../Base_64_binary_negatively_fuzzed_04.json | 6 + .../Base_64_binary_negatively_fuzzed_05.json | 6 + .../Base_64_binary_negatively_fuzzed_06.json | 6 + .../Base_64_binary_negatively_fuzzed_07.json | 6 + .../Base_64_binary_negatively_fuzzed_08.json | 6 + .../Base_64_binary_negatively_fuzzed_09.json | 6 + .../Base_64_binary_negatively_fuzzed_10.json | 6 + ...an_false_as_number_with_leading_zeros.json | 6 + .../Range/Boolean_false_in_camelcase.json | 6 + .../Range/Boolean_false_in_uppercase.json | 6 + .../Range/Boolean_negatively_fuzzed_01.json | 6 + .../Range/Boolean_negatively_fuzzed_02.json | 6 + .../Range/Boolean_negatively_fuzzed_03.json | 6 + .../Range/Boolean_negatively_fuzzed_04.json | 6 + .../Range/Boolean_negatively_fuzzed_05.json | 6 + .../Range/Boolean_negatively_fuzzed_06.json | 6 + .../Range/Boolean_negatively_fuzzed_07.json | 6 + .../Range/Boolean_negatively_fuzzed_08.json | 6 + .../Range/Boolean_negatively_fuzzed_09.json | 6 + .../Range/Boolean_negatively_fuzzed_10.json | 6 + ...ean_true_as_number_with_leading_zeros.json | 6 + .../Range/Boolean_true_in_camelcase.json | 6 + .../Range/Boolean_true_in_uppercase.json | 6 + .../Range/Byte_decimal.json | 6 + .../InvalidRangeExample/Range/Byte_empty.json | 6 + .../Range/Byte_free_form_text.json | 6 + .../Range/Byte_mathematical_formula.json | 6 + .../Range/Byte_max_plus_one.json | 6 + .../Range/Byte_min_minus_one.json | 6 + .../Range/Byte_scientific.json | 6 + .../Range/Date_date_time_with_UTC.json | 6 + .../Range/Date_date_time_with_offset.json | 6 + .../Range/Date_date_time_without_zone.json | 6 + ...ate_date_with_invalid_negative_offset.json | 6 + ...ate_date_with_invalid_positive_offset.json | 6 + .../Date_date_with_seconds_in_offset.json | 6 + .../InvalidRangeExample/Range/Date_empty.json | 6 + .../Date_non_existing_february_29th.json | 6 + .../Range/Date_time_date.json | 6 + ...ate_time_with_invalid_negative_offset.json | 6 + ...ate_time_with_invalid_positive_offset.json | 6 + ...time_date_time_with_seconds_in_offset.json | 6 + ...time_date_time_with_unexpected_prefix.json | 6 + ...time_date_time_with_unexpected_suffix.json | 6 + .../Range/Date_time_date_with_time_zone.json | 6 + .../Range/Date_time_empty.json | 6 + .../Date_time_non_existing_february_29th.json | 6 + .../Range/Date_time_without_minutes.json | 6 + .../Range/Date_time_without_seconds.json | 6 + .../Date_time_year_4_bce_february_29th.json | 6 + .../Date_time_year_zero_doesnt_exist.json | 6 + .../Range/Date_year_4_bce_february_29th.json | 6 + .../Range/Date_year_zero_doesnt_exist.json | 6 + .../Range/Decimal_empty.json | 6 + .../Range/Decimal_free_form_text.json | 6 + .../Range/Double_empty.json | 6 + .../Range/Double_free_form_text.json | 6 + .../Range/Double_inf_case_matters.json | 6 + .../Range/Double_nan_case_matters.json | 6 + ...le_no_fraction_in_scientific_notation.json | 6 + .../Range/Double_plus_inf.json | 6 + .../Range/Double_too_large.json | 6 + .../Range/Duration_empty.json | 6 + .../Range/Duration_free_form_text.json | 6 + .../Range/Duration_integer.json | 6 + .../Range/Duration_leading_P_missing.json | 6 + .../Range/Duration_negative_years.json | 6 + ...uration_positive_year_negative_months.json | 6 + .../Range/Duration_separator_T_missing.json | 6 + .../Range/Duration_the_order_matters.json | 6 + .../Range/Float_empty.json | 6 + .../Range/Float_free_form_text.json | 6 + .../Range/Float_inf_case_matters.json | 6 + .../Range/Float_nan_case_matters.json | 6 + ...at_no_fraction_in_scientific_notation.json | 6 + .../Range/Float_plus_inf.json | 6 + .../Range/Float_too_large.json | 6 + .../Range/G_day_day_outside_of_range.json | 6 + .../Range/G_day_empty.json | 6 + .../Range/G_day_free_form_text.json | 6 + .../Range/G_day_invalid_negative_offset.json | 6 + .../G_day_invalid_offset_with_seconds.json | 6 + .../Range/G_day_invalid_positive_offset.json | 6 + .../Range/G_day_missing_leading_dashes.json | 6 + .../Range/G_day_missing_leading_digit.json | 6 + .../Range/G_day_unexpected_suffix.json | 6 + .../G_month_day_day_outside_of_range.json | 6 + .../Range/G_month_day_empty.json | 6 + .../Range/G_month_day_free_form_text.json | 6 + .../G_month_day_invalid_negative_offset.json | 6 + ...month_day_invalid_offset_with_seconds.json | 6 + .../G_month_day_invalid_positive_offset.json | 6 + .../G_month_day_missing_leading_dashes.json | 6 + .../G_month_day_missing_leading_digit.json | 6 + .../G_month_day_non_existing_april_31st.json | 6 + ...onth_day_unexpected_prefix_and_suffix.json | 6 + .../Range/G_month_empty.json | 6 + .../Range/G_month_free_form_text.json | 6 + .../G_month_invalid_negative_offset.json | 6 + .../G_month_invalid_offset_with_seconds.json | 6 + .../G_month_invalid_positive_offset.json | 6 + .../Range/G_month_missing_leading_dashes.json | 6 + .../Range/G_month_missing_leading_digit.json | 6 + .../Range/G_month_month_outside_of_range.json | 6 + .../G_month_unexpected_prefix_and_suffix.json | 6 + .../Range/G_year_empty.json | 6 + .../Range/G_year_free_form_text.json | 6 + .../Range/G_year_invalid_negative_offset.json | 6 + .../G_year_invalid_offset_with_seconds.json | 6 + .../Range/G_year_invalid_positive_offset.json | 6 + .../Range/G_year_missing_century.json | 6 + .../Range/G_year_month_empty.json | 6 + .../Range/G_year_month_free_form_text.json | 6 + .../G_year_month_invalid_negative_offset.json | 6 + ...ear_month_invalid_offset_with_seconds.json | 6 + .../G_year_month_invalid_positive_offset.json | 6 + .../Range/G_year_month_missing_century.json | 6 + .../Range/G_year_month_missing_month.json | 6 + .../G_year_month_month_out_of_range.json | 6 + .../Range/G_year_unexpected_month.json | 6 + .../Range/Hex_binary_free_form_text.json | 6 + .../Hex_binary_odd_number_of_digits.json | 6 + .../Range/Hex_binary_single_digit.json | 6 + .../Range/Int_decimal.json | 6 + .../InvalidRangeExample/Range/Int_empty.json | 6 + .../Range/Int_free_form_text.json | 6 + .../Range/Int_mathematical_formula.json | 6 + .../Range/Int_max_plus_one.json | 6 + .../Range/Int_min_minus_one.json | 6 + .../Range/Int_scientific.json | 6 + .../Range/Integer_decimal.json | 6 + .../Range/Integer_empty.json | 6 + .../Range/Integer_free_form_text.json | 6 + .../Range/Integer_mathematical_formula.json | 6 + .../Range/Integer_scientific.json | 6 + .../Range/Long_decimal.json | 6 + .../InvalidRangeExample/Range/Long_empty.json | 6 + .../Range/Long_free_form_text.json | 6 + .../Range/Long_mathematical_formula.json | 6 + .../Range/Long_max_plus_one.json | 6 + .../Range/Long_min_minus_one.json | 6 + .../Range/Long_scientific.json | 6 + .../Range/Negative_integer_decimal.json | 6 + .../Range/Negative_integer_empty.json | 6 + .../Negative_integer_explicitly_positive.json | 6 + ...tive_integer_explicitly_positive_zero.json | 6 + .../Negative_integer_free_form_text.json | 6 + .../Negative_integer_implicitly_positive.json | 6 + ...Negative_integer_mathematical_formula.json | 6 + .../Range/Negative_integer_scientific.json | 6 + .../Range/Negative_integer_zero.json | 6 + ...tive_integer_zero_prefixed_with_zeros.json | 6 + .../Range/Non_negative_integer_decimal.json | 6 + .../Range/Non_negative_integer_empty.json | 6 + .../Non_negative_integer_free_form_text.json | 6 + .../Range/Non_negative_integer_negative.json | 6 + .../Range/Non_positive_integer_decimal.json | 6 + .../Range/Non_positive_integer_empty.json | 6 + ..._positive_integer_explicitly_positive.json | 6 + .../Non_positive_integer_free_form_text.json | 6 + ..._positive_integer_implicitly_positive.json | 6 + ...positive_integer_mathematical_formula.json | 6 + .../Non_positive_integer_scientific.json | 6 + .../Range/Positive_integer_decimal.json | 6 + .../Range/Positive_integer_empty.json | 6 + .../Positive_integer_free_form_text.json | 6 + .../Range/Positive_integer_negative.json | 6 + .../Range/Positive_integer_zero.json | 6 + ...tive_integer_zero_prefixed_with_zeros.json | 6 + .../Range/Short_decimal.json | 6 + .../Range/Short_empty.json | 6 + .../Range/Short_free_form_text.json | 6 + .../Range/Short_mathematical_formula.json | 6 + .../Range/Short_max_plus_one.json | 6 + .../Range/Short_min_minus_one.json | 6 + .../Range/Short_scientific.json | 6 + .../Range/String_NUL_as_utf16.json | 6 + .../Range/String_NUL_as_utf32.json | 6 + .../Range/String_NUL_as_x.json | 6 + .../Range/String_negatively_fuzzed_01.json | 6 + .../Range/String_negatively_fuzzed_02.json | 6 + .../Range/String_negatively_fuzzed_03.json | 6 + .../Range/String_negatively_fuzzed_04.json | 6 + .../Range/String_negatively_fuzzed_05.json | 6 + .../Range/String_negatively_fuzzed_06.json | 6 + .../Range/String_negatively_fuzzed_07.json | 6 + .../Range/String_negatively_fuzzed_08.json | 6 + .../Range/String_negatively_fuzzed_09.json | 6 + .../Range/String_negatively_fuzzed_10.json | 6 + .../InvalidRangeExample/Range/Time_empty.json | 6 + .../Range/Time_free_form_text.json | 6 + .../Range/Time_hour_out_of_range.json | 6 + .../Range/Time_invalid_negative_offset.json | 6 + .../Time_invalid_offset_with_seconds.json | 6 + .../Range/Time_invalid_positive_offset.json | 6 + .../Range/Time_minute_out_of_range.json | 6 + .../Range/Time_missing_padded_zeros.json | 6 + .../Range/Time_missing_seconds.json | 6 + .../Range/Time_negative.json | 6 + .../Range/Time_second_out_of_range.json | 6 + .../Range/Unsigned_byte_decimal.json | 6 + .../Range/Unsigned_byte_empty.json | 6 + .../Range/Unsigned_byte_free_form_text.json | 6 + .../Unsigned_byte_mathematical_formula.json | 6 + .../Range/Unsigned_byte_max_plus_one.json | 6 + .../Range/Unsigned_byte_negative.json | 6 + .../Range/Unsigned_byte_scientific.json | 6 + .../Range/Unsigned_int_decimal.json | 6 + .../Range/Unsigned_int_empty.json | 6 + .../Range/Unsigned_int_free_form_text.json | 6 + .../Unsigned_int_mathematical_formula.json | 6 + .../Range/Unsigned_int_max_plus_one.json | 6 + .../Range/Unsigned_int_negative.json | 6 + .../Range/Unsigned_int_scientific.json | 6 + .../Range/Unsigned_long_decimal.json | 6 + .../Range/Unsigned_long_empty.json | 6 + .../Range/Unsigned_long_free_form_text.json | 6 + .../Unsigned_long_mathematical_formula.json | 6 + .../Range/Unsigned_long_max_plus_one.json | 6 + .../Range/Unsigned_long_negative.json | 6 + .../Range/Unsigned_long_scientific.json | 6 + .../Range/Unsigned_short_decimal.json | 6 + .../Range/Unsigned_short_empty.json | 6 + .../Range/Unsigned_short_free_form_text.json | 6 + .../Unsigned_short_mathematical_formula.json | 6 + .../Range/Unsigned_short_max_plus_one.json | 6 + .../Range/Unsigned_short_negative.json | 6 + .../Range/Unsigned_short_scientific.json | 6 + .../value/Any_URI_negatively_fuzzed_01.json | 5 + .../value/Any_URI_negatively_fuzzed_02.json | 5 + .../value/Any_URI_negatively_fuzzed_03.json | 5 + .../value/Any_URI_negatively_fuzzed_04.json | 5 + .../value/Any_URI_negatively_fuzzed_05.json | 5 + .../value/Any_URI_negatively_fuzzed_06.json | 5 + .../value/Any_URI_negatively_fuzzed_07.json | 5 + .../value/Any_URI_negatively_fuzzed_08.json | 5 + .../value/Any_URI_negatively_fuzzed_09.json | 5 + .../value/Any_URI_negatively_fuzzed_10.json | 5 + ...ollowed_by_non_two_hexadecimal_digits.json | 5 + .../value/Any_URI_too_many_fragments.json | 5 + ...odd_number_of_characters_is_not_valid.json | 5 + ...uals_signs_may_only_appear_at_the_end.json | 5 + .../Base_64_binary_negatively_fuzzed_01.json | 5 + .../Base_64_binary_negatively_fuzzed_02.json | 5 + .../Base_64_binary_negatively_fuzzed_03.json | 5 + .../Base_64_binary_negatively_fuzzed_04.json | 5 + .../Base_64_binary_negatively_fuzzed_05.json | 5 + .../Base_64_binary_negatively_fuzzed_06.json | 5 + .../Base_64_binary_negatively_fuzzed_07.json | 5 + .../Base_64_binary_negatively_fuzzed_08.json | 5 + .../Base_64_binary_negatively_fuzzed_09.json | 5 + .../Base_64_binary_negatively_fuzzed_10.json | 5 + ...an_false_as_number_with_leading_zeros.json | 5 + .../value/Boolean_false_in_camelcase.json | 5 + .../value/Boolean_false_in_uppercase.json | 5 + .../value/Boolean_negatively_fuzzed_01.json | 5 + .../value/Boolean_negatively_fuzzed_02.json | 5 + .../value/Boolean_negatively_fuzzed_03.json | 5 + .../value/Boolean_negatively_fuzzed_04.json | 5 + .../value/Boolean_negatively_fuzzed_05.json | 5 + .../value/Boolean_negatively_fuzzed_06.json | 5 + .../value/Boolean_negatively_fuzzed_07.json | 5 + .../value/Boolean_negatively_fuzzed_08.json | 5 + .../value/Boolean_negatively_fuzzed_09.json | 5 + .../value/Boolean_negatively_fuzzed_10.json | 5 + ...ean_true_as_number_with_leading_zeros.json | 5 + .../value/Boolean_true_in_camelcase.json | 5 + .../value/Boolean_true_in_uppercase.json | 5 + .../Extension/value/Byte_decimal.json | 5 + .../Extension/value/Byte_empty.json | 5 + .../Extension/value/Byte_free_form_text.json | 5 + .../value/Byte_mathematical_formula.json | 5 + .../Extension/value/Byte_max_plus_one.json | 5 + .../Extension/value/Byte_min_minus_one.json | 5 + .../Extension/value/Byte_scientific.json | 5 + .../value/Date_date_time_with_UTC.json | 5 + .../value/Date_date_time_with_offset.json | 5 + .../value/Date_date_time_without_zone.json | 5 + ...ate_date_with_invalid_negative_offset.json | 5 + ...ate_date_with_invalid_positive_offset.json | 5 + .../Date_date_with_seconds_in_offset.json | 5 + .../Extension/value/Date_empty.json | 5 + .../Date_non_existing_february_29th.json | 5 + .../Extension/value/Date_time_date.json | 5 + ...ate_time_with_invalid_negative_offset.json | 5 + ...ate_time_with_invalid_positive_offset.json | 5 + ...time_date_time_with_seconds_in_offset.json | 5 + ...time_date_time_with_unexpected_prefix.json | 5 + ...time_date_time_with_unexpected_suffix.json | 5 + .../value/Date_time_date_with_time_zone.json | 5 + .../Extension/value/Date_time_empty.json | 5 + .../Date_time_non_existing_february_29th.json | 5 + .../value/Date_time_without_minutes.json | 5 + .../value/Date_time_without_seconds.json | 5 + .../Date_time_year_4_bce_february_29th.json | 5 + .../Date_time_year_zero_doesnt_exist.json | 5 + .../value/Date_year_4_bce_february_29th.json | 5 + .../value/Date_year_zero_doesnt_exist.json | 5 + .../Extension/value/Decimal_empty.json | 5 + .../value/Decimal_free_form_text.json | 5 + .../Extension/value/Double_empty.json | 5 + .../value/Double_free_form_text.json | 5 + .../value/Double_inf_case_matters.json | 5 + .../value/Double_nan_case_matters.json | 5 + ...le_no_fraction_in_scientific_notation.json | 5 + .../Extension/value/Double_plus_inf.json | 5 + .../Extension/value/Double_too_large.json | 5 + .../Extension/value/Duration_empty.json | 5 + .../value/Duration_free_form_text.json | 5 + .../Extension/value/Duration_integer.json | 5 + .../value/Duration_leading_P_missing.json | 5 + .../value/Duration_negative_years.json | 5 + ...uration_positive_year_negative_months.json | 5 + .../value/Duration_separator_T_missing.json | 5 + .../value/Duration_the_order_matters.json | 5 + .../Extension/value/Float_empty.json | 5 + .../Extension/value/Float_free_form_text.json | 5 + .../value/Float_inf_case_matters.json | 5 + .../value/Float_nan_case_matters.json | 5 + ...at_no_fraction_in_scientific_notation.json | 5 + .../Extension/value/Float_plus_inf.json | 5 + .../Extension/value/Float_too_large.json | 5 + .../value/G_day_day_outside_of_range.json | 5 + .../Extension/value/G_day_empty.json | 5 + .../Extension/value/G_day_free_form_text.json | 5 + .../value/G_day_invalid_negative_offset.json | 5 + .../G_day_invalid_offset_with_seconds.json | 5 + .../value/G_day_invalid_positive_offset.json | 5 + .../value/G_day_missing_leading_dashes.json | 5 + .../value/G_day_missing_leading_digit.json | 5 + .../value/G_day_unexpected_suffix.json | 5 + .../G_month_day_day_outside_of_range.json | 5 + .../Extension/value/G_month_day_empty.json | 5 + .../value/G_month_day_free_form_text.json | 5 + .../G_month_day_invalid_negative_offset.json | 5 + ...month_day_invalid_offset_with_seconds.json | 5 + .../G_month_day_invalid_positive_offset.json | 5 + .../G_month_day_missing_leading_dashes.json | 5 + .../G_month_day_missing_leading_digit.json | 5 + .../G_month_day_non_existing_april_31st.json | 5 + ...onth_day_unexpected_prefix_and_suffix.json | 5 + .../Extension/value/G_month_empty.json | 5 + .../value/G_month_free_form_text.json | 5 + .../G_month_invalid_negative_offset.json | 5 + .../G_month_invalid_offset_with_seconds.json | 5 + .../G_month_invalid_positive_offset.json | 5 + .../value/G_month_missing_leading_dashes.json | 5 + .../value/G_month_missing_leading_digit.json | 5 + .../value/G_month_month_outside_of_range.json | 5 + .../G_month_unexpected_prefix_and_suffix.json | 5 + .../Extension/value/G_year_empty.json | 5 + .../value/G_year_free_form_text.json | 5 + .../value/G_year_invalid_negative_offset.json | 5 + .../G_year_invalid_offset_with_seconds.json | 5 + .../value/G_year_invalid_positive_offset.json | 5 + .../value/G_year_missing_century.json | 5 + .../Extension/value/G_year_month_empty.json | 5 + .../value/G_year_month_free_form_text.json | 5 + .../G_year_month_invalid_negative_offset.json | 5 + ...ear_month_invalid_offset_with_seconds.json | 5 + .../G_year_month_invalid_positive_offset.json | 5 + .../value/G_year_month_missing_century.json | 5 + .../value/G_year_month_missing_month.json | 5 + .../G_year_month_month_out_of_range.json | 5 + .../value/G_year_unexpected_month.json | 5 + .../value/Hex_binary_free_form_text.json | 5 + .../Hex_binary_odd_number_of_digits.json | 5 + .../value/Hex_binary_single_digit.json | 5 + .../Extension/value/Int_decimal.json | 5 + .../Extension/value/Int_empty.json | 5 + .../Extension/value/Int_free_form_text.json | 5 + .../value/Int_mathematical_formula.json | 5 + .../Extension/value/Int_max_plus_one.json | 5 + .../Extension/value/Int_min_minus_one.json | 5 + .../Extension/value/Int_scientific.json | 5 + .../Extension/value/Integer_decimal.json | 5 + .../Extension/value/Integer_empty.json | 5 + .../value/Integer_free_form_text.json | 5 + .../value/Integer_mathematical_formula.json | 5 + .../Extension/value/Integer_scientific.json | 5 + .../Extension/value/Long_decimal.json | 5 + .../Extension/value/Long_empty.json | 5 + .../Extension/value/Long_free_form_text.json | 5 + .../value/Long_mathematical_formula.json | 5 + .../Extension/value/Long_max_plus_one.json | 5 + .../Extension/value/Long_min_minus_one.json | 5 + .../Extension/value/Long_scientific.json | 5 + .../value/Negative_integer_decimal.json | 5 + .../value/Negative_integer_empty.json | 5 + .../Negative_integer_explicitly_positive.json | 5 + ...tive_integer_explicitly_positive_zero.json | 5 + .../Negative_integer_free_form_text.json | 5 + .../Negative_integer_implicitly_positive.json | 5 + ...Negative_integer_mathematical_formula.json | 5 + .../value/Negative_integer_scientific.json | 5 + .../value/Negative_integer_zero.json | 5 + ...tive_integer_zero_prefixed_with_zeros.json | 5 + .../value/Non_negative_integer_decimal.json | 5 + .../value/Non_negative_integer_empty.json | 5 + .../Non_negative_integer_free_form_text.json | 5 + .../value/Non_negative_integer_negative.json | 5 + .../value/Non_positive_integer_decimal.json | 5 + .../value/Non_positive_integer_empty.json | 5 + ..._positive_integer_explicitly_positive.json | 5 + .../Non_positive_integer_free_form_text.json | 5 + ..._positive_integer_implicitly_positive.json | 5 + ...positive_integer_mathematical_formula.json | 5 + .../Non_positive_integer_scientific.json | 5 + .../value/Positive_integer_decimal.json | 5 + .../value/Positive_integer_empty.json | 5 + .../Positive_integer_free_form_text.json | 5 + .../value/Positive_integer_negative.json | 5 + .../value/Positive_integer_zero.json | 5 + ...tive_integer_zero_prefixed_with_zeros.json | 5 + .../Extension/value/Short_decimal.json | 5 + .../Extension/value/Short_empty.json | 5 + .../Extension/value/Short_free_form_text.json | 5 + .../value/Short_mathematical_formula.json | 5 + .../Extension/value/Short_max_plus_one.json | 5 + .../Extension/value/Short_min_minus_one.json | 5 + .../Extension/value/Short_scientific.json | 5 + .../Extension/value/String_NUL_as_utf16.json | 5 + .../Extension/value/String_NUL_as_utf32.json | 5 + .../Extension/value/String_NUL_as_x.json | 5 + .../value/String_negatively_fuzzed_01.json | 5 + .../value/String_negatively_fuzzed_02.json | 5 + .../value/String_negatively_fuzzed_03.json | 5 + .../value/String_negatively_fuzzed_04.json | 5 + .../value/String_negatively_fuzzed_05.json | 5 + .../value/String_negatively_fuzzed_06.json | 5 + .../value/String_negatively_fuzzed_07.json | 5 + .../value/String_negatively_fuzzed_08.json | 5 + .../value/String_negatively_fuzzed_09.json | 5 + .../value/String_negatively_fuzzed_10.json | 5 + .../Extension/value/Time_empty.json | 5 + .../Extension/value/Time_free_form_text.json | 5 + .../value/Time_hour_out_of_range.json | 5 + .../value/Time_invalid_negative_offset.json | 5 + .../Time_invalid_offset_with_seconds.json | 5 + .../value/Time_invalid_positive_offset.json | 5 + .../value/Time_minute_out_of_range.json | 5 + .../value/Time_missing_padded_zeros.json | 5 + .../Extension/value/Time_missing_seconds.json | 5 + .../Extension/value/Time_negative.json | 5 + .../value/Time_second_out_of_range.json | 5 + .../value/Unsigned_byte_decimal.json | 5 + .../Extension/value/Unsigned_byte_empty.json | 5 + .../value/Unsigned_byte_free_form_text.json | 5 + .../Unsigned_byte_mathematical_formula.json | 5 + .../value/Unsigned_byte_max_plus_one.json | 5 + .../value/Unsigned_byte_negative.json | 5 + .../value/Unsigned_byte_scientific.json | 5 + .../Extension/value/Unsigned_int_decimal.json | 5 + .../Extension/value/Unsigned_int_empty.json | 5 + .../value/Unsigned_int_free_form_text.json | 5 + .../Unsigned_int_mathematical_formula.json | 5 + .../value/Unsigned_int_max_plus_one.json | 5 + .../value/Unsigned_int_negative.json | 5 + .../value/Unsigned_int_scientific.json | 5 + .../value/Unsigned_long_decimal.json | 5 + .../Extension/value/Unsigned_long_empty.json | 5 + .../value/Unsigned_long_free_form_text.json | 5 + .../Unsigned_long_mathematical_formula.json | 5 + .../value/Unsigned_long_max_plus_one.json | 5 + .../value/Unsigned_long_negative.json | 5 + .../value/Unsigned_long_scientific.json | 5 + .../value/Unsigned_short_decimal.json | 5 + .../Extension/value/Unsigned_short_empty.json | 5 + .../value/Unsigned_short_free_form_text.json | 5 + .../Unsigned_short_mathematical_formula.json | 5 + .../value/Unsigned_short_max_plus_one.json | 5 + .../value/Unsigned_short_negative.json | 5 + .../value/Unsigned_short_scientific.json | 5 + .../value/Any_URI_negatively_fuzzed_01.json | 5 + .../value/Any_URI_negatively_fuzzed_02.json | 5 + .../value/Any_URI_negatively_fuzzed_03.json | 5 + .../value/Any_URI_negatively_fuzzed_04.json | 5 + .../value/Any_URI_negatively_fuzzed_05.json | 5 + .../value/Any_URI_negatively_fuzzed_06.json | 5 + .../value/Any_URI_negatively_fuzzed_07.json | 5 + .../value/Any_URI_negatively_fuzzed_08.json | 5 + .../value/Any_URI_negatively_fuzzed_09.json | 5 + .../value/Any_URI_negatively_fuzzed_10.json | 5 + ...ollowed_by_non_two_hexadecimal_digits.json | 5 + .../value/Any_URI_too_many_fragments.json | 5 + ...odd_number_of_characters_is_not_valid.json | 5 + ...uals_signs_may_only_appear_at_the_end.json | 5 + .../Base_64_binary_negatively_fuzzed_01.json | 5 + .../Base_64_binary_negatively_fuzzed_02.json | 5 + .../Base_64_binary_negatively_fuzzed_03.json | 5 + .../Base_64_binary_negatively_fuzzed_04.json | 5 + .../Base_64_binary_negatively_fuzzed_05.json | 5 + .../Base_64_binary_negatively_fuzzed_06.json | 5 + .../Base_64_binary_negatively_fuzzed_07.json | 5 + .../Base_64_binary_negatively_fuzzed_08.json | 5 + .../Base_64_binary_negatively_fuzzed_09.json | 5 + .../Base_64_binary_negatively_fuzzed_10.json | 5 + ...an_false_as_number_with_leading_zeros.json | 5 + .../value/Boolean_false_in_camelcase.json | 5 + .../value/Boolean_false_in_uppercase.json | 5 + .../value/Boolean_negatively_fuzzed_01.json | 5 + .../value/Boolean_negatively_fuzzed_02.json | 5 + .../value/Boolean_negatively_fuzzed_03.json | 5 + .../value/Boolean_negatively_fuzzed_04.json | 5 + .../value/Boolean_negatively_fuzzed_05.json | 5 + .../value/Boolean_negatively_fuzzed_06.json | 5 + .../value/Boolean_negatively_fuzzed_07.json | 5 + .../value/Boolean_negatively_fuzzed_08.json | 5 + .../value/Boolean_negatively_fuzzed_09.json | 5 + .../value/Boolean_negatively_fuzzed_10.json | 5 + ...ean_true_as_number_with_leading_zeros.json | 5 + .../value/Boolean_true_in_camelcase.json | 5 + .../value/Boolean_true_in_uppercase.json | 5 + .../Property/value/Byte_decimal.json | 5 + .../Property/value/Byte_empty.json | 5 + .../Property/value/Byte_free_form_text.json | 5 + .../value/Byte_mathematical_formula.json | 5 + .../Property/value/Byte_max_plus_one.json | 5 + .../Property/value/Byte_min_minus_one.json | 5 + .../Property/value/Byte_scientific.json | 5 + .../value/Date_date_time_with_UTC.json | 5 + .../value/Date_date_time_with_offset.json | 5 + .../value/Date_date_time_without_zone.json | 5 + ...ate_date_with_invalid_negative_offset.json | 5 + ...ate_date_with_invalid_positive_offset.json | 5 + .../Date_date_with_seconds_in_offset.json | 5 + .../Property/value/Date_empty.json | 5 + .../Date_non_existing_february_29th.json | 5 + .../Property/value/Date_time_date.json | 5 + ...ate_time_with_invalid_negative_offset.json | 5 + ...ate_time_with_invalid_positive_offset.json | 5 + ...time_date_time_with_seconds_in_offset.json | 5 + ...time_date_time_with_unexpected_prefix.json | 5 + ...time_date_time_with_unexpected_suffix.json | 5 + .../value/Date_time_date_with_time_zone.json | 5 + .../Property/value/Date_time_empty.json | 5 + .../Date_time_non_existing_february_29th.json | 5 + .../value/Date_time_without_minutes.json | 5 + .../value/Date_time_without_seconds.json | 5 + .../Date_time_year_4_bce_february_29th.json | 5 + .../Date_time_year_zero_doesnt_exist.json | 5 + .../value/Date_year_4_bce_february_29th.json | 5 + .../value/Date_year_zero_doesnt_exist.json | 5 + .../Property/value/Decimal_empty.json | 5 + .../value/Decimal_free_form_text.json | 5 + .../Property/value/Double_empty.json | 5 + .../Property/value/Double_free_form_text.json | 5 + .../value/Double_inf_case_matters.json | 5 + .../value/Double_nan_case_matters.json | 5 + ...le_no_fraction_in_scientific_notation.json | 5 + .../Property/value/Double_plus_inf.json | 5 + .../Property/value/Double_too_large.json | 5 + .../Property/value/Duration_empty.json | 5 + .../value/Duration_free_form_text.json | 5 + .../Property/value/Duration_integer.json | 5 + .../value/Duration_leading_P_missing.json | 5 + .../value/Duration_negative_years.json | 5 + ...uration_positive_year_negative_months.json | 5 + .../value/Duration_separator_T_missing.json | 5 + .../value/Duration_the_order_matters.json | 5 + .../Property/value/Float_empty.json | 5 + .../Property/value/Float_free_form_text.json | 5 + .../value/Float_inf_case_matters.json | 5 + .../value/Float_nan_case_matters.json | 5 + ...at_no_fraction_in_scientific_notation.json | 5 + .../Property/value/Float_plus_inf.json | 5 + .../Property/value/Float_too_large.json | 5 + .../value/G_day_day_outside_of_range.json | 5 + .../Property/value/G_day_empty.json | 5 + .../Property/value/G_day_free_form_text.json | 5 + .../value/G_day_invalid_negative_offset.json | 5 + .../G_day_invalid_offset_with_seconds.json | 5 + .../value/G_day_invalid_positive_offset.json | 5 + .../value/G_day_missing_leading_dashes.json | 5 + .../value/G_day_missing_leading_digit.json | 5 + .../value/G_day_unexpected_suffix.json | 5 + .../G_month_day_day_outside_of_range.json | 5 + .../Property/value/G_month_day_empty.json | 5 + .../value/G_month_day_free_form_text.json | 5 + .../G_month_day_invalid_negative_offset.json | 5 + ...month_day_invalid_offset_with_seconds.json | 5 + .../G_month_day_invalid_positive_offset.json | 5 + .../G_month_day_missing_leading_dashes.json | 5 + .../G_month_day_missing_leading_digit.json | 5 + .../G_month_day_non_existing_april_31st.json | 5 + ...onth_day_unexpected_prefix_and_suffix.json | 5 + .../Property/value/G_month_empty.json | 5 + .../value/G_month_free_form_text.json | 5 + .../G_month_invalid_negative_offset.json | 5 + .../G_month_invalid_offset_with_seconds.json | 5 + .../G_month_invalid_positive_offset.json | 5 + .../value/G_month_missing_leading_dashes.json | 5 + .../value/G_month_missing_leading_digit.json | 5 + .../value/G_month_month_outside_of_range.json | 5 + .../G_month_unexpected_prefix_and_suffix.json | 5 + .../Property/value/G_year_empty.json | 5 + .../Property/value/G_year_free_form_text.json | 5 + .../value/G_year_invalid_negative_offset.json | 5 + .../G_year_invalid_offset_with_seconds.json | 5 + .../value/G_year_invalid_positive_offset.json | 5 + .../value/G_year_missing_century.json | 5 + .../Property/value/G_year_month_empty.json | 5 + .../value/G_year_month_free_form_text.json | 5 + .../G_year_month_invalid_negative_offset.json | 5 + ...ear_month_invalid_offset_with_seconds.json | 5 + .../G_year_month_invalid_positive_offset.json | 5 + .../value/G_year_month_missing_century.json | 5 + .../value/G_year_month_missing_month.json | 5 + .../G_year_month_month_out_of_range.json | 5 + .../value/G_year_unexpected_month.json | 5 + .../value/Hex_binary_free_form_text.json | 5 + .../Hex_binary_odd_number_of_digits.json | 5 + .../value/Hex_binary_single_digit.json | 5 + .../Property/value/Int_decimal.json | 5 + .../Property/value/Int_empty.json | 5 + .../Property/value/Int_free_form_text.json | 5 + .../value/Int_mathematical_formula.json | 5 + .../Property/value/Int_max_plus_one.json | 5 + .../Property/value/Int_min_minus_one.json | 5 + .../Property/value/Int_scientific.json | 5 + .../Property/value/Integer_decimal.json | 5 + .../Property/value/Integer_empty.json | 5 + .../value/Integer_free_form_text.json | 5 + .../value/Integer_mathematical_formula.json | 5 + .../Property/value/Integer_scientific.json | 5 + .../Property/value/Long_decimal.json | 5 + .../Property/value/Long_empty.json | 5 + .../Property/value/Long_free_form_text.json | 5 + .../value/Long_mathematical_formula.json | 5 + .../Property/value/Long_max_plus_one.json | 5 + .../Property/value/Long_min_minus_one.json | 5 + .../Property/value/Long_scientific.json | 5 + .../value/Negative_integer_decimal.json | 5 + .../value/Negative_integer_empty.json | 5 + .../Negative_integer_explicitly_positive.json | 5 + ...tive_integer_explicitly_positive_zero.json | 5 + .../Negative_integer_free_form_text.json | 5 + .../Negative_integer_implicitly_positive.json | 5 + ...Negative_integer_mathematical_formula.json | 5 + .../value/Negative_integer_scientific.json | 5 + .../Property/value/Negative_integer_zero.json | 5 + ...tive_integer_zero_prefixed_with_zeros.json | 5 + .../value/Non_negative_integer_decimal.json | 5 + .../value/Non_negative_integer_empty.json | 5 + .../Non_negative_integer_free_form_text.json | 5 + .../value/Non_negative_integer_negative.json | 5 + .../value/Non_positive_integer_decimal.json | 5 + .../value/Non_positive_integer_empty.json | 5 + ..._positive_integer_explicitly_positive.json | 5 + .../Non_positive_integer_free_form_text.json | 5 + ..._positive_integer_implicitly_positive.json | 5 + ...positive_integer_mathematical_formula.json | 5 + .../Non_positive_integer_scientific.json | 5 + .../value/Positive_integer_decimal.json | 5 + .../value/Positive_integer_empty.json | 5 + .../Positive_integer_free_form_text.json | 5 + .../value/Positive_integer_negative.json | 5 + .../Property/value/Positive_integer_zero.json | 5 + ...tive_integer_zero_prefixed_with_zeros.json | 5 + .../Property/value/Short_decimal.json | 5 + .../Property/value/Short_empty.json | 5 + .../Property/value/Short_free_form_text.json | 5 + .../value/Short_mathematical_formula.json | 5 + .../Property/value/Short_max_plus_one.json | 5 + .../Property/value/Short_min_minus_one.json | 5 + .../Property/value/Short_scientific.json | 5 + .../Property/value/String_NUL_as_utf16.json | 5 + .../Property/value/String_NUL_as_utf32.json | 5 + .../Property/value/String_NUL_as_x.json | 5 + .../value/String_negatively_fuzzed_01.json | 5 + .../value/String_negatively_fuzzed_02.json | 5 + .../value/String_negatively_fuzzed_03.json | 5 + .../value/String_negatively_fuzzed_04.json | 5 + .../value/String_negatively_fuzzed_05.json | 5 + .../value/String_negatively_fuzzed_06.json | 5 + .../value/String_negatively_fuzzed_07.json | 5 + .../value/String_negatively_fuzzed_08.json | 5 + .../value/String_negatively_fuzzed_09.json | 5 + .../value/String_negatively_fuzzed_10.json | 5 + .../Property/value/Time_empty.json | 5 + .../Property/value/Time_free_form_text.json | 5 + .../value/Time_hour_out_of_range.json | 5 + .../value/Time_invalid_negative_offset.json | 5 + .../Time_invalid_offset_with_seconds.json | 5 + .../value/Time_invalid_positive_offset.json | 5 + .../value/Time_minute_out_of_range.json | 5 + .../value/Time_missing_padded_zeros.json | 5 + .../Property/value/Time_missing_seconds.json | 5 + .../Property/value/Time_negative.json | 5 + .../value/Time_second_out_of_range.json | 5 + .../Property/value/Unsigned_byte_decimal.json | 5 + .../Property/value/Unsigned_byte_empty.json | 5 + .../value/Unsigned_byte_free_form_text.json | 5 + .../Unsigned_byte_mathematical_formula.json | 5 + .../value/Unsigned_byte_max_plus_one.json | 5 + .../value/Unsigned_byte_negative.json | 5 + .../value/Unsigned_byte_scientific.json | 5 + .../Property/value/Unsigned_int_decimal.json | 5 + .../Property/value/Unsigned_int_empty.json | 5 + .../value/Unsigned_int_free_form_text.json | 5 + .../Unsigned_int_mathematical_formula.json | 5 + .../value/Unsigned_int_max_plus_one.json | 5 + .../Property/value/Unsigned_int_negative.json | 5 + .../value/Unsigned_int_scientific.json | 5 + .../Property/value/Unsigned_long_decimal.json | 5 + .../Property/value/Unsigned_long_empty.json | 5 + .../value/Unsigned_long_free_form_text.json | 5 + .../Unsigned_long_mathematical_formula.json | 5 + .../value/Unsigned_long_max_plus_one.json | 5 + .../value/Unsigned_long_negative.json | 5 + .../value/Unsigned_long_scientific.json | 5 + .../value/Unsigned_short_decimal.json | 5 + .../Property/value/Unsigned_short_empty.json | 5 + .../value/Unsigned_short_free_form_text.json | 5 + .../Unsigned_short_mathematical_formula.json | 5 + .../value/Unsigned_short_max_plus_one.json | 5 + .../value/Unsigned_short_negative.json | 5 + .../value/Unsigned_short_scientific.json | 5 + .../value/Any_URI_negatively_fuzzed_01.json | 5 + .../value/Any_URI_negatively_fuzzed_02.json | 5 + .../value/Any_URI_negatively_fuzzed_03.json | 5 + .../value/Any_URI_negatively_fuzzed_04.json | 5 + .../value/Any_URI_negatively_fuzzed_05.json | 5 + .../value/Any_URI_negatively_fuzzed_06.json | 5 + .../value/Any_URI_negatively_fuzzed_07.json | 5 + .../value/Any_URI_negatively_fuzzed_08.json | 5 + .../value/Any_URI_negatively_fuzzed_09.json | 5 + .../value/Any_URI_negatively_fuzzed_10.json | 5 + ...ollowed_by_non_two_hexadecimal_digits.json | 5 + .../value/Any_URI_too_many_fragments.json | 5 + ...odd_number_of_characters_is_not_valid.json | 5 + ...uals_signs_may_only_appear_at_the_end.json | 5 + .../Base_64_binary_negatively_fuzzed_01.json | 5 + .../Base_64_binary_negatively_fuzzed_02.json | 5 + .../Base_64_binary_negatively_fuzzed_03.json | 5 + .../Base_64_binary_negatively_fuzzed_04.json | 5 + .../Base_64_binary_negatively_fuzzed_05.json | 5 + .../Base_64_binary_negatively_fuzzed_06.json | 5 + .../Base_64_binary_negatively_fuzzed_07.json | 5 + .../Base_64_binary_negatively_fuzzed_08.json | 5 + .../Base_64_binary_negatively_fuzzed_09.json | 5 + .../Base_64_binary_negatively_fuzzed_10.json | 5 + ...an_false_as_number_with_leading_zeros.json | 5 + .../value/Boolean_false_in_camelcase.json | 5 + .../value/Boolean_false_in_uppercase.json | 5 + .../value/Boolean_negatively_fuzzed_01.json | 5 + .../value/Boolean_negatively_fuzzed_02.json | 5 + .../value/Boolean_negatively_fuzzed_03.json | 5 + .../value/Boolean_negatively_fuzzed_04.json | 5 + .../value/Boolean_negatively_fuzzed_05.json | 5 + .../value/Boolean_negatively_fuzzed_06.json | 5 + .../value/Boolean_negatively_fuzzed_07.json | 5 + .../value/Boolean_negatively_fuzzed_08.json | 5 + .../value/Boolean_negatively_fuzzed_09.json | 5 + .../value/Boolean_negatively_fuzzed_10.json | 5 + ...ean_true_as_number_with_leading_zeros.json | 5 + .../value/Boolean_true_in_camelcase.json | 5 + .../value/Boolean_true_in_uppercase.json | 5 + .../Qualifier/value/Byte_decimal.json | 5 + .../Qualifier/value/Byte_empty.json | 5 + .../Qualifier/value/Byte_free_form_text.json | 5 + .../value/Byte_mathematical_formula.json | 5 + .../Qualifier/value/Byte_max_plus_one.json | 5 + .../Qualifier/value/Byte_min_minus_one.json | 5 + .../Qualifier/value/Byte_scientific.json | 5 + .../value/Date_date_time_with_UTC.json | 5 + .../value/Date_date_time_with_offset.json | 5 + .../value/Date_date_time_without_zone.json | 5 + ...ate_date_with_invalid_negative_offset.json | 5 + ...ate_date_with_invalid_positive_offset.json | 5 + .../Date_date_with_seconds_in_offset.json | 5 + .../Qualifier/value/Date_empty.json | 5 + .../Date_non_existing_february_29th.json | 5 + .../Qualifier/value/Date_time_date.json | 5 + ...ate_time_with_invalid_negative_offset.json | 5 + ...ate_time_with_invalid_positive_offset.json | 5 + ...time_date_time_with_seconds_in_offset.json | 5 + ...time_date_time_with_unexpected_prefix.json | 5 + ...time_date_time_with_unexpected_suffix.json | 5 + .../value/Date_time_date_with_time_zone.json | 5 + .../Qualifier/value/Date_time_empty.json | 5 + .../Date_time_non_existing_february_29th.json | 5 + .../value/Date_time_without_minutes.json | 5 + .../value/Date_time_without_seconds.json | 5 + .../Date_time_year_4_bce_february_29th.json | 5 + .../Date_time_year_zero_doesnt_exist.json | 5 + .../value/Date_year_4_bce_february_29th.json | 5 + .../value/Date_year_zero_doesnt_exist.json | 5 + .../Qualifier/value/Decimal_empty.json | 5 + .../value/Decimal_free_form_text.json | 5 + .../Qualifier/value/Double_empty.json | 5 + .../value/Double_free_form_text.json | 5 + .../value/Double_inf_case_matters.json | 5 + .../value/Double_nan_case_matters.json | 5 + ...le_no_fraction_in_scientific_notation.json | 5 + .../Qualifier/value/Double_plus_inf.json | 5 + .../Qualifier/value/Double_too_large.json | 5 + .../Qualifier/value/Duration_empty.json | 5 + .../value/Duration_free_form_text.json | 5 + .../Qualifier/value/Duration_integer.json | 5 + .../value/Duration_leading_P_missing.json | 5 + .../value/Duration_negative_years.json | 5 + ...uration_positive_year_negative_months.json | 5 + .../value/Duration_separator_T_missing.json | 5 + .../value/Duration_the_order_matters.json | 5 + .../Qualifier/value/Float_empty.json | 5 + .../Qualifier/value/Float_free_form_text.json | 5 + .../value/Float_inf_case_matters.json | 5 + .../value/Float_nan_case_matters.json | 5 + ...at_no_fraction_in_scientific_notation.json | 5 + .../Qualifier/value/Float_plus_inf.json | 5 + .../Qualifier/value/Float_too_large.json | 5 + .../value/G_day_day_outside_of_range.json | 5 + .../Qualifier/value/G_day_empty.json | 5 + .../Qualifier/value/G_day_free_form_text.json | 5 + .../value/G_day_invalid_negative_offset.json | 5 + .../G_day_invalid_offset_with_seconds.json | 5 + .../value/G_day_invalid_positive_offset.json | 5 + .../value/G_day_missing_leading_dashes.json | 5 + .../value/G_day_missing_leading_digit.json | 5 + .../value/G_day_unexpected_suffix.json | 5 + .../G_month_day_day_outside_of_range.json | 5 + .../Qualifier/value/G_month_day_empty.json | 5 + .../value/G_month_day_free_form_text.json | 5 + .../G_month_day_invalid_negative_offset.json | 5 + ...month_day_invalid_offset_with_seconds.json | 5 + .../G_month_day_invalid_positive_offset.json | 5 + .../G_month_day_missing_leading_dashes.json | 5 + .../G_month_day_missing_leading_digit.json | 5 + .../G_month_day_non_existing_april_31st.json | 5 + ...onth_day_unexpected_prefix_and_suffix.json | 5 + .../Qualifier/value/G_month_empty.json | 5 + .../value/G_month_free_form_text.json | 5 + .../G_month_invalid_negative_offset.json | 5 + .../G_month_invalid_offset_with_seconds.json | 5 + .../G_month_invalid_positive_offset.json | 5 + .../value/G_month_missing_leading_dashes.json | 5 + .../value/G_month_missing_leading_digit.json | 5 + .../value/G_month_month_outside_of_range.json | 5 + .../G_month_unexpected_prefix_and_suffix.json | 5 + .../Qualifier/value/G_year_empty.json | 5 + .../value/G_year_free_form_text.json | 5 + .../value/G_year_invalid_negative_offset.json | 5 + .../G_year_invalid_offset_with_seconds.json | 5 + .../value/G_year_invalid_positive_offset.json | 5 + .../value/G_year_missing_century.json | 5 + .../Qualifier/value/G_year_month_empty.json | 5 + .../value/G_year_month_free_form_text.json | 5 + .../G_year_month_invalid_negative_offset.json | 5 + ...ear_month_invalid_offset_with_seconds.json | 5 + .../G_year_month_invalid_positive_offset.json | 5 + .../value/G_year_month_missing_century.json | 5 + .../value/G_year_month_missing_month.json | 5 + .../G_year_month_month_out_of_range.json | 5 + .../value/G_year_unexpected_month.json | 5 + .../value/Hex_binary_free_form_text.json | 5 + .../Hex_binary_odd_number_of_digits.json | 5 + .../value/Hex_binary_single_digit.json | 5 + .../Qualifier/value/Int_decimal.json | 5 + .../Qualifier/value/Int_empty.json | 5 + .../Qualifier/value/Int_free_form_text.json | 5 + .../value/Int_mathematical_formula.json | 5 + .../Qualifier/value/Int_max_plus_one.json | 5 + .../Qualifier/value/Int_min_minus_one.json | 5 + .../Qualifier/value/Int_scientific.json | 5 + .../Qualifier/value/Integer_decimal.json | 5 + .../Qualifier/value/Integer_empty.json | 5 + .../value/Integer_free_form_text.json | 5 + .../value/Integer_mathematical_formula.json | 5 + .../Qualifier/value/Integer_scientific.json | 5 + .../Qualifier/value/Long_decimal.json | 5 + .../Qualifier/value/Long_empty.json | 5 + .../Qualifier/value/Long_free_form_text.json | 5 + .../value/Long_mathematical_formula.json | 5 + .../Qualifier/value/Long_max_plus_one.json | 5 + .../Qualifier/value/Long_min_minus_one.json | 5 + .../Qualifier/value/Long_scientific.json | 5 + .../value/Negative_integer_decimal.json | 5 + .../value/Negative_integer_empty.json | 5 + .../Negative_integer_explicitly_positive.json | 5 + ...tive_integer_explicitly_positive_zero.json | 5 + .../Negative_integer_free_form_text.json | 5 + .../Negative_integer_implicitly_positive.json | 5 + ...Negative_integer_mathematical_formula.json | 5 + .../value/Negative_integer_scientific.json | 5 + .../value/Negative_integer_zero.json | 5 + ...tive_integer_zero_prefixed_with_zeros.json | 5 + .../value/Non_negative_integer_decimal.json | 5 + .../value/Non_negative_integer_empty.json | 5 + .../Non_negative_integer_free_form_text.json | 5 + .../value/Non_negative_integer_negative.json | 5 + .../value/Non_positive_integer_decimal.json | 5 + .../value/Non_positive_integer_empty.json | 5 + ..._positive_integer_explicitly_positive.json | 5 + .../Non_positive_integer_free_form_text.json | 5 + ..._positive_integer_implicitly_positive.json | 5 + ...positive_integer_mathematical_formula.json | 5 + .../Non_positive_integer_scientific.json | 5 + .../value/Positive_integer_decimal.json | 5 + .../value/Positive_integer_empty.json | 5 + .../Positive_integer_free_form_text.json | 5 + .../value/Positive_integer_negative.json | 5 + .../value/Positive_integer_zero.json | 5 + ...tive_integer_zero_prefixed_with_zeros.json | 5 + .../Qualifier/value/Short_decimal.json | 5 + .../Qualifier/value/Short_empty.json | 5 + .../Qualifier/value/Short_free_form_text.json | 5 + .../value/Short_mathematical_formula.json | 5 + .../Qualifier/value/Short_max_plus_one.json | 5 + .../Qualifier/value/Short_min_minus_one.json | 5 + .../Qualifier/value/Short_scientific.json | 5 + .../Qualifier/value/String_NUL_as_utf16.json | 5 + .../Qualifier/value/String_NUL_as_utf32.json | 5 + .../Qualifier/value/String_NUL_as_x.json | 5 + .../value/String_negatively_fuzzed_01.json | 5 + .../value/String_negatively_fuzzed_02.json | 5 + .../value/String_negatively_fuzzed_03.json | 5 + .../value/String_negatively_fuzzed_04.json | 5 + .../value/String_negatively_fuzzed_05.json | 5 + .../value/String_negatively_fuzzed_06.json | 5 + .../value/String_negatively_fuzzed_07.json | 5 + .../value/String_negatively_fuzzed_08.json | 5 + .../value/String_negatively_fuzzed_09.json | 5 + .../value/String_negatively_fuzzed_10.json | 5 + .../Qualifier/value/Time_empty.json | 5 + .../Qualifier/value/Time_free_form_text.json | 5 + .../value/Time_hour_out_of_range.json | 5 + .../value/Time_invalid_negative_offset.json | 5 + .../Time_invalid_offset_with_seconds.json | 5 + .../value/Time_invalid_positive_offset.json | 5 + .../value/Time_minute_out_of_range.json | 5 + .../value/Time_missing_padded_zeros.json | 5 + .../Qualifier/value/Time_missing_seconds.json | 5 + .../Qualifier/value/Time_negative.json | 5 + .../value/Time_second_out_of_range.json | 5 + .../value/Unsigned_byte_decimal.json | 5 + .../Qualifier/value/Unsigned_byte_empty.json | 5 + .../value/Unsigned_byte_free_form_text.json | 5 + .../Unsigned_byte_mathematical_formula.json | 5 + .../value/Unsigned_byte_max_plus_one.json | 5 + .../value/Unsigned_byte_negative.json | 5 + .../value/Unsigned_byte_scientific.json | 5 + .../Qualifier/value/Unsigned_int_decimal.json | 5 + .../Qualifier/value/Unsigned_int_empty.json | 5 + .../value/Unsigned_int_free_form_text.json | 5 + .../Unsigned_int_mathematical_formula.json | 5 + .../value/Unsigned_int_max_plus_one.json | 5 + .../value/Unsigned_int_negative.json | 5 + .../value/Unsigned_int_scientific.json | 5 + .../value/Unsigned_long_decimal.json | 5 + .../Qualifier/value/Unsigned_long_empty.json | 5 + .../value/Unsigned_long_free_form_text.json | 5 + .../Unsigned_long_mathematical_formula.json | 5 + .../value/Unsigned_long_max_plus_one.json | 5 + .../value/Unsigned_long_negative.json | 5 + .../value/Unsigned_long_scientific.json | 5 + .../value/Unsigned_short_decimal.json | 5 + .../Qualifier/value/Unsigned_short_empty.json | 5 + .../value/Unsigned_short_free_form_text.json | 5 + .../Unsigned_short_mathematical_formula.json | 5 + .../value/Unsigned_short_max_plus_one.json | 5 + .../value/Unsigned_short_negative.json | 5 + .../value/Unsigned_short_scientific.json | 5 + .../AdministrativeInformation/revision.json | 70 + .../AdministrativeInformation/templateId.json | 70 + .../AdministrativeInformation/version.json | 70 + .../category.json | 167 + .../AnnotatedRelationshipElement/idShort.json | 167 + .../AssetAdministrationShell/category.json | 122 + .../AssetAdministrationShell/id.json | 122 + .../AssetAdministrationShell/idShort.json | 122 + .../AssetInformation/assetType.json | 22 + .../AssetInformation/globalAssetId.json | 22 + .../BasicEventElement/category.json | 171 + .../BasicEventElement/idShort.json | 171 + .../BasicEventElement/messageTopic.json | 171 + .../MaxLengthViolation/Blob/category.json | 141 + .../MaxLengthViolation/Blob/contentType.json | 141 + .../MaxLengthViolation/Blob/idShort.json | 141 + .../Capability/category.json | 139 + .../Capability/idShort.json | 139 + .../ConceptDescription/category.json | 112 + .../ConceptDescription/id.json | 112 + .../ConceptDescription/idShort.json | 112 + .../DataSpecificationIec61360/value.json | 42 + .../MaxLengthViolation/Entity/category.json | 161 + .../Entity/globalAssetId.json | 161 + .../MaxLengthViolation/Entity/idShort.json | 161 + .../EventPayload/topic.json | 54 + .../MaxLengthViolation/Extension/name.json | 63 + .../MaxLengthViolation/File/category.json | 141 + .../MaxLengthViolation/File/contentType.json | 141 + .../MaxLengthViolation/File/idShort.json | 141 + .../MaxLengthViolation/File/value.json | 141 + .../Invalid/MaxLengthViolation/Key/value.json | 4 + .../text.json | 4 + .../LangStringNameType/text.json | 4 + .../text.json | 4 + .../LangStringShortNameTypeIec61360/text.json | 4 + .../LangStringTextType/text.json | 4 + .../MultiLanguageProperty/category.json | 158 + .../MultiLanguageProperty/idShort.json | 158 + .../Operation/category.json | 182 + .../MaxLengthViolation/Operation/idShort.json | 182 + .../MaxLengthViolation/Property/category.json | 150 + .../MaxLengthViolation/Property/idShort.json | 150 + .../MaxLengthViolation/Qualifier/type.json | 53 + .../MaxLengthViolation/Range/category.json | 142 + .../MaxLengthViolation/Range/idShort.json | 142 + .../ReferenceElement/category.json | 148 + .../ReferenceElement/idShort.json | 148 + .../RelationshipElement/category.json | 157 + .../RelationshipElement/idShort.json | 157 + .../Resource/contentType.json | 4 + .../MaxLengthViolation/Resource/path.json | 4 + .../SpecificAssetId/name.json | 51 + .../SpecificAssetId/value.json | 51 + .../MaxLengthViolation/Submodel/category.json | 153 + .../MaxLengthViolation/Submodel/id.json | 153 + .../MaxLengthViolation/Submodel/idShort.json | 153 + .../SubmodelElementCollection/category.json | 164 + .../SubmodelElementCollection/idShort.json | 164 + .../SubmodelElementList/category.json | 179 + .../SubmodelElementList/idShort.json | 179 + .../ValueReferencePair/value.json | 12 + .../embeddedDataSpecifications.json | 17 + .../AdministrativeInformation/revision.json | 70 + .../AdministrativeInformation/templateId.json | 70 + .../AdministrativeInformation/version.json | 70 + .../annotations.json | 158 + .../category.json | 167 + .../description.json | 158 + .../displayName.json | 158 + .../embeddedDataSpecifications.json | 114 + .../extensions.json | 160 + .../AnnotatedRelationshipElement/idShort.json | 167 + .../qualifiers.json | 154 + .../supplementalSemanticIds.json | 139 + .../AssetAdministrationShell/category.json | 122 + .../AssetAdministrationShell/description.json | 113 + .../AssetAdministrationShell/displayName.json | 113 + .../embeddedDataSpecifications.json | 69 + .../AssetAdministrationShell/extensions.json | 115 + .../AssetAdministrationShell/id.json | 122 + .../AssetAdministrationShell/idShort.json | 122 + .../AssetAdministrationShell/submodels.json | 103 + .../AssetInformation/assetType.json | 22 + .../AssetInformation/globalAssetId.json | 22 + .../AssetInformation/specificAssetIds.json | 9 + .../BasicEventElement/category.json | 171 + .../BasicEventElement/description.json | 162 + .../BasicEventElement/displayName.json | 162 + .../embeddedDataSpecifications.json | 118 + .../BasicEventElement/extensions.json | 164 + .../BasicEventElement/idShort.json | 171 + .../BasicEventElement/messageTopic.json | 171 + .../BasicEventElement/qualifiers.json | 158 + .../supplementalSemanticIds.json | 143 + .../MinLengthViolation/Blob/category.json | 141 + .../MinLengthViolation/Blob/contentType.json | 141 + .../MinLengthViolation/Blob/description.json | 132 + .../MinLengthViolation/Blob/displayName.json | 132 + .../Blob/embeddedDataSpecifications.json | 88 + .../MinLengthViolation/Blob/extensions.json | 134 + .../MinLengthViolation/Blob/idShort.json | 141 + .../MinLengthViolation/Blob/qualifiers.json | 128 + .../Blob/supplementalSemanticIds.json | 113 + .../Capability/category.json | 139 + .../Capability/description.json | 130 + .../Capability/displayName.json | 130 + .../embeddedDataSpecifications.json | 86 + .../Capability/extensions.json | 132 + .../Capability/idShort.json | 139 + .../Capability/qualifiers.json | 126 + .../Capability/supplementalSemanticIds.json | 111 + .../ConceptDescription/category.json | 112 + .../ConceptDescription/description.json | 103 + .../ConceptDescription/displayName.json | 103 + .../embeddedDataSpecifications.json | 47 + .../ConceptDescription/extensions.json | 105 + .../ConceptDescription/id.json | 112 + .../ConceptDescription/idShort.json | 112 + .../ConceptDescription/isCaseOf.json | 102 + .../DataSpecificationIec61360/definition.json | 37 + .../preferredName.json | 37 + .../DataSpecificationIec61360/shortName.json | 37 + .../sourceOfDefinition.json | 42 + .../DataSpecificationIec61360/symbol.json | 42 + .../DataSpecificationIec61360/unit.json | 42 + .../DataSpecificationIec61360/value.json | 42 + .../valueFormat.json | 42 + .../MinLengthViolation/Entity/category.json | 161 + .../Entity/description.json | 152 + .../Entity/displayName.json | 152 + .../Entity/embeddedDataSpecifications.json | 108 + .../MinLengthViolation/Entity/extensions.json | 154 + .../Entity/globalAssetId.json | 161 + .../MinLengthViolation/Entity/idShort.json | 161 + .../MinLengthViolation/Entity/qualifiers.json | 148 + .../Entity/specificAssetIds.json | 148 + .../MinLengthViolation/Entity/statements.json | 156 + .../Entity/supplementalSemanticIds.json | 133 + .../assetAdministrationShells.json | 15 + .../Environment/conceptDescriptions.json | 27 + .../Environment/submodels.json | 27 + .../EventPayload/topic.json | 54 + .../MinLengthViolation/Extension/name.json | 63 + .../Extension/refersTo.json | 44 + .../Extension/supplementalSemanticIds.json | 35 + .../MinLengthViolation/File/category.json | 141 + .../MinLengthViolation/File/contentType.json | 141 + .../MinLengthViolation/File/description.json | 132 + .../MinLengthViolation/File/displayName.json | 132 + .../File/embeddedDataSpecifications.json | 88 + .../MinLengthViolation/File/extensions.json | 134 + .../MinLengthViolation/File/idShort.json | 141 + .../MinLengthViolation/File/qualifiers.json | 128 + .../File/supplementalSemanticIds.json | 113 + .../MinLengthViolation/File/value.json | 141 + .../Invalid/MinLengthViolation/Key/value.json | 4 + .../text.json | 4 + .../LangStringNameType/text.json | 4 + .../text.json | 4 + .../LangStringShortNameTypeIec61360/text.json | 4 + .../LangStringTextType/text.json | 4 + .../MultiLanguageProperty/category.json | 158 + .../MultiLanguageProperty/description.json | 149 + .../MultiLanguageProperty/displayName.json | 149 + .../embeddedDataSpecifications.json | 105 + .../MultiLanguageProperty/extensions.json | 151 + .../MultiLanguageProperty/idShort.json | 158 + .../MultiLanguageProperty/qualifiers.json | 145 + .../supplementalSemanticIds.json | 130 + .../MultiLanguageProperty/value.json | 149 + .../Operation/category.json | 182 + .../Operation/description.json | 173 + .../Operation/displayName.json | 173 + .../Operation/embeddedDataSpecifications.json | 129 + .../Operation/extensions.json | 175 + .../MinLengthViolation/Operation/idShort.json | 182 + .../Operation/inoutputVariables.json | 162 + .../Operation/inputVariables.json | 175 + .../Operation/outputVariables.json | 169 + .../Operation/qualifiers.json | 169 + .../Operation/supplementalSemanticIds.json | 154 + .../MinLengthViolation/Property/category.json | 150 + .../Property/description.json | 141 + .../Property/displayName.json | 141 + .../Property/embeddedDataSpecifications.json | 97 + .../Property/extensions.json | 143 + .../MinLengthViolation/Property/idShort.json | 150 + .../Property/qualifiers.json | 137 + .../Property/supplementalSemanticIds.json | 122 + .../Qualifier/supplementalSemanticIds.json | 25 + .../MinLengthViolation/Qualifier/type.json | 53 + .../MinLengthViolation/Range/category.json | 142 + .../MinLengthViolation/Range/description.json | 133 + .../MinLengthViolation/Range/displayName.json | 133 + .../Range/embeddedDataSpecifications.json | 89 + .../MinLengthViolation/Range/extensions.json | 135 + .../MinLengthViolation/Range/idShort.json | 142 + .../MinLengthViolation/Range/qualifiers.json | 129 + .../Range/supplementalSemanticIds.json | 114 + .../MinLengthViolation/Reference/keys.json | 13 + .../ReferenceElement/category.json | 148 + .../ReferenceElement/description.json | 139 + .../ReferenceElement/displayName.json | 139 + .../embeddedDataSpecifications.json | 95 + .../ReferenceElement/extensions.json | 141 + .../ReferenceElement/idShort.json | 148 + .../ReferenceElement/qualifiers.json | 135 + .../supplementalSemanticIds.json | 120 + .../RelationshipElement/category.json | 157 + .../RelationshipElement/description.json | 148 + .../RelationshipElement/displayName.json | 148 + .../embeddedDataSpecifications.json | 104 + .../RelationshipElement/extensions.json | 150 + .../RelationshipElement/idShort.json | 157 + .../RelationshipElement/qualifiers.json | 144 + .../supplementalSemanticIds.json | 129 + .../Resource/contentType.json | 4 + .../MinLengthViolation/Resource/path.json | 4 + .../SpecificAssetId/name.json | 51 + .../supplementalSemanticIds.json | 23 + .../SpecificAssetId/value.json | 51 + .../MinLengthViolation/Submodel/category.json | 153 + .../Submodel/description.json | 144 + .../Submodel/displayName.json | 144 + .../Submodel/embeddedDataSpecifications.json | 100 + .../Submodel/extensions.json | 146 + .../MinLengthViolation/Submodel/id.json | 153 + .../MinLengthViolation/Submodel/idShort.json | 153 + .../Submodel/qualifiers.json | 140 + .../Submodel/submodelElements.json | 143 + .../Submodel/supplementalSemanticIds.json | 125 + .../SubmodelElementCollection/category.json | 164 + .../description.json | 155 + .../displayName.json | 155 + .../embeddedDataSpecifications.json | 111 + .../SubmodelElementCollection/extensions.json | 157 + .../SubmodelElementCollection/idShort.json | 164 + .../SubmodelElementCollection/qualifiers.json | 151 + .../supplementalSemanticIds.json | 136 + .../SubmodelElementCollection/value.json | 140 + .../SubmodelElementList/category.json | 179 + .../SubmodelElementList/description.json | 170 + .../SubmodelElementList/displayName.json | 170 + .../embeddedDataSpecifications.json | 126 + .../SubmodelElementList/extensions.json | 172 + .../SubmodelElementList/idShort.json | 179 + .../SubmodelElementList/qualifiers.json | 166 + .../supplementalSemanticIds.json | 151 + .../SubmodelElementList/value.json | 152 + .../ValueList/valueReferencePairs.json | 3 + .../ValueReferencePair/value.json | 12 + .../date_time_with_UTC_and_suffix.json | 3 + .../createdAt/date_time_with_offset.json | 3 + .../createdAt/date_time_without_zone.json | 3 + .../createdAt/empty.json | 3 + .../createdAt/invalid_february_29th.json | 3 + .../createdAt/negatively_fuzzed_01.json | 3 + .../createdAt/negatively_fuzzed_02.json | 3 + .../createdAt/negatively_fuzzed_03.json | 3 + .../createdAt/negatively_fuzzed_04.json | 3 + .../createdAt/negatively_fuzzed_05.json | 3 + .../createdAt/negatively_fuzzed_06.json | 3 + .../createdAt/negatively_fuzzed_07.json | 3 + .../createdAt/negatively_fuzzed_08.json | 3 + .../createdAt/negatively_fuzzed_09.json | 3 + .../createdAt/negatively_fuzzed_10.json | 3 + .../createdAt/only_date.json | 3 + .../createdAt/only_date_with_time_zone.json | 3 + .../createdAt/without_minutes.json | 3 + .../createdAt/without_seconds.json | 3 + .../revision/dot.json | 3 + .../revision/letter.json | 3 + .../revision/negative.json | 3 + .../templateId/negatively_fuzzed_01.json | 3 + .../templateId/negatively_fuzzed_02.json | 3 + .../templateId/negatively_fuzzed_03.json | 3 + .../templateId/negatively_fuzzed_04.json | 3 + .../templateId/negatively_fuzzed_05.json | 3 + .../templateId/negatively_fuzzed_06.json | 3 + .../templateId/negatively_fuzzed_07.json | 3 + .../templateId/negatively_fuzzed_08.json | 3 + .../templateId/negatively_fuzzed_09.json | 3 + .../templateId/negatively_fuzzed_10.json | 3 + .../date_time_with_UTC_and_suffix.json | 3 + .../updatedAt/date_time_with_offset.json | 3 + .../updatedAt/date_time_without_zone.json | 3 + .../updatedAt/empty.json | 3 + .../updatedAt/invalid_february_29th.json | 3 + .../updatedAt/negatively_fuzzed_01.json | 3 + .../updatedAt/negatively_fuzzed_02.json | 3 + .../updatedAt/negatively_fuzzed_03.json | 3 + .../updatedAt/negatively_fuzzed_04.json | 3 + .../updatedAt/negatively_fuzzed_05.json | 3 + .../updatedAt/negatively_fuzzed_06.json | 3 + .../updatedAt/negatively_fuzzed_07.json | 3 + .../updatedAt/negatively_fuzzed_08.json | 3 + .../updatedAt/negatively_fuzzed_09.json | 3 + .../updatedAt/negatively_fuzzed_10.json | 3 + .../updatedAt/only_date.json | 3 + .../updatedAt/only_date_with_time_zone.json | 3 + .../updatedAt/without_minutes.json | 3 + .../updatedAt/without_seconds.json | 3 + .../version/dot.json | 3 + .../version/letter.json | 3 + .../version/negative.json | 3 + .../category/negatively_fuzzed_01.json | 4 + .../category/negatively_fuzzed_02.json | 4 + .../category/negatively_fuzzed_03.json | 4 + .../category/negatively_fuzzed_04.json | 4 + .../category/negatively_fuzzed_05.json | 4 + .../category/negatively_fuzzed_06.json | 4 + .../category/negatively_fuzzed_07.json | 4 + .../category/negatively_fuzzed_08.json | 4 + .../category/negatively_fuzzed_09.json | 4 + .../category/negatively_fuzzed_10.json | 4 + .../idShort/negatively_fuzzed_01.json | 4 + .../idShort/negatively_fuzzed_02.json | 4 + .../idShort/negatively_fuzzed_03.json | 4 + .../idShort/negatively_fuzzed_04.json | 4 + .../idShort/negatively_fuzzed_05.json | 4 + .../idShort/negatively_fuzzed_06.json | 4 + .../idShort/negatively_fuzzed_07.json | 4 + .../idShort/negatively_fuzzed_08.json | 4 + .../idShort/negatively_fuzzed_09.json | 4 + .../idShort/negatively_fuzzed_10.json | 4 + .../category/negatively_fuzzed_01.json | 9 + .../category/negatively_fuzzed_02.json | 9 + .../category/negatively_fuzzed_03.json | 9 + .../category/negatively_fuzzed_04.json | 9 + .../category/negatively_fuzzed_05.json | 9 + .../category/negatively_fuzzed_06.json | 9 + .../category/negatively_fuzzed_07.json | 9 + .../category/negatively_fuzzed_08.json | 9 + .../category/negatively_fuzzed_09.json | 9 + .../category/negatively_fuzzed_10.json | 9 + .../id/negatively_fuzzed_01.json | 8 + .../id/negatively_fuzzed_02.json | 8 + .../id/negatively_fuzzed_03.json | 8 + .../id/negatively_fuzzed_04.json | 8 + .../id/negatively_fuzzed_05.json | 8 + .../id/negatively_fuzzed_06.json | 8 + .../id/negatively_fuzzed_07.json | 8 + .../id/negatively_fuzzed_08.json | 8 + .../id/negatively_fuzzed_09.json | 8 + .../id/negatively_fuzzed_10.json | 8 + .../idShort/negatively_fuzzed_01.json | 9 + .../idShort/negatively_fuzzed_02.json | 9 + .../idShort/negatively_fuzzed_03.json | 9 + .../idShort/negatively_fuzzed_04.json | 9 + .../idShort/negatively_fuzzed_05.json | 9 + .../idShort/negatively_fuzzed_06.json | 9 + .../idShort/negatively_fuzzed_07.json | 9 + .../idShort/negatively_fuzzed_08.json | 9 + .../idShort/negatively_fuzzed_09.json | 9 + .../idShort/negatively_fuzzed_10.json | 9 + .../assetType/negatively_fuzzed_01.json | 5 + .../assetType/negatively_fuzzed_02.json | 5 + .../assetType/negatively_fuzzed_03.json | 5 + .../assetType/negatively_fuzzed_04.json | 5 + .../assetType/negatively_fuzzed_05.json | 5 + .../assetType/negatively_fuzzed_06.json | 5 + .../assetType/negatively_fuzzed_07.json | 5 + .../assetType/negatively_fuzzed_08.json | 5 + .../assetType/negatively_fuzzed_09.json | 5 + .../assetType/negatively_fuzzed_10.json | 5 + .../globalAssetId/negatively_fuzzed_01.json | 4 + .../globalAssetId/negatively_fuzzed_02.json | 4 + .../globalAssetId/negatively_fuzzed_03.json | 4 + .../globalAssetId/negatively_fuzzed_04.json | 4 + .../globalAssetId/negatively_fuzzed_05.json | 4 + .../globalAssetId/negatively_fuzzed_06.json | 4 + .../globalAssetId/negatively_fuzzed_07.json | 4 + .../globalAssetId/negatively_fuzzed_08.json | 4 + .../globalAssetId/negatively_fuzzed_09.json | 4 + .../globalAssetId/negatively_fuzzed_10.json | 4 + .../category/negatively_fuzzed_01.json | 19 + .../category/negatively_fuzzed_02.json | 19 + .../category/negatively_fuzzed_03.json | 19 + .../category/negatively_fuzzed_04.json | 19 + .../category/negatively_fuzzed_05.json | 19 + .../category/negatively_fuzzed_06.json | 19 + .../category/negatively_fuzzed_07.json | 19 + .../category/negatively_fuzzed_08.json | 19 + .../category/negatively_fuzzed_09.json | 19 + .../category/negatively_fuzzed_10.json | 19 + .../idShort/negatively_fuzzed_01.json | 19 + .../idShort/negatively_fuzzed_02.json | 19 + .../idShort/negatively_fuzzed_03.json | 19 + .../idShort/negatively_fuzzed_04.json | 19 + .../idShort/negatively_fuzzed_05.json | 19 + .../idShort/negatively_fuzzed_06.json | 19 + .../idShort/negatively_fuzzed_07.json | 19 + .../idShort/negatively_fuzzed_08.json | 19 + .../idShort/negatively_fuzzed_09.json | 19 + .../idShort/negatively_fuzzed_10.json | 19 + .../date_time_with_UTC_and_suffix.json | 19 + .../lastUpdate/date_time_with_offset.json | 19 + .../lastUpdate/date_time_without_zone.json | 19 + .../BasicEventElement/lastUpdate/empty.json | 19 + .../lastUpdate/invalid_february_29th.json | 19 + .../lastUpdate/negatively_fuzzed_01.json | 19 + .../lastUpdate/negatively_fuzzed_02.json | 19 + .../lastUpdate/negatively_fuzzed_03.json | 19 + .../lastUpdate/negatively_fuzzed_04.json | 19 + .../lastUpdate/negatively_fuzzed_05.json | 19 + .../lastUpdate/negatively_fuzzed_06.json | 19 + .../lastUpdate/negatively_fuzzed_07.json | 19 + .../lastUpdate/negatively_fuzzed_08.json | 19 + .../lastUpdate/negatively_fuzzed_09.json | 19 + .../lastUpdate/negatively_fuzzed_10.json | 19 + .../lastUpdate/only_date.json | 19 + .../lastUpdate/only_date_with_time_zone.json | 19 + .../lastUpdate/without_minutes.json | 19 + .../lastUpdate/without_seconds.json | 19 + .../BasicEventElement/maxInterval/empty.json | 19 + .../maxInterval/free_form_text.json | 19 + .../maxInterval/integer.json | 19 + .../maxInterval/leading_P_missing.json | 19 + .../maxInterval/negative_years.json | 19 + .../positive_year_negative_months.json | 19 + .../maxInterval/separator_T_missing.json | 19 + .../maxInterval/the_order_matters.json | 19 + .../messageTopic/negatively_fuzzed_01.json | 19 + .../messageTopic/negatively_fuzzed_02.json | 19 + .../messageTopic/negatively_fuzzed_03.json | 19 + .../messageTopic/negatively_fuzzed_04.json | 19 + .../messageTopic/negatively_fuzzed_05.json | 19 + .../messageTopic/negatively_fuzzed_06.json | 19 + .../messageTopic/negatively_fuzzed_07.json | 19 + .../messageTopic/negatively_fuzzed_08.json | 19 + .../messageTopic/negatively_fuzzed_09.json | 19 + .../messageTopic/negatively_fuzzed_10.json | 19 + .../BasicEventElement/minInterval/empty.json | 19 + .../minInterval/free_form_text.json | 19 + .../minInterval/integer.json | 19 + .../minInterval/leading_P_missing.json | 19 + .../minInterval/negative_years.json | 19 + .../positive_year_negative_months.json | 19 + .../minInterval/separator_T_missing.json | 19 + .../minInterval/the_order_matters.json | 19 + .../Blob/category/negatively_fuzzed_01.json | 4 + .../Blob/category/negatively_fuzzed_02.json | 4 + .../Blob/category/negatively_fuzzed_03.json | 4 + .../Blob/category/negatively_fuzzed_04.json | 4 + .../Blob/category/negatively_fuzzed_05.json | 4 + .../Blob/category/negatively_fuzzed_06.json | 4 + .../Blob/category/negatively_fuzzed_07.json | 4 + .../Blob/category/negatively_fuzzed_08.json | 4 + .../Blob/category/negatively_fuzzed_09.json | 4 + .../Blob/category/negatively_fuzzed_10.json | 4 + .../Blob/contentType/empty.json | 4 + .../contentType/negatively_fuzzed_01.json | 4 + .../contentType/negatively_fuzzed_02.json | 4 + .../contentType/negatively_fuzzed_03.json | 4 + .../contentType/negatively_fuzzed_04.json | 4 + .../contentType/negatively_fuzzed_05.json | 4 + .../contentType/negatively_fuzzed_06.json | 4 + .../contentType/negatively_fuzzed_07.json | 4 + .../contentType/negatively_fuzzed_08.json | 4 + .../contentType/negatively_fuzzed_09.json | 4 + .../contentType/negatively_fuzzed_10.json | 4 + .../Blob/contentType/number.json | 4 + .../Blob/idShort/negatively_fuzzed_01.json | 4 + .../Blob/idShort/negatively_fuzzed_02.json | 4 + .../Blob/idShort/negatively_fuzzed_03.json | 4 + .../Blob/idShort/negatively_fuzzed_04.json | 4 + .../Blob/idShort/negatively_fuzzed_05.json | 4 + .../Blob/idShort/negatively_fuzzed_06.json | 4 + .../Blob/idShort/negatively_fuzzed_07.json | 4 + .../Blob/idShort/negatively_fuzzed_08.json | 4 + .../Blob/idShort/negatively_fuzzed_09.json | 4 + .../Blob/idShort/negatively_fuzzed_10.json | 4 + .../category/negatively_fuzzed_01.json | 4 + .../category/negatively_fuzzed_02.json | 4 + .../category/negatively_fuzzed_03.json | 4 + .../category/negatively_fuzzed_04.json | 4 + .../category/negatively_fuzzed_05.json | 4 + .../category/negatively_fuzzed_06.json | 4 + .../category/negatively_fuzzed_07.json | 4 + .../category/negatively_fuzzed_08.json | 4 + .../category/negatively_fuzzed_09.json | 4 + .../category/negatively_fuzzed_10.json | 4 + .../idShort/negatively_fuzzed_01.json | 4 + .../idShort/negatively_fuzzed_02.json | 4 + .../idShort/negatively_fuzzed_03.json | 4 + .../idShort/negatively_fuzzed_04.json | 4 + .../idShort/negatively_fuzzed_05.json | 4 + .../idShort/negatively_fuzzed_06.json | 4 + .../idShort/negatively_fuzzed_07.json | 4 + .../idShort/negatively_fuzzed_08.json | 4 + .../idShort/negatively_fuzzed_09.json | 4 + .../idShort/negatively_fuzzed_10.json | 4 + .../category/negatively_fuzzed_01.json | 5 + .../category/negatively_fuzzed_02.json | 5 + .../category/negatively_fuzzed_03.json | 5 + .../category/negatively_fuzzed_04.json | 5 + .../category/negatively_fuzzed_05.json | 5 + .../category/negatively_fuzzed_06.json | 5 + .../category/negatively_fuzzed_07.json | 5 + .../category/negatively_fuzzed_08.json | 5 + .../category/negatively_fuzzed_09.json | 5 + .../category/negatively_fuzzed_10.json | 5 + .../id/negatively_fuzzed_01.json | 4 + .../id/negatively_fuzzed_02.json | 4 + .../id/negatively_fuzzed_03.json | 4 + .../id/negatively_fuzzed_04.json | 4 + .../id/negatively_fuzzed_05.json | 4 + .../id/negatively_fuzzed_06.json | 4 + .../id/negatively_fuzzed_07.json | 4 + .../id/negatively_fuzzed_08.json | 4 + .../id/negatively_fuzzed_09.json | 4 + .../id/negatively_fuzzed_10.json | 4 + .../idShort/negatively_fuzzed_01.json | 5 + .../idShort/negatively_fuzzed_02.json | 5 + .../idShort/negatively_fuzzed_03.json | 5 + .../idShort/negatively_fuzzed_04.json | 5 + .../idShort/negatively_fuzzed_05.json | 5 + .../idShort/negatively_fuzzed_06.json | 5 + .../idShort/negatively_fuzzed_07.json | 5 + .../idShort/negatively_fuzzed_08.json | 5 + .../idShort/negatively_fuzzed_09.json | 5 + .../idShort/negatively_fuzzed_10.json | 5 + .../negatively_fuzzed_01.json | 10 + .../negatively_fuzzed_02.json | 10 + .../negatively_fuzzed_03.json | 10 + .../negatively_fuzzed_04.json | 10 + .../negatively_fuzzed_05.json | 10 + .../negatively_fuzzed_06.json | 10 + .../negatively_fuzzed_07.json | 10 + .../negatively_fuzzed_08.json | 10 + .../negatively_fuzzed_09.json | 10 + .../negatively_fuzzed_10.json | 10 + .../symbol/negatively_fuzzed_01.json | 10 + .../symbol/negatively_fuzzed_02.json | 10 + .../symbol/negatively_fuzzed_03.json | 10 + .../symbol/negatively_fuzzed_04.json | 10 + .../symbol/negatively_fuzzed_05.json | 10 + .../symbol/negatively_fuzzed_06.json | 10 + .../symbol/negatively_fuzzed_07.json | 10 + .../symbol/negatively_fuzzed_08.json | 10 + .../symbol/negatively_fuzzed_09.json | 10 + .../symbol/negatively_fuzzed_10.json | 10 + .../unit/negatively_fuzzed_01.json | 10 + .../unit/negatively_fuzzed_02.json | 10 + .../unit/negatively_fuzzed_03.json | 10 + .../unit/negatively_fuzzed_04.json | 10 + .../unit/negatively_fuzzed_05.json | 10 + .../unit/negatively_fuzzed_06.json | 10 + .../unit/negatively_fuzzed_07.json | 10 + .../unit/negatively_fuzzed_08.json | 10 + .../unit/negatively_fuzzed_09.json | 10 + .../unit/negatively_fuzzed_10.json | 10 + .../value/negatively_fuzzed_01.json | 10 + .../value/negatively_fuzzed_02.json | 10 + .../value/negatively_fuzzed_03.json | 10 + .../value/negatively_fuzzed_04.json | 10 + .../value/negatively_fuzzed_05.json | 10 + .../value/negatively_fuzzed_06.json | 10 + .../value/negatively_fuzzed_07.json | 10 + .../value/negatively_fuzzed_08.json | 10 + .../value/negatively_fuzzed_09.json | 10 + .../value/negatively_fuzzed_10.json | 10 + .../valueFormat/negatively_fuzzed_01.json | 10 + .../valueFormat/negatively_fuzzed_02.json | 10 + .../valueFormat/negatively_fuzzed_03.json | 10 + .../valueFormat/negatively_fuzzed_04.json | 10 + .../valueFormat/negatively_fuzzed_05.json | 10 + .../valueFormat/negatively_fuzzed_06.json | 10 + .../valueFormat/negatively_fuzzed_07.json | 10 + .../valueFormat/negatively_fuzzed_08.json | 10 + .../valueFormat/negatively_fuzzed_09.json | 10 + .../valueFormat/negatively_fuzzed_10.json | 10 + .../Entity/category/negatively_fuzzed_01.json | 4 + .../Entity/category/negatively_fuzzed_02.json | 4 + .../Entity/category/negatively_fuzzed_03.json | 4 + .../Entity/category/negatively_fuzzed_04.json | 4 + .../Entity/category/negatively_fuzzed_05.json | 4 + .../Entity/category/negatively_fuzzed_06.json | 4 + .../Entity/category/negatively_fuzzed_07.json | 4 + .../Entity/category/negatively_fuzzed_08.json | 4 + .../Entity/category/negatively_fuzzed_09.json | 4 + .../Entity/category/negatively_fuzzed_10.json | 4 + .../globalAssetId/negatively_fuzzed_01.json | 4 + .../globalAssetId/negatively_fuzzed_02.json | 4 + .../globalAssetId/negatively_fuzzed_03.json | 4 + .../globalAssetId/negatively_fuzzed_04.json | 4 + .../globalAssetId/negatively_fuzzed_05.json | 4 + .../globalAssetId/negatively_fuzzed_06.json | 4 + .../globalAssetId/negatively_fuzzed_07.json | 4 + .../globalAssetId/negatively_fuzzed_08.json | 4 + .../globalAssetId/negatively_fuzzed_09.json | 4 + .../globalAssetId/negatively_fuzzed_10.json | 4 + .../Entity/idShort/negatively_fuzzed_01.json | 4 + .../Entity/idShort/negatively_fuzzed_02.json | 4 + .../Entity/idShort/negatively_fuzzed_03.json | 4 + .../Entity/idShort/negatively_fuzzed_04.json | 4 + .../Entity/idShort/negatively_fuzzed_05.json | 4 + .../Entity/idShort/negatively_fuzzed_06.json | 4 + .../Entity/idShort/negatively_fuzzed_07.json | 4 + .../Entity/idShort/negatively_fuzzed_08.json | 4 + .../Entity/idShort/negatively_fuzzed_09.json | 4 + .../Entity/idShort/negatively_fuzzed_10.json | 4 + .../date_time_with_UTC_and_suffix.json | 25 + .../timeStamp/date_time_with_offset.json | 25 + .../timeStamp/date_time_without_zone.json | 25 + .../EventPayload/timeStamp/empty.json | 25 + .../timeStamp/invalid_february_29th.json | 25 + .../timeStamp/negatively_fuzzed_01.json | 25 + .../timeStamp/negatively_fuzzed_02.json | 25 + .../timeStamp/negatively_fuzzed_03.json | 25 + .../timeStamp/negatively_fuzzed_04.json | 25 + .../timeStamp/negatively_fuzzed_05.json | 25 + .../timeStamp/negatively_fuzzed_06.json | 25 + .../timeStamp/negatively_fuzzed_07.json | 25 + .../timeStamp/negatively_fuzzed_08.json | 25 + .../timeStamp/negatively_fuzzed_09.json | 25 + .../timeStamp/negatively_fuzzed_10.json | 25 + .../EventPayload/timeStamp/only_date.json | 25 + .../timeStamp/only_date_with_time_zone.json | 25 + .../timeStamp/without_minutes.json | 25 + .../timeStamp/without_seconds.json | 25 + .../topic/negatively_fuzzed_01.json | 26 + .../topic/negatively_fuzzed_02.json | 26 + .../topic/negatively_fuzzed_03.json | 26 + .../topic/negatively_fuzzed_04.json | 26 + .../topic/negatively_fuzzed_05.json | 26 + .../topic/negatively_fuzzed_06.json | 26 + .../topic/negatively_fuzzed_07.json | 26 + .../topic/negatively_fuzzed_08.json | 26 + .../topic/negatively_fuzzed_09.json | 26 + .../topic/negatively_fuzzed_10.json | 26 + .../Extension/name/negatively_fuzzed_01.json | 3 + .../Extension/name/negatively_fuzzed_02.json | 3 + .../Extension/name/negatively_fuzzed_03.json | 3 + .../Extension/name/negatively_fuzzed_04.json | 3 + .../Extension/name/negatively_fuzzed_05.json | 3 + .../Extension/name/negatively_fuzzed_06.json | 3 + .../Extension/name/negatively_fuzzed_07.json | 3 + .../Extension/name/negatively_fuzzed_08.json | 3 + .../Extension/name/negatively_fuzzed_09.json | 3 + .../Extension/name/negatively_fuzzed_10.json | 3 + .../File/category/negatively_fuzzed_01.json | 4 + .../File/category/negatively_fuzzed_02.json | 4 + .../File/category/negatively_fuzzed_03.json | 4 + .../File/category/negatively_fuzzed_04.json | 4 + .../File/category/negatively_fuzzed_05.json | 4 + .../File/category/negatively_fuzzed_06.json | 4 + .../File/category/negatively_fuzzed_07.json | 4 + .../File/category/negatively_fuzzed_08.json | 4 + .../File/category/negatively_fuzzed_09.json | 4 + .../File/category/negatively_fuzzed_10.json | 4 + .../File/contentType/empty.json | 4 + .../contentType/negatively_fuzzed_01.json | 4 + .../contentType/negatively_fuzzed_02.json | 4 + .../contentType/negatively_fuzzed_03.json | 4 + .../contentType/negatively_fuzzed_04.json | 4 + .../contentType/negatively_fuzzed_05.json | 4 + .../contentType/negatively_fuzzed_06.json | 4 + .../contentType/negatively_fuzzed_07.json | 4 + .../contentType/negatively_fuzzed_08.json | 4 + .../contentType/negatively_fuzzed_09.json | 4 + .../contentType/negatively_fuzzed_10.json | 4 + .../File/contentType/number.json | 4 + .../File/idShort/negatively_fuzzed_01.json | 4 + .../File/idShort/negatively_fuzzed_02.json | 4 + .../File/idShort/negatively_fuzzed_03.json | 4 + .../File/idShort/negatively_fuzzed_04.json | 4 + .../File/idShort/negatively_fuzzed_05.json | 4 + .../File/idShort/negatively_fuzzed_06.json | 4 + .../File/idShort/negatively_fuzzed_07.json | 4 + .../File/idShort/negatively_fuzzed_08.json | 4 + .../File/idShort/negatively_fuzzed_09.json | 4 + .../File/idShort/negatively_fuzzed_10.json | 4 + .../File/value/negatively_fuzzed_01.json | 4 + .../File/value/negatively_fuzzed_02.json | 4 + .../File/value/negatively_fuzzed_03.json | 4 + .../File/value/negatively_fuzzed_04.json | 4 + .../File/value/negatively_fuzzed_05.json | 4 + .../File/value/negatively_fuzzed_06.json | 4 + .../File/value/negatively_fuzzed_07.json | 4 + .../File/value/negatively_fuzzed_08.json | 4 + .../File/value/negatively_fuzzed_09.json | 4 + .../File/value/negatively_fuzzed_10.json | 4 + .../File/value/negatively_made_up_01.json | 4 + .../File/value/negatively_made_up_02.json | 4 + .../Key/value/negatively_fuzzed_01.json | 4 + .../Key/value/negatively_fuzzed_02.json | 4 + .../Key/value/negatively_fuzzed_03.json | 4 + .../Key/value/negatively_fuzzed_04.json | 4 + .../Key/value/negatively_fuzzed_05.json | 4 + .../Key/value/negatively_fuzzed_06.json | 4 + .../Key/value/negatively_fuzzed_07.json | 4 + .../Key/value/negatively_fuzzed_08.json | 4 + .../Key/value/negatively_fuzzed_09.json | 4 + .../Key/value/negatively_fuzzed_10.json | 4 + .../language/empty.json | 4 + .../language/free_form_text.json | 4 + .../language/negatively_fuzzed_01.json | 4 + .../language/negatively_fuzzed_02.json | 4 + .../language/negatively_fuzzed_03.json | 4 + .../language/negatively_fuzzed_04.json | 4 + .../language/negatively_fuzzed_05.json | 4 + .../language/negatively_fuzzed_06.json | 4 + .../language/negatively_fuzzed_07.json | 4 + .../language/negatively_fuzzed_08.json | 4 + .../language/negatively_fuzzed_09.json | 4 + .../language/negatively_fuzzed_10.json | 4 + .../text/negatively_fuzzed_01.json | 4 + .../text/negatively_fuzzed_02.json | 4 + .../text/negatively_fuzzed_03.json | 4 + .../text/negatively_fuzzed_04.json | 4 + .../text/negatively_fuzzed_05.json | 4 + .../text/negatively_fuzzed_06.json | 4 + .../text/negatively_fuzzed_07.json | 4 + .../text/negatively_fuzzed_08.json | 4 + .../text/negatively_fuzzed_09.json | 4 + .../text/negatively_fuzzed_10.json | 4 + .../LangStringNameType/language/empty.json | 4 + .../language/free_form_text.json | 4 + .../language/negatively_fuzzed_01.json | 4 + .../language/negatively_fuzzed_02.json | 4 + .../language/negatively_fuzzed_03.json | 4 + .../language/negatively_fuzzed_04.json | 4 + .../language/negatively_fuzzed_05.json | 4 + .../language/negatively_fuzzed_06.json | 4 + .../language/negatively_fuzzed_07.json | 4 + .../language/negatively_fuzzed_08.json | 4 + .../language/negatively_fuzzed_09.json | 4 + .../language/negatively_fuzzed_10.json | 4 + .../text/negatively_fuzzed_01.json | 4 + .../text/negatively_fuzzed_02.json | 4 + .../text/negatively_fuzzed_03.json | 4 + .../text/negatively_fuzzed_04.json | 4 + .../text/negatively_fuzzed_05.json | 4 + .../text/negatively_fuzzed_06.json | 4 + .../text/negatively_fuzzed_07.json | 4 + .../text/negatively_fuzzed_08.json | 4 + .../text/negatively_fuzzed_09.json | 4 + .../text/negatively_fuzzed_10.json | 4 + .../language/empty.json | 4 + .../language/free_form_text.json | 4 + .../language/negatively_fuzzed_01.json | 4 + .../language/negatively_fuzzed_02.json | 4 + .../language/negatively_fuzzed_03.json | 4 + .../language/negatively_fuzzed_04.json | 4 + .../language/negatively_fuzzed_05.json | 4 + .../language/negatively_fuzzed_06.json | 4 + .../language/negatively_fuzzed_07.json | 4 + .../language/negatively_fuzzed_08.json | 4 + .../language/negatively_fuzzed_09.json | 4 + .../language/negatively_fuzzed_10.json | 4 + .../text/negatively_fuzzed_01.json | 4 + .../text/negatively_fuzzed_02.json | 4 + .../text/negatively_fuzzed_03.json | 4 + .../text/negatively_fuzzed_04.json | 4 + .../text/negatively_fuzzed_05.json | 4 + .../text/negatively_fuzzed_06.json | 4 + .../text/negatively_fuzzed_07.json | 4 + .../text/negatively_fuzzed_08.json | 4 + .../text/negatively_fuzzed_09.json | 4 + .../text/negatively_fuzzed_10.json | 4 + .../language/empty.json | 4 + .../language/free_form_text.json | 4 + .../language/negatively_fuzzed_01.json | 4 + .../language/negatively_fuzzed_02.json | 4 + .../language/negatively_fuzzed_03.json | 4 + .../language/negatively_fuzzed_04.json | 4 + .../language/negatively_fuzzed_05.json | 4 + .../language/negatively_fuzzed_06.json | 4 + .../language/negatively_fuzzed_07.json | 4 + .../language/negatively_fuzzed_08.json | 4 + .../language/negatively_fuzzed_09.json | 4 + .../language/negatively_fuzzed_10.json | 4 + .../text/negatively_fuzzed_01.json | 4 + .../text/negatively_fuzzed_02.json | 4 + .../text/negatively_fuzzed_03.json | 4 + .../text/negatively_fuzzed_04.json | 4 + .../text/negatively_fuzzed_05.json | 4 + .../text/negatively_fuzzed_06.json | 4 + .../text/negatively_fuzzed_07.json | 4 + .../text/negatively_fuzzed_08.json | 4 + .../text/negatively_fuzzed_09.json | 4 + .../text/negatively_fuzzed_10.json | 4 + .../LangStringTextType/language/empty.json | 4 + .../language/free_form_text.json | 4 + .../language/negatively_fuzzed_01.json | 4 + .../language/negatively_fuzzed_02.json | 4 + .../language/negatively_fuzzed_03.json | 4 + .../language/negatively_fuzzed_04.json | 4 + .../language/negatively_fuzzed_05.json | 4 + .../language/negatively_fuzzed_06.json | 4 + .../language/negatively_fuzzed_07.json | 4 + .../language/negatively_fuzzed_08.json | 4 + .../language/negatively_fuzzed_09.json | 4 + .../language/negatively_fuzzed_10.json | 4 + .../text/negatively_fuzzed_01.json | 4 + .../text/negatively_fuzzed_02.json | 4 + .../text/negatively_fuzzed_03.json | 4 + .../text/negatively_fuzzed_04.json | 4 + .../text/negatively_fuzzed_05.json | 4 + .../text/negatively_fuzzed_06.json | 4 + .../text/negatively_fuzzed_07.json | 4 + .../text/negatively_fuzzed_08.json | 4 + .../text/negatively_fuzzed_09.json | 4 + .../text/negatively_fuzzed_10.json | 4 + .../category/negatively_fuzzed_01.json | 4 + .../category/negatively_fuzzed_02.json | 4 + .../category/negatively_fuzzed_03.json | 4 + .../category/negatively_fuzzed_04.json | 4 + .../category/negatively_fuzzed_05.json | 4 + .../category/negatively_fuzzed_06.json | 4 + .../category/negatively_fuzzed_07.json | 4 + .../category/negatively_fuzzed_08.json | 4 + .../category/negatively_fuzzed_09.json | 4 + .../category/negatively_fuzzed_10.json | 4 + .../idShort/negatively_fuzzed_01.json | 4 + .../idShort/negatively_fuzzed_02.json | 4 + .../idShort/negatively_fuzzed_03.json | 4 + .../idShort/negatively_fuzzed_04.json | 4 + .../idShort/negatively_fuzzed_05.json | 4 + .../idShort/negatively_fuzzed_06.json | 4 + .../idShort/negatively_fuzzed_07.json | 4 + .../idShort/negatively_fuzzed_08.json | 4 + .../idShort/negatively_fuzzed_09.json | 4 + .../idShort/negatively_fuzzed_10.json | 4 + .../category/negatively_fuzzed_01.json | 4 + .../category/negatively_fuzzed_02.json | 4 + .../category/negatively_fuzzed_03.json | 4 + .../category/negatively_fuzzed_04.json | 4 + .../category/negatively_fuzzed_05.json | 4 + .../category/negatively_fuzzed_06.json | 4 + .../category/negatively_fuzzed_07.json | 4 + .../category/negatively_fuzzed_08.json | 4 + .../category/negatively_fuzzed_09.json | 4 + .../category/negatively_fuzzed_10.json | 4 + .../idShort/negatively_fuzzed_01.json | 4 + .../idShort/negatively_fuzzed_02.json | 4 + .../idShort/negatively_fuzzed_03.json | 4 + .../idShort/negatively_fuzzed_04.json | 4 + .../idShort/negatively_fuzzed_05.json | 4 + .../idShort/negatively_fuzzed_06.json | 4 + .../idShort/negatively_fuzzed_07.json | 4 + .../idShort/negatively_fuzzed_08.json | 4 + .../idShort/negatively_fuzzed_09.json | 4 + .../idShort/negatively_fuzzed_10.json | 4 + .../category/negatively_fuzzed_01.json | 5 + .../category/negatively_fuzzed_02.json | 5 + .../category/negatively_fuzzed_03.json | 5 + .../category/negatively_fuzzed_04.json | 5 + .../category/negatively_fuzzed_05.json | 5 + .../category/negatively_fuzzed_06.json | 5 + .../category/negatively_fuzzed_07.json | 5 + .../category/negatively_fuzzed_08.json | 5 + .../category/negatively_fuzzed_09.json | 5 + .../category/negatively_fuzzed_10.json | 5 + .../idShort/negatively_fuzzed_01.json | 5 + .../idShort/negatively_fuzzed_02.json | 5 + .../idShort/negatively_fuzzed_03.json | 5 + .../idShort/negatively_fuzzed_04.json | 5 + .../idShort/negatively_fuzzed_05.json | 5 + .../idShort/negatively_fuzzed_06.json | 5 + .../idShort/negatively_fuzzed_07.json | 5 + .../idShort/negatively_fuzzed_08.json | 5 + .../idShort/negatively_fuzzed_09.json | 5 + .../idShort/negatively_fuzzed_10.json | 5 + .../Qualifier/type/negatively_fuzzed_01.json | 4 + .../Qualifier/type/negatively_fuzzed_02.json | 4 + .../Qualifier/type/negatively_fuzzed_03.json | 4 + .../Qualifier/type/negatively_fuzzed_04.json | 4 + .../Qualifier/type/negatively_fuzzed_05.json | 4 + .../Qualifier/type/negatively_fuzzed_06.json | 4 + .../Qualifier/type/negatively_fuzzed_07.json | 4 + .../Qualifier/type/negatively_fuzzed_08.json | 4 + .../Qualifier/type/negatively_fuzzed_09.json | 4 + .../Qualifier/type/negatively_fuzzed_10.json | 4 + .../Range/category/negatively_fuzzed_01.json | 5 + .../Range/category/negatively_fuzzed_02.json | 5 + .../Range/category/negatively_fuzzed_03.json | 5 + .../Range/category/negatively_fuzzed_04.json | 5 + .../Range/category/negatively_fuzzed_05.json | 5 + .../Range/category/negatively_fuzzed_06.json | 5 + .../Range/category/negatively_fuzzed_07.json | 5 + .../Range/category/negatively_fuzzed_08.json | 5 + .../Range/category/negatively_fuzzed_09.json | 5 + .../Range/category/negatively_fuzzed_10.json | 5 + .../Range/idShort/negatively_fuzzed_01.json | 5 + .../Range/idShort/negatively_fuzzed_02.json | 5 + .../Range/idShort/negatively_fuzzed_03.json | 5 + .../Range/idShort/negatively_fuzzed_04.json | 5 + .../Range/idShort/negatively_fuzzed_05.json | 5 + .../Range/idShort/negatively_fuzzed_06.json | 5 + .../Range/idShort/negatively_fuzzed_07.json | 5 + .../Range/idShort/negatively_fuzzed_08.json | 5 + .../Range/idShort/negatively_fuzzed_09.json | 5 + .../Range/idShort/negatively_fuzzed_10.json | 5 + .../category/negatively_fuzzed_01.json | 4 + .../category/negatively_fuzzed_02.json | 4 + .../category/negatively_fuzzed_03.json | 4 + .../category/negatively_fuzzed_04.json | 4 + .../category/negatively_fuzzed_05.json | 4 + .../category/negatively_fuzzed_06.json | 4 + .../category/negatively_fuzzed_07.json | 4 + .../category/negatively_fuzzed_08.json | 4 + .../category/negatively_fuzzed_09.json | 4 + .../category/negatively_fuzzed_10.json | 4 + .../idShort/negatively_fuzzed_01.json | 4 + .../idShort/negatively_fuzzed_02.json | 4 + .../idShort/negatively_fuzzed_03.json | 4 + .../idShort/negatively_fuzzed_04.json | 4 + .../idShort/negatively_fuzzed_05.json | 4 + .../idShort/negatively_fuzzed_06.json | 4 + .../idShort/negatively_fuzzed_07.json | 4 + .../idShort/negatively_fuzzed_08.json | 4 + .../idShort/negatively_fuzzed_09.json | 4 + .../idShort/negatively_fuzzed_10.json | 4 + .../category/negatively_fuzzed_01.json | 4 + .../category/negatively_fuzzed_02.json | 4 + .../category/negatively_fuzzed_03.json | 4 + .../category/negatively_fuzzed_04.json | 4 + .../category/negatively_fuzzed_05.json | 4 + .../category/negatively_fuzzed_06.json | 4 + .../category/negatively_fuzzed_07.json | 4 + .../category/negatively_fuzzed_08.json | 4 + .../category/negatively_fuzzed_09.json | 4 + .../category/negatively_fuzzed_10.json | 4 + .../idShort/negatively_fuzzed_01.json | 4 + .../idShort/negatively_fuzzed_02.json | 4 + .../idShort/negatively_fuzzed_03.json | 4 + .../idShort/negatively_fuzzed_04.json | 4 + .../idShort/negatively_fuzzed_05.json | 4 + .../idShort/negatively_fuzzed_06.json | 4 + .../idShort/negatively_fuzzed_07.json | 4 + .../idShort/negatively_fuzzed_08.json | 4 + .../idShort/negatively_fuzzed_09.json | 4 + .../idShort/negatively_fuzzed_10.json | 4 + .../Resource/contentType/empty.json | 4 + .../contentType/negatively_fuzzed_01.json | 4 + .../contentType/negatively_fuzzed_02.json | 4 + .../contentType/negatively_fuzzed_03.json | 4 + .../contentType/negatively_fuzzed_04.json | 4 + .../contentType/negatively_fuzzed_05.json | 4 + .../contentType/negatively_fuzzed_06.json | 4 + .../contentType/negatively_fuzzed_07.json | 4 + .../contentType/negatively_fuzzed_08.json | 4 + .../contentType/negatively_fuzzed_09.json | 4 + .../contentType/negatively_fuzzed_10.json | 4 + .../Resource/contentType/number.json | 4 + .../Resource/path/negatively_fuzzed_01.json | 3 + .../Resource/path/negatively_fuzzed_02.json | 3 + .../Resource/path/negatively_fuzzed_03.json | 3 + .../Resource/path/negatively_fuzzed_04.json | 3 + .../Resource/path/negatively_fuzzed_05.json | 3 + .../Resource/path/negatively_fuzzed_06.json | 3 + .../Resource/path/negatively_fuzzed_07.json | 3 + .../Resource/path/negatively_fuzzed_08.json | 3 + .../Resource/path/negatively_fuzzed_09.json | 3 + .../Resource/path/negatively_fuzzed_10.json | 3 + .../Resource/path/negatively_made_up_01.json | 3 + .../Resource/path/negatively_made_up_02.json | 3 + .../name/negatively_fuzzed_01.json | 4 + .../name/negatively_fuzzed_02.json | 4 + .../name/negatively_fuzzed_03.json | 4 + .../name/negatively_fuzzed_04.json | 4 + .../name/negatively_fuzzed_05.json | 4 + .../name/negatively_fuzzed_06.json | 4 + .../name/negatively_fuzzed_07.json | 4 + .../name/negatively_fuzzed_08.json | 4 + .../name/negatively_fuzzed_09.json | 4 + .../name/negatively_fuzzed_10.json | 4 + .../value/negatively_fuzzed_01.json | 4 + .../value/negatively_fuzzed_02.json | 4 + .../value/negatively_fuzzed_03.json | 4 + .../value/negatively_fuzzed_04.json | 4 + .../value/negatively_fuzzed_05.json | 4 + .../value/negatively_fuzzed_06.json | 4 + .../value/negatively_fuzzed_07.json | 4 + .../value/negatively_fuzzed_08.json | 4 + .../value/negatively_fuzzed_09.json | 4 + .../value/negatively_fuzzed_10.json | 4 + .../category/negatively_fuzzed_01.json | 5 + .../category/negatively_fuzzed_02.json | 5 + .../category/negatively_fuzzed_03.json | 5 + .../category/negatively_fuzzed_04.json | 5 + .../category/negatively_fuzzed_05.json | 5 + .../category/negatively_fuzzed_06.json | 5 + .../category/negatively_fuzzed_07.json | 5 + .../category/negatively_fuzzed_08.json | 5 + .../category/negatively_fuzzed_09.json | 5 + .../category/negatively_fuzzed_10.json | 5 + .../Submodel/id/negatively_fuzzed_01.json | 4 + .../Submodel/id/negatively_fuzzed_02.json | 4 + .../Submodel/id/negatively_fuzzed_03.json | 4 + .../Submodel/id/negatively_fuzzed_04.json | 4 + .../Submodel/id/negatively_fuzzed_05.json | 4 + .../Submodel/id/negatively_fuzzed_06.json | 4 + .../Submodel/id/negatively_fuzzed_07.json | 4 + .../Submodel/id/negatively_fuzzed_08.json | 4 + .../Submodel/id/negatively_fuzzed_09.json | 4 + .../Submodel/id/negatively_fuzzed_10.json | 4 + .../idShort/negatively_fuzzed_01.json | 5 + .../idShort/negatively_fuzzed_02.json | 5 + .../idShort/negatively_fuzzed_03.json | 5 + .../idShort/negatively_fuzzed_04.json | 5 + .../idShort/negatively_fuzzed_05.json | 5 + .../idShort/negatively_fuzzed_06.json | 5 + .../idShort/negatively_fuzzed_07.json | 5 + .../idShort/negatively_fuzzed_08.json | 5 + .../idShort/negatively_fuzzed_09.json | 5 + .../idShort/negatively_fuzzed_10.json | 5 + .../category/negatively_fuzzed_01.json | 4 + .../category/negatively_fuzzed_02.json | 4 + .../category/negatively_fuzzed_03.json | 4 + .../category/negatively_fuzzed_04.json | 4 + .../category/negatively_fuzzed_05.json | 4 + .../category/negatively_fuzzed_06.json | 4 + .../category/negatively_fuzzed_07.json | 4 + .../category/negatively_fuzzed_08.json | 4 + .../category/negatively_fuzzed_09.json | 4 + .../category/negatively_fuzzed_10.json | 4 + .../idShort/negatively_fuzzed_01.json | 4 + .../idShort/negatively_fuzzed_02.json | 4 + .../idShort/negatively_fuzzed_03.json | 4 + .../idShort/negatively_fuzzed_04.json | 4 + .../idShort/negatively_fuzzed_05.json | 4 + .../idShort/negatively_fuzzed_06.json | 4 + .../idShort/negatively_fuzzed_07.json | 4 + .../idShort/negatively_fuzzed_08.json | 4 + .../idShort/negatively_fuzzed_09.json | 4 + .../idShort/negatively_fuzzed_10.json | 4 + .../category/negatively_fuzzed_01.json | 5 + .../category/negatively_fuzzed_02.json | 5 + .../category/negatively_fuzzed_03.json | 5 + .../category/negatively_fuzzed_04.json | 5 + .../category/negatively_fuzzed_05.json | 5 + .../category/negatively_fuzzed_06.json | 5 + .../category/negatively_fuzzed_07.json | 5 + .../category/negatively_fuzzed_08.json | 5 + .../category/negatively_fuzzed_09.json | 5 + .../category/negatively_fuzzed_10.json | 5 + .../idShort/negatively_fuzzed_01.json | 5 + .../idShort/negatively_fuzzed_02.json | 5 + .../idShort/negatively_fuzzed_03.json | 5 + .../idShort/negatively_fuzzed_04.json | 5 + .../idShort/negatively_fuzzed_05.json | 5 + .../idShort/negatively_fuzzed_06.json | 5 + .../idShort/negatively_fuzzed_07.json | 5 + .../idShort/negatively_fuzzed_08.json | 5 + .../idShort/negatively_fuzzed_09.json | 5 + .../idShort/negatively_fuzzed_10.json | 5 + .../value/negatively_fuzzed_01.json | 3 + .../value/negatively_fuzzed_02.json | 3 + .../value/negatively_fuzzed_03.json | 3 + .../value/negatively_fuzzed_04.json | 3 + .../value/negatively_fuzzed_05.json | 3 + .../value/negatively_fuzzed_06.json | 3 + .../value/negatively_fuzzed_07.json | 3 + .../value/negatively_fuzzed_08.json | 3 + .../value/negatively_fuzzed_09.json | 3 + .../value/negatively_fuzzed_10.json | 3 + .../AnnotatedRelationshipElement/wrong.json | 3 + .../AssetAdministrationShell/wrong.json | 8 + .../BasicEventElement/wrong.json | 18 + .../InvalidModelType/Blob/wrong.json | 3 + .../InvalidModelType/Capability/wrong.json | 3 + .../ConceptDescription/wrong.json | 4 + .../DataSpecificationIec61360/wrong.json | 9 + .../InvalidModelType/Entity/wrong.json | 3 + .../InvalidModelType/File/wrong.json | 3 + .../MultiLanguageProperty/wrong.json | 3 + .../InvalidModelType/Operation/wrong.json | 3 + .../InvalidModelType/Property/wrong.json | 4 + .../InvalidModelType/Range/wrong.json | 4 + .../ReferenceElement/wrong.json | 3 + .../RelationshipElement/wrong.json | 3 + .../InvalidModelType/Submodel/wrong.json | 4 + .../SubmodelElementCollection/wrong.json | 3 + .../SubmodelElementList/wrong.json | 4 + .../AnnotatedRelationshipElement/wrong.json | 1 + .../AssetAdministrationShell/wrong.json | 7 + .../BasicEventElement/wrong.json | 17 + .../MissingModelType/Blob/wrong.json | 1 + .../MissingModelType/Capability/wrong.json | 1 + .../ConceptDescription/wrong.json | 3 + .../DataSpecificationIec61360/wrong.json | 8 + .../MissingModelType/Entity/wrong.json | 1 + .../MissingModelType/File/wrong.json | 1 + .../MultiLanguageProperty/wrong.json | 1 + .../MissingModelType/Operation/wrong.json | 1 + .../MissingModelType/Property/wrong.json | 3 + .../MissingModelType/Range/wrong.json | 3 + .../ReferenceElement/wrong.json | 1 + .../RelationshipElement/wrong.json | 1 + .../MissingModelType/Submodel/wrong.json | 3 + .../SubmodelElementCollection/wrong.json | 1 + .../SubmodelElementList/wrong.json | 3 + .../assetInformation.json | 5 + .../AssetAdministrationShell/id.json | 8 + .../AssetInformation/assetKind.json | 4 + .../BasicEventElement/direction.json | 18 + .../BasicEventElement/observed.json | 6 + .../BasicEventElement/state.json | 18 + .../NullViolation/ConceptDescription/id.json | 4 + .../preferredName.json | 4 + .../dataSpecification.json | 12 + .../dataSpecificationContent.json | 12 + .../EventPayload/observableReference.json | 17 + .../NullViolation/EventPayload/source.json | 13 + .../NullViolation/EventPayload/timeStamp.json | 25 + .../NullViolation/Extension/name.json | 3 + .../NullViolation/Key/type.json | 4 + .../NullViolation/Key/value.json | 4 + .../language.json | 4 + .../text.json | 4 + .../LangStringNameType/language.json | 4 + .../LangStringNameType/text.json | 4 + .../language.json | 4 + .../text.json | 4 + .../language.json | 4 + .../LangStringShortNameTypeIec61360/text.json | 4 + .../LangStringTextType/language.json | 4 + .../LangStringTextType/text.json | 4 + .../NullViolation/LevelType/max.json | 6 + .../NullViolation/LevelType/min.json | 6 + .../NullViolation/LevelType/nom.json | 6 + .../NullViolation/LevelType/typ.json | 6 + .../OperationVariable/value.json | 3 + .../NullViolation/Property/valueType.json | 4 + .../NullViolation/Qualifier/type.json | 4 + .../NullViolation/Qualifier/valueType.json | 4 + .../NullViolation/Range/valueType.json | 4 + .../NullViolation/Reference/keys.json | 4 + .../NullViolation/Reference/type.json | 9 + .../NullViolation/Resource/path.json | 3 + .../NullViolation/SpecificAssetId/name.json | 4 + .../NullViolation/SpecificAssetId/value.json | 4 + .../NullViolation/Submodel/id.json | 4 + .../typeValueListElement.json | 4 + .../ValueList/valueReferencePairs.json | 3 + .../ValueReferencePair/value.json | 3 + .../assetInformation.json | 4 + .../AssetAdministrationShell/id.json | 7 + .../AssetInformation/assetKind.json | 3 + .../BasicEventElement/direction.json | 17 + .../BasicEventElement/observed.json | 5 + .../BasicEventElement/state.json | 17 + .../ConceptDescription/id.json | 3 + .../preferredName.json | 3 + .../dataSpecification.json | 11 + .../dataSpecificationContent.json | 11 + .../EventPayload/observableReference.json | 16 + .../EventPayload/source.json | 12 + .../EventPayload/timeStamp.json | 24 + .../RequiredViolation/Extension/name.json | 1 + .../RequiredViolation/Key/type.json | 3 + .../RequiredViolation/Key/value.json | 3 + .../language.json | 3 + .../text.json | 3 + .../LangStringNameType/language.json | 3 + .../LangStringNameType/text.json | 3 + .../language.json | 3 + .../text.json | 3 + .../language.json | 3 + .../LangStringShortNameTypeIec61360/text.json | 3 + .../LangStringTextType/language.json | 3 + .../LangStringTextType/text.json | 3 + .../RequiredViolation/LevelType/max.json | 5 + .../RequiredViolation/LevelType/min.json | 5 + .../RequiredViolation/LevelType/nom.json | 5 + .../RequiredViolation/LevelType/typ.json | 5 + .../OperationVariable/value.json | 1 + .../RequiredViolation/Property/valueType.json | 3 + .../RequiredViolation/Qualifier/type.json | 3 + .../Qualifier/valueType.json | 3 + .../RequiredViolation/Range/valueType.json | 3 + .../RequiredViolation/Reference/keys.json | 3 + .../RequiredViolation/Reference/type.json | 8 + .../RequiredViolation/Resource/path.json | 1 + .../SpecificAssetId/name.json | 3 + .../SpecificAssetId/value.json | 3 + .../RequiredViolation/Submodel/id.json | 3 + .../typeValueListElement.json | 3 + .../ValueList/valueReferencePairs.json | 1 + .../ValueReferencePair/value.json | 1 + .../AdministrativeInformation/createdAt.json | 78 + .../AdministrativeInformation/creator.json | 62 + .../embeddedDataSpecifications.json | 17 + .../AdministrativeInformation/revision.json | 78 + .../AdministrativeInformation/templateId.json | 78 + .../AdministrativeInformation/updatedAt.json | 78 + .../AdministrativeInformation/version.json | 78 + .../annotations.json | 158 + .../category.json | 175 + .../description.json | 158 + .../displayName.json | 158 + .../embeddedDataSpecifications.json | 114 + .../extensions.json | 160 + .../AnnotatedRelationshipElement/first.json | 159 + .../AnnotatedRelationshipElement/idShort.json | 175 + .../qualifiers.json | 154 + .../AnnotatedRelationshipElement/second.json | 159 + .../semanticId.json | 159 + .../supplementalSemanticIds.json | 139 + .../administration.json | 122 + .../assetInformation.json | 119 + .../AssetAdministrationShell/category.json | 130 + .../AssetAdministrationShell/derivedFrom.json | 114 + .../AssetAdministrationShell/description.json | 113 + .../AssetAdministrationShell/displayName.json | 113 + .../embeddedDataSpecifications.json | 69 + .../AssetAdministrationShell/extensions.json | 115 + .../AssetAdministrationShell/id.json | 130 + .../AssetAdministrationShell/idShort.json | 130 + .../AssetAdministrationShell/submodels.json | 103 + .../AssetInformation/assetKind.json | 30 + .../AssetInformation/assetType.json | 30 + .../AssetInformation/defaultThumbnail.json | 20 + .../AssetInformation/globalAssetId.json | 30 + .../AssetInformation/specificAssetIds.json | 9 + .../BasicEventElement/category.json | 179 + .../BasicEventElement/description.json | 162 + .../BasicEventElement/direction.json | 179 + .../BasicEventElement/displayName.json | 162 + .../embeddedDataSpecifications.json | 118 + .../BasicEventElement/extensions.json | 164 + .../BasicEventElement/idShort.json | 179 + .../BasicEventElement/lastUpdate.json | 179 + .../BasicEventElement/maxInterval.json | 179 + .../BasicEventElement/messageBroker.json | 159 + .../BasicEventElement/messageTopic.json | 179 + .../BasicEventElement/minInterval.json | 179 + .../BasicEventElement/observed.json | 159 + .../BasicEventElement/qualifiers.json | 158 + .../BasicEventElement/semanticId.json | 163 + .../BasicEventElement/state.json | 179 + .../supplementalSemanticIds.json | 143 + .../TypeViolation/Blob/category.json | 149 + .../TypeViolation/Blob/contentType.json | 149 + .../TypeViolation/Blob/description.json | 132 + .../TypeViolation/Blob/displayName.json | 132 + .../Blob/embeddedDataSpecifications.json | 88 + .../TypeViolation/Blob/extensions.json | 134 + .../TypeViolation/Blob/idShort.json | 149 + .../TypeViolation/Blob/qualifiers.json | 128 + .../TypeViolation/Blob/semanticId.json | 133 + .../Blob/supplementalSemanticIds.json | 113 + .../TypeViolation/Blob/value.json | 149 + .../TypeViolation/Capability/category.json | 147 + .../TypeViolation/Capability/description.json | 130 + .../TypeViolation/Capability/displayName.json | 130 + .../embeddedDataSpecifications.json | 86 + .../TypeViolation/Capability/extensions.json | 132 + .../TypeViolation/Capability/idShort.json | 147 + .../TypeViolation/Capability/qualifiers.json | 126 + .../TypeViolation/Capability/semanticId.json | 131 + .../Capability/supplementalSemanticIds.json | 111 + .../ConceptDescription/administration.json | 112 + .../ConceptDescription/category.json | 120 + .../ConceptDescription/description.json | 103 + .../ConceptDescription/displayName.json | 103 + .../embeddedDataSpecifications.json | 47 + .../ConceptDescription/extensions.json | 105 + .../TypeViolation/ConceptDescription/id.json | 120 + .../ConceptDescription/idShort.json | 120 + .../ConceptDescription/isCaseOf.json | 102 + .../DataSpecificationIec61360/dataType.json | 50 + .../DataSpecificationIec61360/definition.json | 37 + .../DataSpecificationIec61360/levelType.json | 37 + .../preferredName.json | 37 + .../DataSpecificationIec61360/shortName.json | 37 + .../sourceOfDefinition.json | 50 + .../DataSpecificationIec61360/symbol.json | 50 + .../DataSpecificationIec61360/unit.json | 50 + .../DataSpecificationIec61360/unitId.json | 34 + .../DataSpecificationIec61360/value.json | 50 + .../valueFormat.json | 50 + .../dataSpecification.json | 16 + .../dataSpecificationContent.json | 12 + .../TypeViolation/Entity/category.json | 169 + .../TypeViolation/Entity/description.json | 152 + .../TypeViolation/Entity/displayName.json | 152 + .../Entity/embeddedDataSpecifications.json | 108 + .../TypeViolation/Entity/entityType.json | 169 + .../TypeViolation/Entity/extensions.json | 154 + .../TypeViolation/Entity/globalAssetId.json | 169 + .../TypeViolation/Entity/idShort.json | 169 + .../TypeViolation/Entity/qualifiers.json | 148 + .../TypeViolation/Entity/semanticId.json | 153 + .../Entity/specificAssetIds.json | 148 + .../TypeViolation/Entity/statements.json | 156 + .../Entity/supplementalSemanticIds.json | 133 + .../assetAdministrationShells.json | 15 + .../Environment/conceptDescriptions.json | 27 + .../TypeViolation/Environment/submodels.json | 27 + .../EventPayload/observableReference.json | 46 + .../EventPayload/observableSemanticId.json | 46 + .../TypeViolation/EventPayload/payload.json | 62 + .../TypeViolation/EventPayload/source.json | 42 + .../EventPayload/sourceSemanticId.json | 46 + .../TypeViolation/EventPayload/subjectId.json | 46 + .../TypeViolation/EventPayload/timeStamp.json | 62 + .../TypeViolation/EventPayload/topic.json | 62 + .../TypeViolation/Extension/name.json | 71 + .../TypeViolation/Extension/refersTo.json | 44 + .../TypeViolation/Extension/semanticId.json | 55 + .../Extension/supplementalSemanticIds.json | 35 + .../TypeViolation/Extension/value.json | 71 + .../TypeViolation/Extension/valueType.json | 71 + .../TypeViolation/File/category.json | 149 + .../TypeViolation/File/contentType.json | 149 + .../TypeViolation/File/description.json | 132 + .../TypeViolation/File/displayName.json | 132 + .../File/embeddedDataSpecifications.json | 88 + .../TypeViolation/File/extensions.json | 134 + .../TypeViolation/File/idShort.json | 149 + .../TypeViolation/File/qualifiers.json | 128 + .../TypeViolation/File/semanticId.json | 133 + .../File/supplementalSemanticIds.json | 113 + .../TypeViolation/File/value.json | 149 + .../TypeViolation/Key/type.json | 12 + .../TypeViolation/Key/value.json | 12 + .../language.json | 12 + .../text.json | 12 + .../LangStringNameType/language.json | 12 + .../LangStringNameType/text.json | 12 + .../language.json | 12 + .../text.json | 12 + .../language.json | 12 + .../LangStringShortNameTypeIec61360/text.json | 12 + .../LangStringTextType/language.json | 12 + .../LangStringTextType/text.json | 12 + .../TypeViolation/LevelType/max.json | 14 + .../TypeViolation/LevelType/min.json | 14 + .../TypeViolation/LevelType/nom.json | 14 + .../TypeViolation/LevelType/typ.json | 14 + .../MultiLanguageProperty/category.json | 166 + .../MultiLanguageProperty/description.json | 149 + .../MultiLanguageProperty/displayName.json | 149 + .../embeddedDataSpecifications.json | 105 + .../MultiLanguageProperty/extensions.json | 151 + .../MultiLanguageProperty/idShort.json | 166 + .../MultiLanguageProperty/qualifiers.json | 145 + .../MultiLanguageProperty/semanticId.json | 150 + .../supplementalSemanticIds.json | 130 + .../MultiLanguageProperty/value.json | 149 + .../MultiLanguageProperty/valueId.json | 150 + .../TypeViolation/Operation/category.json | 190 + .../TypeViolation/Operation/description.json | 173 + .../TypeViolation/Operation/displayName.json | 173 + .../Operation/embeddedDataSpecifications.json | 129 + .../TypeViolation/Operation/extensions.json | 175 + .../TypeViolation/Operation/idShort.json | 190 + .../Operation/inoutputVariables.json | 162 + .../Operation/inputVariables.json | 175 + .../Operation/outputVariables.json | 169 + .../TypeViolation/Operation/qualifiers.json | 169 + .../TypeViolation/Operation/semanticId.json | 174 + .../Operation/supplementalSemanticIds.json | 154 + .../OperationVariable/value.json | 3 + .../TypeViolation/Property/category.json | 158 + .../TypeViolation/Property/description.json | 141 + .../TypeViolation/Property/displayName.json | 141 + .../Property/embeddedDataSpecifications.json | 97 + .../TypeViolation/Property/extensions.json | 143 + .../TypeViolation/Property/idShort.json | 158 + .../TypeViolation/Property/qualifiers.json | 137 + .../TypeViolation/Property/semanticId.json | 142 + .../Property/supplementalSemanticIds.json | 122 + .../TypeViolation/Property/value.json | 158 + .../TypeViolation/Property/valueId.json | 142 + .../TypeViolation/Property/valueType.json | 158 + .../TypeViolation/Qualifier/kind.json | 61 + .../TypeViolation/Qualifier/semanticId.json | 45 + .../Qualifier/supplementalSemanticIds.json | 25 + .../TypeViolation/Qualifier/type.json | 61 + .../TypeViolation/Qualifier/value.json | 61 + .../TypeViolation/Qualifier/valueId.json | 45 + .../TypeViolation/Qualifier/valueType.json | 61 + .../TypeViolation/Range/category.json | 150 + .../TypeViolation/Range/description.json | 133 + .../TypeViolation/Range/displayName.json | 133 + .../Range/embeddedDataSpecifications.json | 89 + .../TypeViolation/Range/extensions.json | 135 + .../TypeViolation/Range/idShort.json | 150 + .../TypeViolation/Range/max.json | 150 + .../TypeViolation/Range/min.json | 150 + .../TypeViolation/Range/qualifiers.json | 129 + .../TypeViolation/Range/semanticId.json | 134 + .../Range/supplementalSemanticIds.json | 114 + .../TypeViolation/Range/valueType.json | 150 + .../TypeViolation/Reference/keys.json | 13 + .../Reference/referredSemanticId.json | 10 + .../TypeViolation/Reference/type.json | 26 + .../ReferenceElement/category.json | 156 + .../ReferenceElement/description.json | 139 + .../ReferenceElement/displayName.json | 139 + .../embeddedDataSpecifications.json | 95 + .../ReferenceElement/extensions.json | 141 + .../ReferenceElement/idShort.json | 156 + .../ReferenceElement/qualifiers.json | 135 + .../ReferenceElement/semanticId.json | 140 + .../supplementalSemanticIds.json | 120 + .../TypeViolation/ReferenceElement/value.json | 140 + .../RelationshipElement/category.json | 165 + .../RelationshipElement/description.json | 148 + .../RelationshipElement/displayName.json | 148 + .../embeddedDataSpecifications.json | 104 + .../RelationshipElement/extensions.json | 150 + .../RelationshipElement/first.json | 149 + .../RelationshipElement/idShort.json | 165 + .../RelationshipElement/qualifiers.json | 144 + .../RelationshipElement/second.json | 149 + .../RelationshipElement/semanticId.json | 149 + .../supplementalSemanticIds.json | 129 + .../TypeViolation/Resource/contentType.json | 12 + .../TypeViolation/Resource/path.json | 12 + .../SpecificAssetId/externalSubjectId.json | 43 + .../TypeViolation/SpecificAssetId/name.json | 59 + .../SpecificAssetId/semanticId.json | 43 + .../supplementalSemanticIds.json | 23 + .../TypeViolation/SpecificAssetId/value.json | 59 + .../Submodel/administration.json | 153 + .../TypeViolation/Submodel/category.json | 161 + .../TypeViolation/Submodel/description.json | 144 + .../TypeViolation/Submodel/displayName.json | 144 + .../Submodel/embeddedDataSpecifications.json | 100 + .../TypeViolation/Submodel/extensions.json | 146 + .../TypeViolation/Submodel/id.json | 161 + .../TypeViolation/Submodel/idShort.json | 161 + .../TypeViolation/Submodel/kind.json | 161 + .../TypeViolation/Submodel/qualifiers.json | 140 + .../TypeViolation/Submodel/semanticId.json | 145 + .../Submodel/submodelElements.json | 143 + .../Submodel/supplementalSemanticIds.json | 125 + .../SubmodelElementCollection/category.json | 172 + .../description.json | 155 + .../displayName.json | 155 + .../embeddedDataSpecifications.json | 111 + .../SubmodelElementCollection/extensions.json | 157 + .../SubmodelElementCollection/idShort.json | 172 + .../SubmodelElementCollection/qualifiers.json | 151 + .../SubmodelElementCollection/semanticId.json | 156 + .../supplementalSemanticIds.json | 136 + .../SubmodelElementCollection/value.json | 140 + .../SubmodelElementList/category.json | 187 + .../SubmodelElementList/description.json | 170 + .../SubmodelElementList/displayName.json | 170 + .../embeddedDataSpecifications.json | 126 + .../SubmodelElementList/extensions.json | 172 + .../SubmodelElementList/idShort.json | 187 + .../SubmodelElementList/orderRelevant.json | 187 + .../SubmodelElementList/qualifiers.json | 166 + .../SubmodelElementList/semanticId.json | 171 + .../semanticIdListElement.json | 171 + .../supplementalSemanticIds.json | 151 + .../typeValueListElement.json | 187 + .../SubmodelElementList/value.json | 152 + .../valueTypeListElement.json | 187 + .../ValueList/valueReferencePairs.json | 3 + .../ValueReferencePair/value.json | 20 + .../ValueReferencePair/valueId.json | 4 + .../AdministrativeInformation/instance.json | 3 + .../instance.json | 4 + .../AssetAdministrationShell/instance.json | 9 + .../AssetInformation/instance.json | 5 + .../BasicEventElement/instance.json | 19 + .../Blob/instance.json | 4 + .../Capability/instance.json | 4 + .../ConceptDescription/instance.json | 5 + .../DataSpecificationIec61360/instance.json | 10 + .../EmbeddedDataSpecification/instance.json | 21 + .../Entity/instance.json | 4 + .../Environment/instance.json | 3 + .../EventPayload/instance.json | 26 + .../Extension/instance.json | 4 + .../File/instance.json | 4 + .../Key/instance.json | 5 + .../instance.json | 5 + .../LangStringNameType/instance.json | 5 + .../instance.json | 5 + .../instance.json | 5 + .../LangStringTextType/instance.json | 5 + .../LevelType/instance.json | 7 + .../MultiLanguageProperty/instance.json | 4 + .../Operation/instance.json | 4 + .../OperationVariable/instance.json | 8 + .../Property/instance.json | 5 + .../Qualifier/instance.json | 5 + .../Range/instance.json | 5 + .../Reference/instance.json | 10 + .../ReferenceElement/instance.json | 4 + .../RelationshipElement/instance.json | 4 + .../Resource/instance.json | 4 + .../SpecificAssetId/instance.json | 5 + .../Submodel/instance.json | 5 + .../SubmodelElementCollection/instance.json | 4 + .../SubmodelElementList/instance.json | 5 + .../ValueList/instance.json | 8 + .../ValueReferencePair/instance.json | 4 + ..._not_in_globally_identifiables.json.errors | 4 + ...nce_violation_invalid_last_key.json.errors | 2 + ...t_key_not_in_aas_identifiables.json.errors | 1 + ..._not_in_globally_identifiables.json.errors | 2 + ...agment_reference_in_the_middle.json.errors | 1 + ...ference_not_after_file_or_blob.json.errors | 1 + ...n_invalid_key_value_after_list.json.errors | 1 + ...econd_key_not_in_fragment_keys.json.errors | 1 + ...on_of_semantic_id_list_element.json.errors | 2 + ...ion_of_type_value_list_element.json.errors | 1 + ...ion_of_value_type_list_element.json.errors | 1 + ...c_id_mismatch_between_elements.json.errors | 1 + .../createdAt.json.errors | 1 + .../updatedAt.json.errors | 1 + .../BasicEventElement/lastUpdate.json.errors | 1 + .../EventPayload/timeStamp.json.errors | 1 + .../Any_URI_negatively_fuzzed_01.json.errors | 2 + .../Any_URI_negatively_fuzzed_02.json.errors | 4 + .../Any_URI_negatively_fuzzed_03.json.errors | 4 + .../Any_URI_negatively_fuzzed_04.json.errors | 2 + .../Any_URI_negatively_fuzzed_05.json.errors | 2 + .../Any_URI_negatively_fuzzed_06.json.errors | 2 + .../Any_URI_negatively_fuzzed_07.json.errors | 4 + .../Any_URI_negatively_fuzzed_08.json.errors | 4 + .../Any_URI_negatively_fuzzed_09.json.errors | 4 + .../Any_URI_negatively_fuzzed_10.json.errors | 2 + ..._by_non_two_hexadecimal_digits.json.errors | 2 + .../Any_URI_too_many_fragments.json.errors | 2 + ...ber_of_characters_is_not_valid.json.errors | 2 + ...gns_may_only_appear_at_the_end.json.errors | 2 + ...64_binary_negatively_fuzzed_01.json.errors | 4 + ...64_binary_negatively_fuzzed_02.json.errors | 4 + ...64_binary_negatively_fuzzed_03.json.errors | 2 + ...64_binary_negatively_fuzzed_04.json.errors | 2 + ...64_binary_negatively_fuzzed_05.json.errors | 2 + ...64_binary_negatively_fuzzed_06.json.errors | 2 + ...64_binary_negatively_fuzzed_07.json.errors | 4 + ...64_binary_negatively_fuzzed_08.json.errors | 2 + ...64_binary_negatively_fuzzed_09.json.errors | 4 + ...64_binary_negatively_fuzzed_10.json.errors | 2 + ...e_as_number_with_leading_zeros.json.errors | 2 + .../Boolean_false_in_camelcase.json.errors | 2 + .../Boolean_false_in_uppercase.json.errors | 2 + .../Boolean_negatively_fuzzed_01.json.errors | 2 + .../Boolean_negatively_fuzzed_02.json.errors | 4 + .../Boolean_negatively_fuzzed_03.json.errors | 2 + .../Boolean_negatively_fuzzed_04.json.errors | 4 + .../Boolean_negatively_fuzzed_05.json.errors | 2 + .../Boolean_negatively_fuzzed_06.json.errors | 4 + .../Boolean_negatively_fuzzed_07.json.errors | 4 + .../Boolean_negatively_fuzzed_08.json.errors | 4 + .../Boolean_negatively_fuzzed_09.json.errors | 4 + .../Boolean_negatively_fuzzed_10.json.errors | 2 + ...e_as_number_with_leading_zeros.json.errors | 2 + .../Boolean_true_in_camelcase.json.errors | 2 + .../Boolean_true_in_uppercase.json.errors | 2 + .../Range/Byte_decimal.json.errors | 2 + .../Range/Byte_empty.json.errors | 2 + .../Range/Byte_free_form_text.json.errors | 2 + .../Byte_mathematical_formula.json.errors | 2 + .../Range/Byte_max_plus_one.json.errors | 2 + .../Range/Byte_min_minus_one.json.errors | 2 + .../Range/Byte_scientific.json.errors | 2 + .../Range/Date_date_time_with_UTC.json.errors | 2 + .../Date_date_time_with_offset.json.errors | 2 + .../Date_date_time_without_zone.json.errors | 2 + ...e_with_invalid_negative_offset.json.errors | 2 + ...e_with_invalid_positive_offset.json.errors | 2 + ...te_date_with_seconds_in_offset.json.errors | 2 + .../Range/Date_empty.json.errors | 2 + ...ate_non_existing_february_29th.json.errors | 2 + .../Range/Date_time_date.json.errors | 2 + ...e_with_invalid_negative_offset.json.errors | 2 + ...e_with_invalid_positive_offset.json.errors | 2 + ...te_time_with_seconds_in_offset.json.errors | 2 + ...te_time_with_unexpected_prefix.json.errors | 2 + ...te_time_with_unexpected_suffix.json.errors | 2 + .../Date_time_date_with_time_zone.json.errors | 2 + .../Range/Date_time_empty.json.errors | 2 + ...ime_non_existing_february_29th.json.errors | 2 + .../Date_time_without_minutes.json.errors | 2 + .../Date_time_without_seconds.json.errors | 2 + ..._time_year_4_bce_february_29th.json.errors | 2 + ...te_time_year_zero_doesnt_exist.json.errors | 2 + .../Date_year_4_bce_february_29th.json.errors | 2 + .../Date_year_zero_doesnt_exist.json.errors | 2 + .../Range/Decimal_empty.json.errors | 2 + .../Range/Decimal_free_form_text.json.errors | 2 + .../Range/Double_empty.json.errors | 2 + .../Range/Double_free_form_text.json.errors | 2 + .../Range/Double_inf_case_matters.json.errors | 2 + .../Range/Double_nan_case_matters.json.errors | 2 + ...raction_in_scientific_notation.json.errors | 2 + .../Range/Double_plus_inf.json.errors | 2 + .../Range/Double_too_large.json.errors | 2 + .../Range/Duration_empty.json.errors | 2 + .../Range/Duration_free_form_text.json.errors | 2 + .../Range/Duration_integer.json.errors | 2 + .../Duration_leading_P_missing.json.errors | 2 + .../Range/Duration_negative_years.json.errors | 2 + ..._positive_year_negative_months.json.errors | 2 + .../Duration_separator_T_missing.json.errors | 2 + .../Duration_the_order_matters.json.errors | 2 + .../Range/Float_empty.json.errors | 2 + .../Range/Float_free_form_text.json.errors | 2 + .../Range/Float_inf_case_matters.json.errors | 2 + .../Range/Float_nan_case_matters.json.errors | 2 + ...raction_in_scientific_notation.json.errors | 2 + .../Range/Float_plus_inf.json.errors | 2 + .../Range/Float_too_large.json.errors | 2 + .../G_day_day_outside_of_range.json.errors | 2 + .../Range/G_day_empty.json.errors | 2 + .../Range/G_day_free_form_text.json.errors | 2 + .../G_day_invalid_negative_offset.json.errors | 2 + ...ay_invalid_offset_with_seconds.json.errors | 2 + .../G_day_invalid_positive_offset.json.errors | 2 + .../G_day_missing_leading_dashes.json.errors | 2 + .../G_day_missing_leading_digit.json.errors | 2 + .../Range/G_day_unexpected_suffix.json.errors | 2 + ...month_day_day_outside_of_range.json.errors | 2 + .../Range/G_month_day_empty.json.errors | 2 + .../G_month_day_free_form_text.json.errors | 2 + ...th_day_invalid_negative_offset.json.errors | 2 + ...ay_invalid_offset_with_seconds.json.errors | 2 + ...th_day_invalid_positive_offset.json.errors | 2 + ...nth_day_missing_leading_dashes.json.errors | 2 + ...onth_day_missing_leading_digit.json.errors | 2 + ...th_day_non_existing_april_31st.json.errors | 2 + ...y_unexpected_prefix_and_suffix.json.errors | 2 + .../Range/G_month_empty.json.errors | 2 + .../Range/G_month_free_form_text.json.errors | 2 + ..._month_invalid_negative_offset.json.errors | 2 + ...th_invalid_offset_with_seconds.json.errors | 2 + ..._month_invalid_positive_offset.json.errors | 2 + ...G_month_missing_leading_dashes.json.errors | 2 + .../G_month_missing_leading_digit.json.errors | 2 + ...G_month_month_outside_of_range.json.errors | 2 + ...h_unexpected_prefix_and_suffix.json.errors | 2 + .../Range/G_year_empty.json.errors | 2 + .../Range/G_year_free_form_text.json.errors | 2 + ...G_year_invalid_negative_offset.json.errors | 2 + ...ar_invalid_offset_with_seconds.json.errors | 2 + ...G_year_invalid_positive_offset.json.errors | 2 + .../Range/G_year_missing_century.json.errors | 2 + .../Range/G_year_month_empty.json.errors | 2 + .../G_year_month_free_form_text.json.errors | 2 + ..._month_invalid_negative_offset.json.errors | 2 + ...th_invalid_offset_with_seconds.json.errors | 2 + ..._month_invalid_positive_offset.json.errors | 2 + .../G_year_month_missing_century.json.errors | 2 + .../G_year_month_missing_month.json.errors | 2 + ..._year_month_month_out_of_range.json.errors | 2 + .../Range/G_year_unexpected_month.json.errors | 2 + .../Hex_binary_free_form_text.json.errors | 2 + ...ex_binary_odd_number_of_digits.json.errors | 2 + .../Range/Hex_binary_single_digit.json.errors | 2 + .../Range/Int_decimal.json.errors | 2 + .../Range/Int_empty.json.errors | 2 + .../Range/Int_free_form_text.json.errors | 2 + .../Int_mathematical_formula.json.errors | 2 + .../Range/Int_max_plus_one.json.errors | 2 + .../Range/Int_min_minus_one.json.errors | 2 + .../Range/Int_scientific.json.errors | 2 + .../Range/Integer_decimal.json.errors | 2 + .../Range/Integer_empty.json.errors | 2 + .../Range/Integer_free_form_text.json.errors | 2 + .../Integer_mathematical_formula.json.errors | 2 + .../Range/Integer_scientific.json.errors | 2 + .../Range/Long_decimal.json.errors | 2 + .../Range/Long_empty.json.errors | 2 + .../Range/Long_free_form_text.json.errors | 2 + .../Long_mathematical_formula.json.errors | 2 + .../Range/Long_max_plus_one.json.errors | 2 + .../Range/Long_min_minus_one.json.errors | 2 + .../Range/Long_scientific.json.errors | 2 + .../Negative_integer_decimal.json.errors | 2 + .../Range/Negative_integer_empty.json.errors | 2 + ...ve_integer_explicitly_positive.json.errors | 2 + ...teger_explicitly_positive_zero.json.errors | 2 + ...egative_integer_free_form_text.json.errors | 2 + ...ve_integer_implicitly_positive.json.errors | 2 + ...e_integer_mathematical_formula.json.errors | 2 + .../Negative_integer_scientific.json.errors | 2 + .../Range/Negative_integer_zero.json.errors | 2 + ...teger_zero_prefixed_with_zeros.json.errors | 2 + .../Non_negative_integer_decimal.json.errors | 2 + .../Non_negative_integer_empty.json.errors | 2 + ...egative_integer_free_form_text.json.errors | 2 + .../Non_negative_integer_negative.json.errors | 2 + .../Non_positive_integer_decimal.json.errors | 2 + .../Non_positive_integer_empty.json.errors | 2 + ...ve_integer_explicitly_positive.json.errors | 2 + ...ositive_integer_free_form_text.json.errors | 2 + ...ve_integer_implicitly_positive.json.errors | 2 + ...e_integer_mathematical_formula.json.errors | 2 + ...on_positive_integer_scientific.json.errors | 2 + .../Positive_integer_decimal.json.errors | 2 + .../Range/Positive_integer_empty.json.errors | 2 + ...ositive_integer_free_form_text.json.errors | 2 + .../Positive_integer_negative.json.errors | 2 + .../Range/Positive_integer_zero.json.errors | 2 + ...teger_zero_prefixed_with_zeros.json.errors | 2 + .../Range/Short_decimal.json.errors | 2 + .../Range/Short_empty.json.errors | 2 + .../Range/Short_free_form_text.json.errors | 2 + .../Short_mathematical_formula.json.errors | 2 + .../Range/Short_max_plus_one.json.errors | 2 + .../Range/Short_min_minus_one.json.errors | 2 + .../Range/Short_scientific.json.errors | 2 + .../Range/String_NUL_as_utf16.json.errors | 4 + .../Range/String_NUL_as_utf32.json.errors | 4 + .../Range/String_NUL_as_x.json.errors | 4 + .../String_negatively_fuzzed_01.json.errors | 4 + .../String_negatively_fuzzed_02.json.errors | 4 + .../String_negatively_fuzzed_03.json.errors | 4 + .../String_negatively_fuzzed_04.json.errors | 4 + .../String_negatively_fuzzed_05.json.errors | 4 + .../String_negatively_fuzzed_06.json.errors | 4 + .../String_negatively_fuzzed_07.json.errors | 4 + .../String_negatively_fuzzed_08.json.errors | 4 + .../String_negatively_fuzzed_09.json.errors | 4 + .../String_negatively_fuzzed_10.json.errors | 4 + .../Range/Time_empty.json.errors | 2 + .../Range/Time_free_form_text.json.errors | 2 + .../Range/Time_hour_out_of_range.json.errors | 2 + .../Time_invalid_negative_offset.json.errors | 2 + ...me_invalid_offset_with_seconds.json.errors | 2 + .../Time_invalid_positive_offset.json.errors | 2 + .../Time_minute_out_of_range.json.errors | 2 + .../Time_missing_padded_zeros.json.errors | 2 + .../Range/Time_missing_seconds.json.errors | 2 + .../Range/Time_negative.json.errors | 2 + .../Time_second_out_of_range.json.errors | 2 + .../Range/Unsigned_byte_decimal.json.errors | 2 + .../Range/Unsigned_byte_empty.json.errors | 2 + .../Unsigned_byte_free_form_text.json.errors | 2 + ...gned_byte_mathematical_formula.json.errors | 2 + .../Unsigned_byte_max_plus_one.json.errors | 2 + .../Range/Unsigned_byte_negative.json.errors | 2 + .../Unsigned_byte_scientific.json.errors | 2 + .../Range/Unsigned_int_decimal.json.errors | 2 + .../Range/Unsigned_int_empty.json.errors | 2 + .../Unsigned_int_free_form_text.json.errors | 2 + ...igned_int_mathematical_formula.json.errors | 2 + .../Unsigned_int_max_plus_one.json.errors | 2 + .../Range/Unsigned_int_negative.json.errors | 2 + .../Range/Unsigned_int_scientific.json.errors | 2 + .../Range/Unsigned_long_decimal.json.errors | 2 + .../Range/Unsigned_long_empty.json.errors | 2 + .../Unsigned_long_free_form_text.json.errors | 2 + ...gned_long_mathematical_formula.json.errors | 2 + .../Unsigned_long_max_plus_one.json.errors | 2 + .../Range/Unsigned_long_negative.json.errors | 2 + .../Unsigned_long_scientific.json.errors | 2 + .../Range/Unsigned_short_decimal.json.errors | 2 + .../Range/Unsigned_short_empty.json.errors | 2 + .../Unsigned_short_free_form_text.json.errors | 2 + ...ned_short_mathematical_formula.json.errors | 2 + .../Unsigned_short_max_plus_one.json.errors | 2 + .../Range/Unsigned_short_negative.json.errors | 2 + .../Unsigned_short_scientific.json.errors | 2 + .../Any_URI_negatively_fuzzed_01.json.errors | 1 + .../Any_URI_negatively_fuzzed_02.json.errors | 2 + .../Any_URI_negatively_fuzzed_03.json.errors | 2 + .../Any_URI_negatively_fuzzed_04.json.errors | 1 + .../Any_URI_negatively_fuzzed_05.json.errors | 1 + .../Any_URI_negatively_fuzzed_06.json.errors | 1 + .../Any_URI_negatively_fuzzed_07.json.errors | 2 + .../Any_URI_negatively_fuzzed_08.json.errors | 2 + .../Any_URI_negatively_fuzzed_09.json.errors | 2 + .../Any_URI_negatively_fuzzed_10.json.errors | 1 + ..._by_non_two_hexadecimal_digits.json.errors | 1 + .../Any_URI_too_many_fragments.json.errors | 1 + ...ber_of_characters_is_not_valid.json.errors | 1 + ...gns_may_only_appear_at_the_end.json.errors | 1 + ...64_binary_negatively_fuzzed_01.json.errors | 2 + ...64_binary_negatively_fuzzed_02.json.errors | 2 + ...64_binary_negatively_fuzzed_03.json.errors | 1 + ...64_binary_negatively_fuzzed_04.json.errors | 1 + ...64_binary_negatively_fuzzed_05.json.errors | 1 + ...64_binary_negatively_fuzzed_06.json.errors | 1 + ...64_binary_negatively_fuzzed_07.json.errors | 2 + ...64_binary_negatively_fuzzed_08.json.errors | 1 + ...64_binary_negatively_fuzzed_09.json.errors | 2 + ...64_binary_negatively_fuzzed_10.json.errors | 1 + ...e_as_number_with_leading_zeros.json.errors | 1 + .../Boolean_false_in_camelcase.json.errors | 1 + .../Boolean_false_in_uppercase.json.errors | 1 + .../Boolean_negatively_fuzzed_01.json.errors | 1 + .../Boolean_negatively_fuzzed_02.json.errors | 2 + .../Boolean_negatively_fuzzed_03.json.errors | 1 + .../Boolean_negatively_fuzzed_04.json.errors | 2 + .../Boolean_negatively_fuzzed_05.json.errors | 1 + .../Boolean_negatively_fuzzed_06.json.errors | 2 + .../Boolean_negatively_fuzzed_07.json.errors | 2 + .../Boolean_negatively_fuzzed_08.json.errors | 2 + .../Boolean_negatively_fuzzed_09.json.errors | 2 + .../Boolean_negatively_fuzzed_10.json.errors | 1 + ...e_as_number_with_leading_zeros.json.errors | 1 + .../Boolean_true_in_camelcase.json.errors | 1 + .../Boolean_true_in_uppercase.json.errors | 1 + .../Extension/value/Byte_decimal.json.errors | 1 + .../Extension/value/Byte_empty.json.errors | 1 + .../value/Byte_free_form_text.json.errors | 1 + .../Byte_mathematical_formula.json.errors | 1 + .../value/Byte_max_plus_one.json.errors | 1 + .../value/Byte_min_minus_one.json.errors | 1 + .../value/Byte_scientific.json.errors | 1 + .../value/Date_date_time_with_UTC.json.errors | 1 + .../Date_date_time_with_offset.json.errors | 1 + .../Date_date_time_without_zone.json.errors | 1 + ...e_with_invalid_negative_offset.json.errors | 1 + ...e_with_invalid_positive_offset.json.errors | 1 + ...te_date_with_seconds_in_offset.json.errors | 1 + .../Extension/value/Date_empty.json.errors | 1 + ...ate_non_existing_february_29th.json.errors | 1 + .../value/Date_time_date.json.errors | 1 + ...e_with_invalid_negative_offset.json.errors | 1 + ...e_with_invalid_positive_offset.json.errors | 1 + ...te_time_with_seconds_in_offset.json.errors | 1 + ...te_time_with_unexpected_prefix.json.errors | 1 + ...te_time_with_unexpected_suffix.json.errors | 1 + .../Date_time_date_with_time_zone.json.errors | 1 + .../value/Date_time_empty.json.errors | 1 + ...ime_non_existing_february_29th.json.errors | 1 + .../Date_time_without_minutes.json.errors | 1 + .../Date_time_without_seconds.json.errors | 1 + ..._time_year_4_bce_february_29th.json.errors | 1 + ...te_time_year_zero_doesnt_exist.json.errors | 1 + .../Date_year_4_bce_february_29th.json.errors | 1 + .../Date_year_zero_doesnt_exist.json.errors | 1 + .../Extension/value/Decimal_empty.json.errors | 1 + .../value/Decimal_free_form_text.json.errors | 1 + .../Extension/value/Double_empty.json.errors | 1 + .../value/Double_free_form_text.json.errors | 1 + .../value/Double_inf_case_matters.json.errors | 1 + .../value/Double_nan_case_matters.json.errors | 1 + ...raction_in_scientific_notation.json.errors | 1 + .../value/Double_plus_inf.json.errors | 1 + .../value/Double_too_large.json.errors | 1 + .../value/Duration_empty.json.errors | 1 + .../value/Duration_free_form_text.json.errors | 1 + .../value/Duration_integer.json.errors | 1 + .../Duration_leading_P_missing.json.errors | 1 + .../value/Duration_negative_years.json.errors | 1 + ..._positive_year_negative_months.json.errors | 1 + .../Duration_separator_T_missing.json.errors | 1 + .../Duration_the_order_matters.json.errors | 1 + .../Extension/value/Float_empty.json.errors | 1 + .../value/Float_free_form_text.json.errors | 1 + .../value/Float_inf_case_matters.json.errors | 1 + .../value/Float_nan_case_matters.json.errors | 1 + ...raction_in_scientific_notation.json.errors | 1 + .../value/Float_plus_inf.json.errors | 1 + .../value/Float_too_large.json.errors | 1 + .../G_day_day_outside_of_range.json.errors | 1 + .../Extension/value/G_day_empty.json.errors | 1 + .../value/G_day_free_form_text.json.errors | 1 + .../G_day_invalid_negative_offset.json.errors | 1 + ...ay_invalid_offset_with_seconds.json.errors | 1 + .../G_day_invalid_positive_offset.json.errors | 1 + .../G_day_missing_leading_dashes.json.errors | 1 + .../G_day_missing_leading_digit.json.errors | 1 + .../value/G_day_unexpected_suffix.json.errors | 1 + ...month_day_day_outside_of_range.json.errors | 1 + .../value/G_month_day_empty.json.errors | 1 + .../G_month_day_free_form_text.json.errors | 1 + ...th_day_invalid_negative_offset.json.errors | 1 + ...ay_invalid_offset_with_seconds.json.errors | 1 + ...th_day_invalid_positive_offset.json.errors | 1 + ...nth_day_missing_leading_dashes.json.errors | 1 + ...onth_day_missing_leading_digit.json.errors | 1 + ...th_day_non_existing_april_31st.json.errors | 1 + ...y_unexpected_prefix_and_suffix.json.errors | 1 + .../Extension/value/G_month_empty.json.errors | 1 + .../value/G_month_free_form_text.json.errors | 1 + ..._month_invalid_negative_offset.json.errors | 1 + ...th_invalid_offset_with_seconds.json.errors | 1 + ..._month_invalid_positive_offset.json.errors | 1 + ...G_month_missing_leading_dashes.json.errors | 1 + .../G_month_missing_leading_digit.json.errors | 1 + ...G_month_month_outside_of_range.json.errors | 1 + ...h_unexpected_prefix_and_suffix.json.errors | 1 + .../Extension/value/G_year_empty.json.errors | 1 + .../value/G_year_free_form_text.json.errors | 1 + ...G_year_invalid_negative_offset.json.errors | 1 + ...ar_invalid_offset_with_seconds.json.errors | 1 + ...G_year_invalid_positive_offset.json.errors | 1 + .../value/G_year_missing_century.json.errors | 1 + .../value/G_year_month_empty.json.errors | 1 + .../G_year_month_free_form_text.json.errors | 1 + ..._month_invalid_negative_offset.json.errors | 1 + ...th_invalid_offset_with_seconds.json.errors | 1 + ..._month_invalid_positive_offset.json.errors | 1 + .../G_year_month_missing_century.json.errors | 1 + .../G_year_month_missing_month.json.errors | 1 + ..._year_month_month_out_of_range.json.errors | 1 + .../value/G_year_unexpected_month.json.errors | 1 + .../Hex_binary_free_form_text.json.errors | 1 + ...ex_binary_odd_number_of_digits.json.errors | 1 + .../value/Hex_binary_single_digit.json.errors | 1 + .../Extension/value/Int_decimal.json.errors | 1 + .../Extension/value/Int_empty.json.errors | 1 + .../value/Int_free_form_text.json.errors | 1 + .../Int_mathematical_formula.json.errors | 1 + .../value/Int_max_plus_one.json.errors | 1 + .../value/Int_min_minus_one.json.errors | 1 + .../value/Int_scientific.json.errors | 1 + .../value/Integer_decimal.json.errors | 1 + .../Extension/value/Integer_empty.json.errors | 1 + .../value/Integer_free_form_text.json.errors | 1 + .../Integer_mathematical_formula.json.errors | 1 + .../value/Integer_scientific.json.errors | 1 + .../Extension/value/Long_decimal.json.errors | 1 + .../Extension/value/Long_empty.json.errors | 1 + .../value/Long_free_form_text.json.errors | 1 + .../Long_mathematical_formula.json.errors | 1 + .../value/Long_max_plus_one.json.errors | 1 + .../value/Long_min_minus_one.json.errors | 1 + .../value/Long_scientific.json.errors | 1 + .../Negative_integer_decimal.json.errors | 1 + .../value/Negative_integer_empty.json.errors | 1 + ...ve_integer_explicitly_positive.json.errors | 1 + ...teger_explicitly_positive_zero.json.errors | 1 + ...egative_integer_free_form_text.json.errors | 1 + ...ve_integer_implicitly_positive.json.errors | 1 + ...e_integer_mathematical_formula.json.errors | 1 + .../Negative_integer_scientific.json.errors | 1 + .../value/Negative_integer_zero.json.errors | 1 + ...teger_zero_prefixed_with_zeros.json.errors | 1 + .../Non_negative_integer_decimal.json.errors | 1 + .../Non_negative_integer_empty.json.errors | 1 + ...egative_integer_free_form_text.json.errors | 1 + .../Non_negative_integer_negative.json.errors | 1 + .../Non_positive_integer_decimal.json.errors | 1 + .../Non_positive_integer_empty.json.errors | 1 + ...ve_integer_explicitly_positive.json.errors | 1 + ...ositive_integer_free_form_text.json.errors | 1 + ...ve_integer_implicitly_positive.json.errors | 1 + ...e_integer_mathematical_formula.json.errors | 1 + ...on_positive_integer_scientific.json.errors | 1 + .../Positive_integer_decimal.json.errors | 1 + .../value/Positive_integer_empty.json.errors | 1 + ...ositive_integer_free_form_text.json.errors | 1 + .../Positive_integer_negative.json.errors | 1 + .../value/Positive_integer_zero.json.errors | 1 + ...teger_zero_prefixed_with_zeros.json.errors | 1 + .../Extension/value/Short_decimal.json.errors | 1 + .../Extension/value/Short_empty.json.errors | 1 + .../value/Short_free_form_text.json.errors | 1 + .../Short_mathematical_formula.json.errors | 1 + .../value/Short_max_plus_one.json.errors | 1 + .../value/Short_min_minus_one.json.errors | 1 + .../value/Short_scientific.json.errors | 1 + .../value/String_NUL_as_utf16.json.errors | 2 + .../value/String_NUL_as_utf32.json.errors | 2 + .../value/String_NUL_as_x.json.errors | 2 + .../String_negatively_fuzzed_01.json.errors | 2 + .../String_negatively_fuzzed_02.json.errors | 2 + .../String_negatively_fuzzed_03.json.errors | 2 + .../String_negatively_fuzzed_04.json.errors | 2 + .../String_negatively_fuzzed_05.json.errors | 2 + .../String_negatively_fuzzed_06.json.errors | 2 + .../String_negatively_fuzzed_07.json.errors | 2 + .../String_negatively_fuzzed_08.json.errors | 2 + .../String_negatively_fuzzed_09.json.errors | 2 + .../String_negatively_fuzzed_10.json.errors | 2 + .../Extension/value/Time_empty.json.errors | 1 + .../value/Time_free_form_text.json.errors | 1 + .../value/Time_hour_out_of_range.json.errors | 1 + .../Time_invalid_negative_offset.json.errors | 1 + ...me_invalid_offset_with_seconds.json.errors | 1 + .../Time_invalid_positive_offset.json.errors | 1 + .../Time_minute_out_of_range.json.errors | 1 + .../Time_missing_padded_zeros.json.errors | 1 + .../value/Time_missing_seconds.json.errors | 1 + .../Extension/value/Time_negative.json.errors | 1 + .../Time_second_out_of_range.json.errors | 1 + .../value/Unsigned_byte_decimal.json.errors | 1 + .../value/Unsigned_byte_empty.json.errors | 1 + .../Unsigned_byte_free_form_text.json.errors | 1 + ...gned_byte_mathematical_formula.json.errors | 1 + .../Unsigned_byte_max_plus_one.json.errors | 1 + .../value/Unsigned_byte_negative.json.errors | 1 + .../Unsigned_byte_scientific.json.errors | 1 + .../value/Unsigned_int_decimal.json.errors | 1 + .../value/Unsigned_int_empty.json.errors | 1 + .../Unsigned_int_free_form_text.json.errors | 1 + ...igned_int_mathematical_formula.json.errors | 1 + .../Unsigned_int_max_plus_one.json.errors | 1 + .../value/Unsigned_int_negative.json.errors | 1 + .../value/Unsigned_int_scientific.json.errors | 1 + .../value/Unsigned_long_decimal.json.errors | 1 + .../value/Unsigned_long_empty.json.errors | 1 + .../Unsigned_long_free_form_text.json.errors | 1 + ...gned_long_mathematical_formula.json.errors | 1 + .../Unsigned_long_max_plus_one.json.errors | 1 + .../value/Unsigned_long_negative.json.errors | 1 + .../Unsigned_long_scientific.json.errors | 1 + .../value/Unsigned_short_decimal.json.errors | 1 + .../value/Unsigned_short_empty.json.errors | 1 + .../Unsigned_short_free_form_text.json.errors | 1 + ...ned_short_mathematical_formula.json.errors | 1 + .../Unsigned_short_max_plus_one.json.errors | 1 + .../value/Unsigned_short_negative.json.errors | 1 + .../Unsigned_short_scientific.json.errors | 1 + .../Any_URI_negatively_fuzzed_01.json.errors | 1 + .../Any_URI_negatively_fuzzed_02.json.errors | 2 + .../Any_URI_negatively_fuzzed_03.json.errors | 2 + .../Any_URI_negatively_fuzzed_04.json.errors | 1 + .../Any_URI_negatively_fuzzed_05.json.errors | 1 + .../Any_URI_negatively_fuzzed_06.json.errors | 1 + .../Any_URI_negatively_fuzzed_07.json.errors | 2 + .../Any_URI_negatively_fuzzed_08.json.errors | 2 + .../Any_URI_negatively_fuzzed_09.json.errors | 2 + .../Any_URI_negatively_fuzzed_10.json.errors | 1 + ..._by_non_two_hexadecimal_digits.json.errors | 1 + .../Any_URI_too_many_fragments.json.errors | 1 + ...ber_of_characters_is_not_valid.json.errors | 1 + ...gns_may_only_appear_at_the_end.json.errors | 1 + ...64_binary_negatively_fuzzed_01.json.errors | 2 + ...64_binary_negatively_fuzzed_02.json.errors | 2 + ...64_binary_negatively_fuzzed_03.json.errors | 1 + ...64_binary_negatively_fuzzed_04.json.errors | 1 + ...64_binary_negatively_fuzzed_05.json.errors | 1 + ...64_binary_negatively_fuzzed_06.json.errors | 1 + ...64_binary_negatively_fuzzed_07.json.errors | 2 + ...64_binary_negatively_fuzzed_08.json.errors | 1 + ...64_binary_negatively_fuzzed_09.json.errors | 2 + ...64_binary_negatively_fuzzed_10.json.errors | 1 + ...e_as_number_with_leading_zeros.json.errors | 1 + .../Boolean_false_in_camelcase.json.errors | 1 + .../Boolean_false_in_uppercase.json.errors | 1 + .../Boolean_negatively_fuzzed_01.json.errors | 1 + .../Boolean_negatively_fuzzed_02.json.errors | 2 + .../Boolean_negatively_fuzzed_03.json.errors | 1 + .../Boolean_negatively_fuzzed_04.json.errors | 2 + .../Boolean_negatively_fuzzed_05.json.errors | 1 + .../Boolean_negatively_fuzzed_06.json.errors | 2 + .../Boolean_negatively_fuzzed_07.json.errors | 2 + .../Boolean_negatively_fuzzed_08.json.errors | 2 + .../Boolean_negatively_fuzzed_09.json.errors | 2 + .../Boolean_negatively_fuzzed_10.json.errors | 1 + ...e_as_number_with_leading_zeros.json.errors | 1 + .../Boolean_true_in_camelcase.json.errors | 1 + .../Boolean_true_in_uppercase.json.errors | 1 + .../Property/value/Byte_decimal.json.errors | 1 + .../Property/value/Byte_empty.json.errors | 1 + .../value/Byte_free_form_text.json.errors | 1 + .../Byte_mathematical_formula.json.errors | 1 + .../value/Byte_max_plus_one.json.errors | 1 + .../value/Byte_min_minus_one.json.errors | 1 + .../value/Byte_scientific.json.errors | 1 + .../value/Date_date_time_with_UTC.json.errors | 1 + .../Date_date_time_with_offset.json.errors | 1 + .../Date_date_time_without_zone.json.errors | 1 + ...e_with_invalid_negative_offset.json.errors | 1 + ...e_with_invalid_positive_offset.json.errors | 1 + ...te_date_with_seconds_in_offset.json.errors | 1 + .../Property/value/Date_empty.json.errors | 1 + ...ate_non_existing_february_29th.json.errors | 1 + .../Property/value/Date_time_date.json.errors | 1 + ...e_with_invalid_negative_offset.json.errors | 1 + ...e_with_invalid_positive_offset.json.errors | 1 + ...te_time_with_seconds_in_offset.json.errors | 1 + ...te_time_with_unexpected_prefix.json.errors | 1 + ...te_time_with_unexpected_suffix.json.errors | 1 + .../Date_time_date_with_time_zone.json.errors | 1 + .../value/Date_time_empty.json.errors | 1 + ...ime_non_existing_february_29th.json.errors | 1 + .../Date_time_without_minutes.json.errors | 1 + .../Date_time_without_seconds.json.errors | 1 + ..._time_year_4_bce_february_29th.json.errors | 1 + ...te_time_year_zero_doesnt_exist.json.errors | 1 + .../Date_year_4_bce_february_29th.json.errors | 1 + .../Date_year_zero_doesnt_exist.json.errors | 1 + .../Property/value/Decimal_empty.json.errors | 1 + .../value/Decimal_free_form_text.json.errors | 1 + .../Property/value/Double_empty.json.errors | 1 + .../value/Double_free_form_text.json.errors | 1 + .../value/Double_inf_case_matters.json.errors | 1 + .../value/Double_nan_case_matters.json.errors | 1 + ...raction_in_scientific_notation.json.errors | 1 + .../value/Double_plus_inf.json.errors | 1 + .../value/Double_too_large.json.errors | 1 + .../Property/value/Duration_empty.json.errors | 1 + .../value/Duration_free_form_text.json.errors | 1 + .../value/Duration_integer.json.errors | 1 + .../Duration_leading_P_missing.json.errors | 1 + .../value/Duration_negative_years.json.errors | 1 + ..._positive_year_negative_months.json.errors | 1 + .../Duration_separator_T_missing.json.errors | 1 + .../Duration_the_order_matters.json.errors | 1 + .../Property/value/Float_empty.json.errors | 1 + .../value/Float_free_form_text.json.errors | 1 + .../value/Float_inf_case_matters.json.errors | 1 + .../value/Float_nan_case_matters.json.errors | 1 + ...raction_in_scientific_notation.json.errors | 1 + .../Property/value/Float_plus_inf.json.errors | 1 + .../value/Float_too_large.json.errors | 1 + .../G_day_day_outside_of_range.json.errors | 1 + .../Property/value/G_day_empty.json.errors | 1 + .../value/G_day_free_form_text.json.errors | 1 + .../G_day_invalid_negative_offset.json.errors | 1 + ...ay_invalid_offset_with_seconds.json.errors | 1 + .../G_day_invalid_positive_offset.json.errors | 1 + .../G_day_missing_leading_dashes.json.errors | 1 + .../G_day_missing_leading_digit.json.errors | 1 + .../value/G_day_unexpected_suffix.json.errors | 1 + ...month_day_day_outside_of_range.json.errors | 1 + .../value/G_month_day_empty.json.errors | 1 + .../G_month_day_free_form_text.json.errors | 1 + ...th_day_invalid_negative_offset.json.errors | 1 + ...ay_invalid_offset_with_seconds.json.errors | 1 + ...th_day_invalid_positive_offset.json.errors | 1 + ...nth_day_missing_leading_dashes.json.errors | 1 + ...onth_day_missing_leading_digit.json.errors | 1 + ...th_day_non_existing_april_31st.json.errors | 1 + ...y_unexpected_prefix_and_suffix.json.errors | 1 + .../Property/value/G_month_empty.json.errors | 1 + .../value/G_month_free_form_text.json.errors | 1 + ..._month_invalid_negative_offset.json.errors | 1 + ...th_invalid_offset_with_seconds.json.errors | 1 + ..._month_invalid_positive_offset.json.errors | 1 + ...G_month_missing_leading_dashes.json.errors | 1 + .../G_month_missing_leading_digit.json.errors | 1 + ...G_month_month_outside_of_range.json.errors | 1 + ...h_unexpected_prefix_and_suffix.json.errors | 1 + .../Property/value/G_year_empty.json.errors | 1 + .../value/G_year_free_form_text.json.errors | 1 + ...G_year_invalid_negative_offset.json.errors | 1 + ...ar_invalid_offset_with_seconds.json.errors | 1 + ...G_year_invalid_positive_offset.json.errors | 1 + .../value/G_year_missing_century.json.errors | 1 + .../value/G_year_month_empty.json.errors | 1 + .../G_year_month_free_form_text.json.errors | 1 + ..._month_invalid_negative_offset.json.errors | 1 + ...th_invalid_offset_with_seconds.json.errors | 1 + ..._month_invalid_positive_offset.json.errors | 1 + .../G_year_month_missing_century.json.errors | 1 + .../G_year_month_missing_month.json.errors | 1 + ..._year_month_month_out_of_range.json.errors | 1 + .../value/G_year_unexpected_month.json.errors | 1 + .../Hex_binary_free_form_text.json.errors | 1 + ...ex_binary_odd_number_of_digits.json.errors | 1 + .../value/Hex_binary_single_digit.json.errors | 1 + .../Property/value/Int_decimal.json.errors | 1 + .../Property/value/Int_empty.json.errors | 1 + .../value/Int_free_form_text.json.errors | 1 + .../Int_mathematical_formula.json.errors | 1 + .../value/Int_max_plus_one.json.errors | 1 + .../value/Int_min_minus_one.json.errors | 1 + .../Property/value/Int_scientific.json.errors | 1 + .../value/Integer_decimal.json.errors | 1 + .../Property/value/Integer_empty.json.errors | 1 + .../value/Integer_free_form_text.json.errors | 1 + .../Integer_mathematical_formula.json.errors | 1 + .../value/Integer_scientific.json.errors | 1 + .../Property/value/Long_decimal.json.errors | 1 + .../Property/value/Long_empty.json.errors | 1 + .../value/Long_free_form_text.json.errors | 1 + .../Long_mathematical_formula.json.errors | 1 + .../value/Long_max_plus_one.json.errors | 1 + .../value/Long_min_minus_one.json.errors | 1 + .../value/Long_scientific.json.errors | 1 + .../Negative_integer_decimal.json.errors | 1 + .../value/Negative_integer_empty.json.errors | 1 + ...ve_integer_explicitly_positive.json.errors | 1 + ...teger_explicitly_positive_zero.json.errors | 1 + ...egative_integer_free_form_text.json.errors | 1 + ...ve_integer_implicitly_positive.json.errors | 1 + ...e_integer_mathematical_formula.json.errors | 1 + .../Negative_integer_scientific.json.errors | 1 + .../value/Negative_integer_zero.json.errors | 1 + ...teger_zero_prefixed_with_zeros.json.errors | 1 + .../Non_negative_integer_decimal.json.errors | 1 + .../Non_negative_integer_empty.json.errors | 1 + ...egative_integer_free_form_text.json.errors | 1 + .../Non_negative_integer_negative.json.errors | 1 + .../Non_positive_integer_decimal.json.errors | 1 + .../Non_positive_integer_empty.json.errors | 1 + ...ve_integer_explicitly_positive.json.errors | 1 + ...ositive_integer_free_form_text.json.errors | 1 + ...ve_integer_implicitly_positive.json.errors | 1 + ...e_integer_mathematical_formula.json.errors | 1 + ...on_positive_integer_scientific.json.errors | 1 + .../Positive_integer_decimal.json.errors | 1 + .../value/Positive_integer_empty.json.errors | 1 + ...ositive_integer_free_form_text.json.errors | 1 + .../Positive_integer_negative.json.errors | 1 + .../value/Positive_integer_zero.json.errors | 1 + ...teger_zero_prefixed_with_zeros.json.errors | 1 + .../Property/value/Short_decimal.json.errors | 1 + .../Property/value/Short_empty.json.errors | 1 + .../value/Short_free_form_text.json.errors | 1 + .../Short_mathematical_formula.json.errors | 1 + .../value/Short_max_plus_one.json.errors | 1 + .../value/Short_min_minus_one.json.errors | 1 + .../value/Short_scientific.json.errors | 1 + .../value/String_NUL_as_utf16.json.errors | 2 + .../value/String_NUL_as_utf32.json.errors | 2 + .../value/String_NUL_as_x.json.errors | 2 + .../String_negatively_fuzzed_01.json.errors | 2 + .../String_negatively_fuzzed_02.json.errors | 2 + .../String_negatively_fuzzed_03.json.errors | 2 + .../String_negatively_fuzzed_04.json.errors | 2 + .../String_negatively_fuzzed_05.json.errors | 2 + .../String_negatively_fuzzed_06.json.errors | 2 + .../String_negatively_fuzzed_07.json.errors | 2 + .../String_negatively_fuzzed_08.json.errors | 2 + .../String_negatively_fuzzed_09.json.errors | 2 + .../String_negatively_fuzzed_10.json.errors | 2 + .../Property/value/Time_empty.json.errors | 1 + .../value/Time_free_form_text.json.errors | 1 + .../value/Time_hour_out_of_range.json.errors | 1 + .../Time_invalid_negative_offset.json.errors | 1 + ...me_invalid_offset_with_seconds.json.errors | 1 + .../Time_invalid_positive_offset.json.errors | 1 + .../Time_minute_out_of_range.json.errors | 1 + .../Time_missing_padded_zeros.json.errors | 1 + .../value/Time_missing_seconds.json.errors | 1 + .../Property/value/Time_negative.json.errors | 1 + .../Time_second_out_of_range.json.errors | 1 + .../value/Unsigned_byte_decimal.json.errors | 1 + .../value/Unsigned_byte_empty.json.errors | 1 + .../Unsigned_byte_free_form_text.json.errors | 1 + ...gned_byte_mathematical_formula.json.errors | 1 + .../Unsigned_byte_max_plus_one.json.errors | 1 + .../value/Unsigned_byte_negative.json.errors | 1 + .../Unsigned_byte_scientific.json.errors | 1 + .../value/Unsigned_int_decimal.json.errors | 1 + .../value/Unsigned_int_empty.json.errors | 1 + .../Unsigned_int_free_form_text.json.errors | 1 + ...igned_int_mathematical_formula.json.errors | 1 + .../Unsigned_int_max_plus_one.json.errors | 1 + .../value/Unsigned_int_negative.json.errors | 1 + .../value/Unsigned_int_scientific.json.errors | 1 + .../value/Unsigned_long_decimal.json.errors | 1 + .../value/Unsigned_long_empty.json.errors | 1 + .../Unsigned_long_free_form_text.json.errors | 1 + ...gned_long_mathematical_formula.json.errors | 1 + .../Unsigned_long_max_plus_one.json.errors | 1 + .../value/Unsigned_long_negative.json.errors | 1 + .../Unsigned_long_scientific.json.errors | 1 + .../value/Unsigned_short_decimal.json.errors | 1 + .../value/Unsigned_short_empty.json.errors | 1 + .../Unsigned_short_free_form_text.json.errors | 1 + ...ned_short_mathematical_formula.json.errors | 1 + .../Unsigned_short_max_plus_one.json.errors | 1 + .../value/Unsigned_short_negative.json.errors | 1 + .../Unsigned_short_scientific.json.errors | 1 + .../Any_URI_negatively_fuzzed_01.json.errors | 1 + .../Any_URI_negatively_fuzzed_02.json.errors | 2 + .../Any_URI_negatively_fuzzed_03.json.errors | 2 + .../Any_URI_negatively_fuzzed_04.json.errors | 1 + .../Any_URI_negatively_fuzzed_05.json.errors | 1 + .../Any_URI_negatively_fuzzed_06.json.errors | 1 + .../Any_URI_negatively_fuzzed_07.json.errors | 2 + .../Any_URI_negatively_fuzzed_08.json.errors | 2 + .../Any_URI_negatively_fuzzed_09.json.errors | 2 + .../Any_URI_negatively_fuzzed_10.json.errors | 1 + ..._by_non_two_hexadecimal_digits.json.errors | 1 + .../Any_URI_too_many_fragments.json.errors | 1 + ...ber_of_characters_is_not_valid.json.errors | 1 + ...gns_may_only_appear_at_the_end.json.errors | 1 + ...64_binary_negatively_fuzzed_01.json.errors | 2 + ...64_binary_negatively_fuzzed_02.json.errors | 2 + ...64_binary_negatively_fuzzed_03.json.errors | 1 + ...64_binary_negatively_fuzzed_04.json.errors | 1 + ...64_binary_negatively_fuzzed_05.json.errors | 1 + ...64_binary_negatively_fuzzed_06.json.errors | 1 + ...64_binary_negatively_fuzzed_07.json.errors | 2 + ...64_binary_negatively_fuzzed_08.json.errors | 1 + ...64_binary_negatively_fuzzed_09.json.errors | 2 + ...64_binary_negatively_fuzzed_10.json.errors | 1 + ...e_as_number_with_leading_zeros.json.errors | 1 + .../Boolean_false_in_camelcase.json.errors | 1 + .../Boolean_false_in_uppercase.json.errors | 1 + .../Boolean_negatively_fuzzed_01.json.errors | 1 + .../Boolean_negatively_fuzzed_02.json.errors | 2 + .../Boolean_negatively_fuzzed_03.json.errors | 1 + .../Boolean_negatively_fuzzed_04.json.errors | 2 + .../Boolean_negatively_fuzzed_05.json.errors | 1 + .../Boolean_negatively_fuzzed_06.json.errors | 2 + .../Boolean_negatively_fuzzed_07.json.errors | 2 + .../Boolean_negatively_fuzzed_08.json.errors | 2 + .../Boolean_negatively_fuzzed_09.json.errors | 2 + .../Boolean_negatively_fuzzed_10.json.errors | 1 + ...e_as_number_with_leading_zeros.json.errors | 1 + .../Boolean_true_in_camelcase.json.errors | 1 + .../Boolean_true_in_uppercase.json.errors | 1 + .../Qualifier/value/Byte_decimal.json.errors | 1 + .../Qualifier/value/Byte_empty.json.errors | 1 + .../value/Byte_free_form_text.json.errors | 1 + .../Byte_mathematical_formula.json.errors | 1 + .../value/Byte_max_plus_one.json.errors | 1 + .../value/Byte_min_minus_one.json.errors | 1 + .../value/Byte_scientific.json.errors | 1 + .../value/Date_date_time_with_UTC.json.errors | 1 + .../Date_date_time_with_offset.json.errors | 1 + .../Date_date_time_without_zone.json.errors | 1 + ...e_with_invalid_negative_offset.json.errors | 1 + ...e_with_invalid_positive_offset.json.errors | 1 + ...te_date_with_seconds_in_offset.json.errors | 1 + .../Qualifier/value/Date_empty.json.errors | 1 + ...ate_non_existing_february_29th.json.errors | 1 + .../value/Date_time_date.json.errors | 1 + ...e_with_invalid_negative_offset.json.errors | 1 + ...e_with_invalid_positive_offset.json.errors | 1 + ...te_time_with_seconds_in_offset.json.errors | 1 + ...te_time_with_unexpected_prefix.json.errors | 1 + ...te_time_with_unexpected_suffix.json.errors | 1 + .../Date_time_date_with_time_zone.json.errors | 1 + .../value/Date_time_empty.json.errors | 1 + ...ime_non_existing_february_29th.json.errors | 1 + .../Date_time_without_minutes.json.errors | 1 + .../Date_time_without_seconds.json.errors | 1 + ..._time_year_4_bce_february_29th.json.errors | 1 + ...te_time_year_zero_doesnt_exist.json.errors | 1 + .../Date_year_4_bce_february_29th.json.errors | 1 + .../Date_year_zero_doesnt_exist.json.errors | 1 + .../Qualifier/value/Decimal_empty.json.errors | 1 + .../value/Decimal_free_form_text.json.errors | 1 + .../Qualifier/value/Double_empty.json.errors | 1 + .../value/Double_free_form_text.json.errors | 1 + .../value/Double_inf_case_matters.json.errors | 1 + .../value/Double_nan_case_matters.json.errors | 1 + ...raction_in_scientific_notation.json.errors | 1 + .../value/Double_plus_inf.json.errors | 1 + .../value/Double_too_large.json.errors | 1 + .../value/Duration_empty.json.errors | 1 + .../value/Duration_free_form_text.json.errors | 1 + .../value/Duration_integer.json.errors | 1 + .../Duration_leading_P_missing.json.errors | 1 + .../value/Duration_negative_years.json.errors | 1 + ..._positive_year_negative_months.json.errors | 1 + .../Duration_separator_T_missing.json.errors | 1 + .../Duration_the_order_matters.json.errors | 1 + .../Qualifier/value/Float_empty.json.errors | 1 + .../value/Float_free_form_text.json.errors | 1 + .../value/Float_inf_case_matters.json.errors | 1 + .../value/Float_nan_case_matters.json.errors | 1 + ...raction_in_scientific_notation.json.errors | 1 + .../value/Float_plus_inf.json.errors | 1 + .../value/Float_too_large.json.errors | 1 + .../G_day_day_outside_of_range.json.errors | 1 + .../Qualifier/value/G_day_empty.json.errors | 1 + .../value/G_day_free_form_text.json.errors | 1 + .../G_day_invalid_negative_offset.json.errors | 1 + ...ay_invalid_offset_with_seconds.json.errors | 1 + .../G_day_invalid_positive_offset.json.errors | 1 + .../G_day_missing_leading_dashes.json.errors | 1 + .../G_day_missing_leading_digit.json.errors | 1 + .../value/G_day_unexpected_suffix.json.errors | 1 + ...month_day_day_outside_of_range.json.errors | 1 + .../value/G_month_day_empty.json.errors | 1 + .../G_month_day_free_form_text.json.errors | 1 + ...th_day_invalid_negative_offset.json.errors | 1 + ...ay_invalid_offset_with_seconds.json.errors | 1 + ...th_day_invalid_positive_offset.json.errors | 1 + ...nth_day_missing_leading_dashes.json.errors | 1 + ...onth_day_missing_leading_digit.json.errors | 1 + ...th_day_non_existing_april_31st.json.errors | 1 + ...y_unexpected_prefix_and_suffix.json.errors | 1 + .../Qualifier/value/G_month_empty.json.errors | 1 + .../value/G_month_free_form_text.json.errors | 1 + ..._month_invalid_negative_offset.json.errors | 1 + ...th_invalid_offset_with_seconds.json.errors | 1 + ..._month_invalid_positive_offset.json.errors | 1 + ...G_month_missing_leading_dashes.json.errors | 1 + .../G_month_missing_leading_digit.json.errors | 1 + ...G_month_month_outside_of_range.json.errors | 1 + ...h_unexpected_prefix_and_suffix.json.errors | 1 + .../Qualifier/value/G_year_empty.json.errors | 1 + .../value/G_year_free_form_text.json.errors | 1 + ...G_year_invalid_negative_offset.json.errors | 1 + ...ar_invalid_offset_with_seconds.json.errors | 1 + ...G_year_invalid_positive_offset.json.errors | 1 + .../value/G_year_missing_century.json.errors | 1 + .../value/G_year_month_empty.json.errors | 1 + .../G_year_month_free_form_text.json.errors | 1 + ..._month_invalid_negative_offset.json.errors | 1 + ...th_invalid_offset_with_seconds.json.errors | 1 + ..._month_invalid_positive_offset.json.errors | 1 + .../G_year_month_missing_century.json.errors | 1 + .../G_year_month_missing_month.json.errors | 1 + ..._year_month_month_out_of_range.json.errors | 1 + .../value/G_year_unexpected_month.json.errors | 1 + .../Hex_binary_free_form_text.json.errors | 1 + ...ex_binary_odd_number_of_digits.json.errors | 1 + .../value/Hex_binary_single_digit.json.errors | 1 + .../Qualifier/value/Int_decimal.json.errors | 1 + .../Qualifier/value/Int_empty.json.errors | 1 + .../value/Int_free_form_text.json.errors | 1 + .../Int_mathematical_formula.json.errors | 1 + .../value/Int_max_plus_one.json.errors | 1 + .../value/Int_min_minus_one.json.errors | 1 + .../value/Int_scientific.json.errors | 1 + .../value/Integer_decimal.json.errors | 1 + .../Qualifier/value/Integer_empty.json.errors | 1 + .../value/Integer_free_form_text.json.errors | 1 + .../Integer_mathematical_formula.json.errors | 1 + .../value/Integer_scientific.json.errors | 1 + .../Qualifier/value/Long_decimal.json.errors | 1 + .../Qualifier/value/Long_empty.json.errors | 1 + .../value/Long_free_form_text.json.errors | 1 + .../Long_mathematical_formula.json.errors | 1 + .../value/Long_max_plus_one.json.errors | 1 + .../value/Long_min_minus_one.json.errors | 1 + .../value/Long_scientific.json.errors | 1 + .../Negative_integer_decimal.json.errors | 1 + .../value/Negative_integer_empty.json.errors | 1 + ...ve_integer_explicitly_positive.json.errors | 1 + ...teger_explicitly_positive_zero.json.errors | 1 + ...egative_integer_free_form_text.json.errors | 1 + ...ve_integer_implicitly_positive.json.errors | 1 + ...e_integer_mathematical_formula.json.errors | 1 + .../Negative_integer_scientific.json.errors | 1 + .../value/Negative_integer_zero.json.errors | 1 + ...teger_zero_prefixed_with_zeros.json.errors | 1 + .../Non_negative_integer_decimal.json.errors | 1 + .../Non_negative_integer_empty.json.errors | 1 + ...egative_integer_free_form_text.json.errors | 1 + .../Non_negative_integer_negative.json.errors | 1 + .../Non_positive_integer_decimal.json.errors | 1 + .../Non_positive_integer_empty.json.errors | 1 + ...ve_integer_explicitly_positive.json.errors | 1 + ...ositive_integer_free_form_text.json.errors | 1 + ...ve_integer_implicitly_positive.json.errors | 1 + ...e_integer_mathematical_formula.json.errors | 1 + ...on_positive_integer_scientific.json.errors | 1 + .../Positive_integer_decimal.json.errors | 1 + .../value/Positive_integer_empty.json.errors | 1 + ...ositive_integer_free_form_text.json.errors | 1 + .../Positive_integer_negative.json.errors | 1 + .../value/Positive_integer_zero.json.errors | 1 + ...teger_zero_prefixed_with_zeros.json.errors | 1 + .../Qualifier/value/Short_decimal.json.errors | 1 + .../Qualifier/value/Short_empty.json.errors | 1 + .../value/Short_free_form_text.json.errors | 1 + .../Short_mathematical_formula.json.errors | 1 + .../value/Short_max_plus_one.json.errors | 1 + .../value/Short_min_minus_one.json.errors | 1 + .../value/Short_scientific.json.errors | 1 + .../value/String_NUL_as_utf16.json.errors | 2 + .../value/String_NUL_as_utf32.json.errors | 2 + .../value/String_NUL_as_x.json.errors | 2 + .../String_negatively_fuzzed_01.json.errors | 2 + .../String_negatively_fuzzed_02.json.errors | 2 + .../String_negatively_fuzzed_03.json.errors | 2 + .../String_negatively_fuzzed_04.json.errors | 2 + .../String_negatively_fuzzed_05.json.errors | 2 + .../String_negatively_fuzzed_06.json.errors | 2 + .../String_negatively_fuzzed_07.json.errors | 2 + .../String_negatively_fuzzed_08.json.errors | 2 + .../String_negatively_fuzzed_09.json.errors | 2 + .../String_negatively_fuzzed_10.json.errors | 2 + .../Qualifier/value/Time_empty.json.errors | 1 + .../value/Time_free_form_text.json.errors | 1 + .../value/Time_hour_out_of_range.json.errors | 1 + .../Time_invalid_negative_offset.json.errors | 1 + ...me_invalid_offset_with_seconds.json.errors | 1 + .../Time_invalid_positive_offset.json.errors | 1 + .../Time_minute_out_of_range.json.errors | 1 + .../Time_missing_padded_zeros.json.errors | 1 + .../value/Time_missing_seconds.json.errors | 1 + .../Qualifier/value/Time_negative.json.errors | 1 + .../Time_second_out_of_range.json.errors | 1 + .../value/Unsigned_byte_decimal.json.errors | 1 + .../value/Unsigned_byte_empty.json.errors | 1 + .../Unsigned_byte_free_form_text.json.errors | 1 + ...gned_byte_mathematical_formula.json.errors | 1 + .../Unsigned_byte_max_plus_one.json.errors | 1 + .../value/Unsigned_byte_negative.json.errors | 1 + .../Unsigned_byte_scientific.json.errors | 1 + .../value/Unsigned_int_decimal.json.errors | 1 + .../value/Unsigned_int_empty.json.errors | 1 + .../Unsigned_int_free_form_text.json.errors | 1 + ...igned_int_mathematical_formula.json.errors | 1 + .../Unsigned_int_max_plus_one.json.errors | 1 + .../value/Unsigned_int_negative.json.errors | 1 + .../value/Unsigned_int_scientific.json.errors | 1 + .../value/Unsigned_long_decimal.json.errors | 1 + .../value/Unsigned_long_empty.json.errors | 1 + .../Unsigned_long_free_form_text.json.errors | 1 + ...gned_long_mathematical_formula.json.errors | 1 + .../Unsigned_long_max_plus_one.json.errors | 1 + .../value/Unsigned_long_negative.json.errors | 1 + .../Unsigned_long_scientific.json.errors | 1 + .../value/Unsigned_short_decimal.json.errors | 1 + .../value/Unsigned_short_empty.json.errors | 1 + .../Unsigned_short_free_form_text.json.errors | 1 + ...ned_short_mathematical_formula.json.errors | 1 + .../Unsigned_short_max_plus_one.json.errors | 1 + .../value/Unsigned_short_negative.json.errors | 1 + .../Unsigned_short_scientific.json.errors | 1 + .../revision.json.errors | 2 + .../templateId.json.errors | 2 + .../version.json.errors | 2 + .../category.json.errors | 1 + .../idShort.json.errors | 1 + .../category.json.errors | 1 + .../AssetAdministrationShell/id.json.errors | 1 + .../idShort.json.errors | 1 + .../AssetInformation/assetType.json.errors | 1 + .../globalAssetId.json.errors | 1 + .../BasicEventElement/category.json.errors | 1 + .../BasicEventElement/idShort.json.errors | 1 + .../messageTopic.json.errors | 1 + .../Blob/category.json.errors | 1 + .../Blob/contentType.json.errors | 1 + .../Blob/idShort.json.errors | 1 + .../Capability/category.json.errors | 1 + .../Capability/idShort.json.errors | 1 + .../ConceptDescription/category.json.errors | 1 + .../ConceptDescription/id.json.errors | 1 + .../ConceptDescription/idShort.json.errors | 1 + .../value.json.errors | 1 + .../Entity/category.json.errors | 1 + .../Entity/globalAssetId.json.errors | 1 + .../Entity/idShort.json.errors | 1 + .../EventPayload/topic.json.errors | 1 + .../Extension/name.json.errors | 1 + .../File/category.json.errors | 1 + .../File/contentType.json.errors | 1 + .../File/idShort.json.errors | 1 + .../MaxLengthViolation/File/value.json.errors | 1 + .../MaxLengthViolation/Key/value.json.errors | 1 + .../text.json.errors | 1 + .../LangStringNameType/text.json.errors | 1 + .../text.json.errors | 1 + .../text.json.errors | 1 + .../LangStringTextType/text.json.errors | 1 + .../category.json.errors | 1 + .../MultiLanguageProperty/idShort.json.errors | 1 + .../Operation/category.json.errors | 2 + .../Operation/idShort.json.errors | 2 + .../Property/category.json.errors | 1 + .../Property/idShort.json.errors | 1 + .../Qualifier/type.json.errors | 1 + .../Range/category.json.errors | 1 + .../Range/idShort.json.errors | 1 + .../ReferenceElement/category.json.errors | 1 + .../ReferenceElement/idShort.json.errors | 1 + .../RelationshipElement/category.json.errors | 1 + .../RelationshipElement/idShort.json.errors | 1 + .../Resource/contentType.json.errors | 1 + .../Resource/path.json.errors | 1 + .../SpecificAssetId/name.json.errors | 1 + .../SpecificAssetId/value.json.errors | 1 + .../Submodel/category.json.errors | 1 + .../Submodel/id.json.errors | 1 + .../Submodel/idShort.json.errors | 1 + .../category.json.errors | 1 + .../idShort.json.errors | 1 + .../SubmodelElementList/category.json.errors | 1 + .../SubmodelElementList/idShort.json.errors | 1 + .../ValueReferencePair/value.json.errors | 1 + .../embeddedDataSpecifications.json.errors | 2 + .../revision.json.errors | 3 + .../templateId.json.errors | 2 + .../version.json.errors | 3 + .../annotations.json.errors | 1 + .../category.json.errors | 1 + .../description.json.errors | 1 + .../displayName.json.errors | 1 + .../embeddedDataSpecifications.json.errors | 1 + .../extensions.json.errors | 1 + .../idShort.json.errors | 2 + .../qualifiers.json.errors | 1 + .../supplementalSemanticIds.json.errors | 1 + .../category.json.errors | 1 + .../description.json.errors | 1 + .../displayName.json.errors | 1 + .../embeddedDataSpecifications.json.errors | 1 + .../extensions.json.errors | 1 + .../AssetAdministrationShell/id.json.errors | 1 + .../idShort.json.errors | 2 + .../submodels.json.errors | 1 + .../AssetInformation/assetType.json.errors | 1 + .../globalAssetId.json.errors | 1 + .../specificAssetIds.json.errors | 2 + .../BasicEventElement/category.json.errors | 1 + .../BasicEventElement/description.json.errors | 1 + .../BasicEventElement/displayName.json.errors | 1 + .../embeddedDataSpecifications.json.errors | 1 + .../BasicEventElement/extensions.json.errors | 1 + .../BasicEventElement/idShort.json.errors | 2 + .../messageTopic.json.errors | 1 + .../BasicEventElement/qualifiers.json.errors | 1 + .../supplementalSemanticIds.json.errors | 1 + .../Blob/category.json.errors | 1 + .../Blob/contentType.json.errors | 2 + .../Blob/description.json.errors | 1 + .../Blob/displayName.json.errors | 1 + .../embeddedDataSpecifications.json.errors | 1 + .../Blob/extensions.json.errors | 1 + .../Blob/idShort.json.errors | 2 + .../Blob/qualifiers.json.errors | 1 + .../Blob/supplementalSemanticIds.json.errors | 1 + .../Capability/category.json.errors | 1 + .../Capability/description.json.errors | 1 + .../Capability/displayName.json.errors | 1 + .../embeddedDataSpecifications.json.errors | 1 + .../Capability/extensions.json.errors | 1 + .../Capability/idShort.json.errors | 2 + .../Capability/qualifiers.json.errors | 1 + .../supplementalSemanticIds.json.errors | 1 + .../ConceptDescription/category.json.errors | 1 + .../description.json.errors | 1 + .../displayName.json.errors | 1 + .../embeddedDataSpecifications.json.errors | 1 + .../ConceptDescription/extensions.json.errors | 1 + .../ConceptDescription/id.json.errors | 1 + .../ConceptDescription/idShort.json.errors | 2 + .../ConceptDescription/isCaseOf.json.errors | 1 + .../definition.json.errors | 1 + .../preferredName.json.errors | 2 + .../shortName.json.errors | 1 + .../sourceOfDefinition.json.errors | 1 + .../symbol.json.errors | 1 + .../unit.json.errors | 1 + .../value.json.errors | 1 + .../valueFormat.json.errors | 1 + .../Entity/category.json.errors | 1 + .../Entity/description.json.errors | 1 + .../Entity/displayName.json.errors | 1 + .../embeddedDataSpecifications.json.errors | 1 + .../Entity/extensions.json.errors | 1 + .../Entity/globalAssetId.json.errors | 1 + .../Entity/idShort.json.errors | 2 + .../Entity/qualifiers.json.errors | 1 + .../Entity/specificAssetIds.json.errors | 1 + .../Entity/statements.json.errors | 1 + .../supplementalSemanticIds.json.errors | 1 + .../assetAdministrationShells.json.errors | 1 + .../conceptDescriptions.json.errors | 1 + .../Environment/submodels.json.errors | 1 + .../EventPayload/topic.json.errors | 1 + .../Extension/name.json.errors | 1 + .../Extension/refersTo.json.errors | 1 + .../supplementalSemanticIds.json.errors | 1 + .../File/category.json.errors | 1 + .../File/contentType.json.errors | 2 + .../File/description.json.errors | 1 + .../File/displayName.json.errors | 1 + .../embeddedDataSpecifications.json.errors | 1 + .../File/extensions.json.errors | 1 + .../File/idShort.json.errors | 2 + .../File/qualifiers.json.errors | 1 + .../File/supplementalSemanticIds.json.errors | 1 + .../MinLengthViolation/File/value.json.errors | 1 + .../MinLengthViolation/Key/value.json.errors | 1 + .../text.json.errors | 1 + .../LangStringNameType/text.json.errors | 1 + .../text.json.errors | 1 + .../text.json.errors | 1 + .../LangStringTextType/text.json.errors | 1 + .../category.json.errors | 1 + .../description.json.errors | 1 + .../displayName.json.errors | 1 + .../embeddedDataSpecifications.json.errors | 1 + .../extensions.json.errors | 1 + .../MultiLanguageProperty/idShort.json.errors | 2 + .../qualifiers.json.errors | 1 + .../supplementalSemanticIds.json.errors | 1 + .../MultiLanguageProperty/value.json.errors | 1 + .../Operation/category.json.errors | 2 + .../Operation/description.json.errors | 2 + .../Operation/displayName.json.errors | 2 + .../embeddedDataSpecifications.json.errors | 2 + .../Operation/extensions.json.errors | 2 + .../Operation/idShort.json.errors | 3 + .../Operation/inoutputVariables.json.errors | 1 + .../Operation/inputVariables.json.errors | 2 + .../Operation/outputVariables.json.errors | 2 + .../Operation/qualifiers.json.errors | 2 + .../supplementalSemanticIds.json.errors | 2 + .../Property/category.json.errors | 1 + .../Property/description.json.errors | 1 + .../Property/displayName.json.errors | 1 + .../embeddedDataSpecifications.json.errors | 1 + .../Property/extensions.json.errors | 1 + .../Property/idShort.json.errors | 2 + .../Property/qualifiers.json.errors | 1 + .../supplementalSemanticIds.json.errors | 1 + .../supplementalSemanticIds.json.errors | 1 + .../Qualifier/type.json.errors | 1 + .../Range/category.json.errors | 1 + .../Range/description.json.errors | 1 + .../Range/displayName.json.errors | 1 + .../embeddedDataSpecifications.json.errors | 1 + .../Range/extensions.json.errors | 1 + .../Range/idShort.json.errors | 2 + .../Range/qualifiers.json.errors | 1 + .../Range/supplementalSemanticIds.json.errors | 1 + .../Reference/keys.json.errors | 1 + .../ReferenceElement/category.json.errors | 1 + .../ReferenceElement/description.json.errors | 1 + .../ReferenceElement/displayName.json.errors | 1 + .../embeddedDataSpecifications.json.errors | 1 + .../ReferenceElement/extensions.json.errors | 1 + .../ReferenceElement/idShort.json.errors | 2 + .../ReferenceElement/qualifiers.json.errors | 1 + .../supplementalSemanticIds.json.errors | 1 + .../RelationshipElement/category.json.errors | 1 + .../description.json.errors | 1 + .../displayName.json.errors | 1 + .../embeddedDataSpecifications.json.errors | 1 + .../extensions.json.errors | 1 + .../RelationshipElement/idShort.json.errors | 2 + .../qualifiers.json.errors | 1 + .../supplementalSemanticIds.json.errors | 1 + .../Resource/contentType.json.errors | 2 + .../Resource/path.json.errors | 1 + .../SpecificAssetId/name.json.errors | 1 + .../supplementalSemanticIds.json.errors | 1 + .../SpecificAssetId/value.json.errors | 1 + .../Submodel/category.json.errors | 1 + .../Submodel/description.json.errors | 1 + .../Submodel/displayName.json.errors | 1 + .../embeddedDataSpecifications.json.errors | 1 + .../Submodel/extensions.json.errors | 1 + .../Submodel/id.json.errors | 1 + .../Submodel/idShort.json.errors | 2 + .../Submodel/qualifiers.json.errors | 1 + .../Submodel/submodelElements.json.errors | 1 + .../supplementalSemanticIds.json.errors | 1 + .../category.json.errors | 1 + .../description.json.errors | 1 + .../displayName.json.errors | 1 + .../embeddedDataSpecifications.json.errors | 1 + .../extensions.json.errors | 1 + .../idShort.json.errors | 2 + .../qualifiers.json.errors | 1 + .../supplementalSemanticIds.json.errors | 1 + .../value.json.errors | 1 + .../SubmodelElementList/category.json.errors | 1 + .../description.json.errors | 1 + .../displayName.json.errors | 1 + .../embeddedDataSpecifications.json.errors | 1 + .../extensions.json.errors | 1 + .../SubmodelElementList/idShort.json.errors | 2 + .../qualifiers.json.errors | 1 + .../supplementalSemanticIds.json.errors | 1 + .../SubmodelElementList/value.json.errors | 1 + .../ValueList/valueReferencePairs.json.errors | 1 + .../ValueReferencePair/value.json.errors | 1 + .../date_time_with_UTC_and_suffix.json.errors | 2 + .../date_time_with_offset.json.errors | 2 + .../date_time_without_zone.json.errors | 2 + .../createdAt/empty.json.errors | 2 + .../invalid_february_29th.json.errors | 1 + .../negatively_fuzzed_01.json.errors | 2 + .../negatively_fuzzed_02.json.errors | 2 + .../negatively_fuzzed_03.json.errors | 2 + .../negatively_fuzzed_04.json.errors | 2 + .../negatively_fuzzed_05.json.errors | 2 + .../negatively_fuzzed_06.json.errors | 2 + .../negatively_fuzzed_07.json.errors | 2 + .../negatively_fuzzed_08.json.errors | 2 + .../negatively_fuzzed_09.json.errors | 2 + .../negatively_fuzzed_10.json.errors | 2 + .../createdAt/only_date.json.errors | 2 + .../only_date_with_time_zone.json.errors | 2 + .../createdAt/without_minutes.json.errors | 2 + .../createdAt/without_seconds.json.errors | 2 + .../revision/dot.json.errors | 2 + .../revision/letter.json.errors | 3 + .../revision/negative.json.errors | 2 + .../negatively_fuzzed_01.json.errors | 1 + .../negatively_fuzzed_02.json.errors | 1 + .../negatively_fuzzed_03.json.errors | 1 + .../negatively_fuzzed_04.json.errors | 1 + .../negatively_fuzzed_05.json.errors | 1 + .../negatively_fuzzed_06.json.errors | 1 + .../negatively_fuzzed_07.json.errors | 1 + .../negatively_fuzzed_08.json.errors | 1 + .../negatively_fuzzed_09.json.errors | 1 + .../negatively_fuzzed_10.json.errors | 1 + .../date_time_with_UTC_and_suffix.json.errors | 2 + .../date_time_with_offset.json.errors | 2 + .../date_time_without_zone.json.errors | 2 + .../updatedAt/empty.json.errors | 2 + .../invalid_february_29th.json.errors | 1 + .../negatively_fuzzed_01.json.errors | 2 + .../negatively_fuzzed_02.json.errors | 2 + .../negatively_fuzzed_03.json.errors | 2 + .../negatively_fuzzed_04.json.errors | 2 + .../negatively_fuzzed_05.json.errors | 2 + .../negatively_fuzzed_06.json.errors | 2 + .../negatively_fuzzed_07.json.errors | 2 + .../negatively_fuzzed_08.json.errors | 2 + .../negatively_fuzzed_09.json.errors | 2 + .../negatively_fuzzed_10.json.errors | 2 + .../updatedAt/only_date.json.errors | 2 + .../only_date_with_time_zone.json.errors | 2 + .../updatedAt/without_minutes.json.errors | 2 + .../updatedAt/without_seconds.json.errors | 2 + .../version/dot.json.errors | 1 + .../version/letter.json.errors | 2 + .../version/negative.json.errors | 1 + .../category/negatively_fuzzed_01.json.errors | 1 + .../category/negatively_fuzzed_02.json.errors | 1 + .../category/negatively_fuzzed_03.json.errors | 1 + .../category/negatively_fuzzed_04.json.errors | 1 + .../category/negatively_fuzzed_05.json.errors | 1 + .../category/negatively_fuzzed_06.json.errors | 1 + .../category/negatively_fuzzed_07.json.errors | 1 + .../category/negatively_fuzzed_08.json.errors | 1 + .../category/negatively_fuzzed_09.json.errors | 1 + .../category/negatively_fuzzed_10.json.errors | 1 + .../idShort/negatively_fuzzed_01.json.errors | 1 + .../idShort/negatively_fuzzed_02.json.errors | 1 + .../idShort/negatively_fuzzed_03.json.errors | 2 + .../idShort/negatively_fuzzed_04.json.errors | 1 + .../idShort/negatively_fuzzed_05.json.errors | 1 + .../idShort/negatively_fuzzed_06.json.errors | 1 + .../idShort/negatively_fuzzed_07.json.errors | 2 + .../idShort/negatively_fuzzed_08.json.errors | 2 + .../idShort/negatively_fuzzed_09.json.errors | 2 + .../idShort/negatively_fuzzed_10.json.errors | 2 + .../category/negatively_fuzzed_01.json.errors | 1 + .../category/negatively_fuzzed_02.json.errors | 1 + .../category/negatively_fuzzed_03.json.errors | 1 + .../category/negatively_fuzzed_04.json.errors | 1 + .../category/negatively_fuzzed_05.json.errors | 1 + .../category/negatively_fuzzed_06.json.errors | 1 + .../category/negatively_fuzzed_07.json.errors | 1 + .../category/negatively_fuzzed_08.json.errors | 1 + .../category/negatively_fuzzed_09.json.errors | 1 + .../category/negatively_fuzzed_10.json.errors | 1 + .../id/negatively_fuzzed_01.json.errors | 1 + .../id/negatively_fuzzed_02.json.errors | 1 + .../id/negatively_fuzzed_03.json.errors | 1 + .../id/negatively_fuzzed_04.json.errors | 1 + .../id/negatively_fuzzed_05.json.errors | 1 + .../id/negatively_fuzzed_06.json.errors | 1 + .../id/negatively_fuzzed_07.json.errors | 1 + .../id/negatively_fuzzed_08.json.errors | 1 + .../id/negatively_fuzzed_09.json.errors | 1 + .../id/negatively_fuzzed_10.json.errors | 1 + .../idShort/negatively_fuzzed_01.json.errors | 1 + .../idShort/negatively_fuzzed_02.json.errors | 1 + .../idShort/negatively_fuzzed_03.json.errors | 2 + .../idShort/negatively_fuzzed_04.json.errors | 1 + .../idShort/negatively_fuzzed_05.json.errors | 1 + .../idShort/negatively_fuzzed_06.json.errors | 1 + .../idShort/negatively_fuzzed_07.json.errors | 2 + .../idShort/negatively_fuzzed_08.json.errors | 2 + .../idShort/negatively_fuzzed_09.json.errors | 2 + .../idShort/negatively_fuzzed_10.json.errors | 2 + .../negatively_fuzzed_01.json.errors | 1 + .../negatively_fuzzed_02.json.errors | 1 + .../negatively_fuzzed_03.json.errors | 1 + .../negatively_fuzzed_04.json.errors | 1 + .../negatively_fuzzed_05.json.errors | 1 + .../negatively_fuzzed_06.json.errors | 1 + .../negatively_fuzzed_07.json.errors | 1 + .../negatively_fuzzed_08.json.errors | 1 + .../negatively_fuzzed_09.json.errors | 1 + .../negatively_fuzzed_10.json.errors | 1 + .../negatively_fuzzed_01.json.errors | 1 + .../negatively_fuzzed_02.json.errors | 1 + .../negatively_fuzzed_03.json.errors | 1 + .../negatively_fuzzed_04.json.errors | 1 + .../negatively_fuzzed_05.json.errors | 1 + .../negatively_fuzzed_06.json.errors | 1 + .../negatively_fuzzed_07.json.errors | 1 + .../negatively_fuzzed_08.json.errors | 1 + .../negatively_fuzzed_09.json.errors | 1 + .../negatively_fuzzed_10.json.errors | 1 + .../category/negatively_fuzzed_01.json.errors | 1 + .../category/negatively_fuzzed_02.json.errors | 1 + .../category/negatively_fuzzed_03.json.errors | 1 + .../category/negatively_fuzzed_04.json.errors | 1 + .../category/negatively_fuzzed_05.json.errors | 1 + .../category/negatively_fuzzed_06.json.errors | 1 + .../category/negatively_fuzzed_07.json.errors | 1 + .../category/negatively_fuzzed_08.json.errors | 1 + .../category/negatively_fuzzed_09.json.errors | 1 + .../category/negatively_fuzzed_10.json.errors | 1 + .../idShort/negatively_fuzzed_01.json.errors | 1 + .../idShort/negatively_fuzzed_02.json.errors | 1 + .../idShort/negatively_fuzzed_03.json.errors | 2 + .../idShort/negatively_fuzzed_04.json.errors | 1 + .../idShort/negatively_fuzzed_05.json.errors | 1 + .../idShort/negatively_fuzzed_06.json.errors | 1 + .../idShort/negatively_fuzzed_07.json.errors | 2 + .../idShort/negatively_fuzzed_08.json.errors | 2 + .../idShort/negatively_fuzzed_09.json.errors | 2 + .../idShort/negatively_fuzzed_10.json.errors | 2 + .../date_time_with_UTC_and_suffix.json.errors | 2 + .../date_time_with_offset.json.errors | 2 + .../date_time_without_zone.json.errors | 2 + .../lastUpdate/empty.json.errors | 2 + .../invalid_february_29th.json.errors | 1 + .../negatively_fuzzed_01.json.errors | 2 + .../negatively_fuzzed_02.json.errors | 2 + .../negatively_fuzzed_03.json.errors | 2 + .../negatively_fuzzed_04.json.errors | 2 + .../negatively_fuzzed_05.json.errors | 2 + .../negatively_fuzzed_06.json.errors | 2 + .../negatively_fuzzed_07.json.errors | 2 + .../negatively_fuzzed_08.json.errors | 2 + .../negatively_fuzzed_09.json.errors | 2 + .../negatively_fuzzed_10.json.errors | 2 + .../lastUpdate/only_date.json.errors | 2 + .../only_date_with_time_zone.json.errors | 2 + .../lastUpdate/without_minutes.json.errors | 2 + .../lastUpdate/without_seconds.json.errors | 2 + .../maxInterval/empty.json.errors | 2 + .../maxInterval/free_form_text.json.errors | 2 + .../maxInterval/integer.json.errors | 2 + .../maxInterval/leading_P_missing.json.errors | 2 + .../maxInterval/negative_years.json.errors | 2 + .../positive_year_negative_months.json.errors | 2 + .../separator_T_missing.json.errors | 2 + .../maxInterval/the_order_matters.json.errors | 2 + .../negatively_fuzzed_01.json.errors | 1 + .../negatively_fuzzed_02.json.errors | 1 + .../negatively_fuzzed_03.json.errors | 1 + .../negatively_fuzzed_04.json.errors | 1 + .../negatively_fuzzed_05.json.errors | 1 + .../negatively_fuzzed_06.json.errors | 1 + .../negatively_fuzzed_07.json.errors | 1 + .../negatively_fuzzed_08.json.errors | 1 + .../negatively_fuzzed_09.json.errors | 1 + .../negatively_fuzzed_10.json.errors | 1 + .../minInterval/empty.json.errors | 1 + .../minInterval/free_form_text.json.errors | 1 + .../minInterval/integer.json.errors | 1 + .../minInterval/leading_P_missing.json.errors | 1 + .../minInterval/negative_years.json.errors | 1 + .../positive_year_negative_months.json.errors | 1 + .../separator_T_missing.json.errors | 1 + .../minInterval/the_order_matters.json.errors | 1 + .../category/negatively_fuzzed_01.json.errors | 1 + .../category/negatively_fuzzed_02.json.errors | 1 + .../category/negatively_fuzzed_03.json.errors | 1 + .../category/negatively_fuzzed_04.json.errors | 1 + .../category/negatively_fuzzed_05.json.errors | 1 + .../category/negatively_fuzzed_06.json.errors | 1 + .../category/negatively_fuzzed_07.json.errors | 1 + .../category/negatively_fuzzed_08.json.errors | 1 + .../category/negatively_fuzzed_09.json.errors | 1 + .../category/negatively_fuzzed_10.json.errors | 1 + .../Blob/contentType/empty.json.errors | 2 + .../negatively_fuzzed_01.json.errors | 2 + .../negatively_fuzzed_02.json.errors | 2 + .../negatively_fuzzed_03.json.errors | 1 + .../negatively_fuzzed_04.json.errors | 1 + .../negatively_fuzzed_05.json.errors | 1 + .../negatively_fuzzed_06.json.errors | 1 + .../negatively_fuzzed_07.json.errors | 1 + .../negatively_fuzzed_08.json.errors | 2 + .../negatively_fuzzed_09.json.errors | 1 + .../negatively_fuzzed_10.json.errors | 1 + .../Blob/contentType/number.json.errors | 1 + .../idShort/negatively_fuzzed_01.json.errors | 1 + .../idShort/negatively_fuzzed_02.json.errors | 1 + .../idShort/negatively_fuzzed_03.json.errors | 2 + .../idShort/negatively_fuzzed_04.json.errors | 1 + .../idShort/negatively_fuzzed_05.json.errors | 1 + .../idShort/negatively_fuzzed_06.json.errors | 1 + .../idShort/negatively_fuzzed_07.json.errors | 2 + .../idShort/negatively_fuzzed_08.json.errors | 2 + .../idShort/negatively_fuzzed_09.json.errors | 2 + .../idShort/negatively_fuzzed_10.json.errors | 2 + .../category/negatively_fuzzed_01.json.errors | 1 + .../category/negatively_fuzzed_02.json.errors | 1 + .../category/negatively_fuzzed_03.json.errors | 1 + .../category/negatively_fuzzed_04.json.errors | 1 + .../category/negatively_fuzzed_05.json.errors | 1 + .../category/negatively_fuzzed_06.json.errors | 1 + .../category/negatively_fuzzed_07.json.errors | 1 + .../category/negatively_fuzzed_08.json.errors | 1 + .../category/negatively_fuzzed_09.json.errors | 1 + .../category/negatively_fuzzed_10.json.errors | 1 + .../idShort/negatively_fuzzed_01.json.errors | 1 + .../idShort/negatively_fuzzed_02.json.errors | 1 + .../idShort/negatively_fuzzed_03.json.errors | 2 + .../idShort/negatively_fuzzed_04.json.errors | 1 + .../idShort/negatively_fuzzed_05.json.errors | 1 + .../idShort/negatively_fuzzed_06.json.errors | 1 + .../idShort/negatively_fuzzed_07.json.errors | 2 + .../idShort/negatively_fuzzed_08.json.errors | 2 + .../idShort/negatively_fuzzed_09.json.errors | 2 + .../idShort/negatively_fuzzed_10.json.errors | 2 + .../category/negatively_fuzzed_01.json.errors | 1 + .../category/negatively_fuzzed_02.json.errors | 1 + .../category/negatively_fuzzed_03.json.errors | 1 + .../category/negatively_fuzzed_04.json.errors | 1 + .../category/negatively_fuzzed_05.json.errors | 1 + .../category/negatively_fuzzed_06.json.errors | 1 + .../category/negatively_fuzzed_07.json.errors | 1 + .../category/negatively_fuzzed_08.json.errors | 1 + .../category/negatively_fuzzed_09.json.errors | 1 + .../category/negatively_fuzzed_10.json.errors | 1 + .../id/negatively_fuzzed_01.json.errors | 1 + .../id/negatively_fuzzed_02.json.errors | 1 + .../id/negatively_fuzzed_03.json.errors | 1 + .../id/negatively_fuzzed_04.json.errors | 1 + .../id/negatively_fuzzed_05.json.errors | 1 + .../id/negatively_fuzzed_06.json.errors | 1 + .../id/negatively_fuzzed_07.json.errors | 1 + .../id/negatively_fuzzed_08.json.errors | 1 + .../id/negatively_fuzzed_09.json.errors | 1 + .../id/negatively_fuzzed_10.json.errors | 1 + .../idShort/negatively_fuzzed_01.json.errors | 1 + .../idShort/negatively_fuzzed_02.json.errors | 1 + .../idShort/negatively_fuzzed_03.json.errors | 2 + .../idShort/negatively_fuzzed_04.json.errors | 1 + .../idShort/negatively_fuzzed_05.json.errors | 1 + .../idShort/negatively_fuzzed_06.json.errors | 1 + .../idShort/negatively_fuzzed_07.json.errors | 2 + .../idShort/negatively_fuzzed_08.json.errors | 2 + .../idShort/negatively_fuzzed_09.json.errors | 2 + .../idShort/negatively_fuzzed_10.json.errors | 2 + .../negatively_fuzzed_01.json.errors | 1 + .../negatively_fuzzed_02.json.errors | 1 + .../negatively_fuzzed_03.json.errors | 1 + .../negatively_fuzzed_04.json.errors | 1 + .../negatively_fuzzed_05.json.errors | 1 + .../negatively_fuzzed_06.json.errors | 1 + .../negatively_fuzzed_07.json.errors | 1 + .../negatively_fuzzed_08.json.errors | 1 + .../negatively_fuzzed_09.json.errors | 1 + .../negatively_fuzzed_10.json.errors | 1 + .../symbol/negatively_fuzzed_01.json.errors | 1 + .../symbol/negatively_fuzzed_02.json.errors | 1 + .../symbol/negatively_fuzzed_03.json.errors | 1 + .../symbol/negatively_fuzzed_04.json.errors | 1 + .../symbol/negatively_fuzzed_05.json.errors | 1 + .../symbol/negatively_fuzzed_06.json.errors | 1 + .../symbol/negatively_fuzzed_07.json.errors | 1 + .../symbol/negatively_fuzzed_08.json.errors | 1 + .../symbol/negatively_fuzzed_09.json.errors | 1 + .../symbol/negatively_fuzzed_10.json.errors | 1 + .../unit/negatively_fuzzed_01.json.errors | 1 + .../unit/negatively_fuzzed_02.json.errors | 1 + .../unit/negatively_fuzzed_03.json.errors | 1 + .../unit/negatively_fuzzed_04.json.errors | 1 + .../unit/negatively_fuzzed_05.json.errors | 1 + .../unit/negatively_fuzzed_06.json.errors | 1 + .../unit/negatively_fuzzed_07.json.errors | 1 + .../unit/negatively_fuzzed_08.json.errors | 1 + .../unit/negatively_fuzzed_09.json.errors | 1 + .../unit/negatively_fuzzed_10.json.errors | 1 + .../value/negatively_fuzzed_01.json.errors | 1 + .../value/negatively_fuzzed_02.json.errors | 1 + .../value/negatively_fuzzed_03.json.errors | 1 + .../value/negatively_fuzzed_04.json.errors | 1 + .../value/negatively_fuzzed_05.json.errors | 1 + .../value/negatively_fuzzed_06.json.errors | 1 + .../value/negatively_fuzzed_07.json.errors | 1 + .../value/negatively_fuzzed_08.json.errors | 1 + .../value/negatively_fuzzed_09.json.errors | 1 + .../value/negatively_fuzzed_10.json.errors | 1 + .../negatively_fuzzed_01.json.errors | 1 + .../negatively_fuzzed_02.json.errors | 1 + .../negatively_fuzzed_03.json.errors | 1 + .../negatively_fuzzed_04.json.errors | 1 + .../negatively_fuzzed_05.json.errors | 1 + .../negatively_fuzzed_06.json.errors | 1 + .../negatively_fuzzed_07.json.errors | 1 + .../negatively_fuzzed_08.json.errors | 1 + .../negatively_fuzzed_09.json.errors | 1 + .../negatively_fuzzed_10.json.errors | 1 + .../category/negatively_fuzzed_01.json.errors | 1 + .../category/negatively_fuzzed_02.json.errors | 1 + .../category/negatively_fuzzed_03.json.errors | 1 + .../category/negatively_fuzzed_04.json.errors | 1 + .../category/negatively_fuzzed_05.json.errors | 1 + .../category/negatively_fuzzed_06.json.errors | 1 + .../category/negatively_fuzzed_07.json.errors | 1 + .../category/negatively_fuzzed_08.json.errors | 1 + .../category/negatively_fuzzed_09.json.errors | 1 + .../category/negatively_fuzzed_10.json.errors | 1 + .../negatively_fuzzed_01.json.errors | 1 + .../negatively_fuzzed_02.json.errors | 1 + .../negatively_fuzzed_03.json.errors | 1 + .../negatively_fuzzed_04.json.errors | 1 + .../negatively_fuzzed_05.json.errors | 1 + .../negatively_fuzzed_06.json.errors | 1 + .../negatively_fuzzed_07.json.errors | 1 + .../negatively_fuzzed_08.json.errors | 1 + .../negatively_fuzzed_09.json.errors | 1 + .../negatively_fuzzed_10.json.errors | 1 + .../idShort/negatively_fuzzed_01.json.errors | 1 + .../idShort/negatively_fuzzed_02.json.errors | 1 + .../idShort/negatively_fuzzed_03.json.errors | 2 + .../idShort/negatively_fuzzed_04.json.errors | 1 + .../idShort/negatively_fuzzed_05.json.errors | 1 + .../idShort/negatively_fuzzed_06.json.errors | 1 + .../idShort/negatively_fuzzed_07.json.errors | 2 + .../idShort/negatively_fuzzed_08.json.errors | 2 + .../idShort/negatively_fuzzed_09.json.errors | 2 + .../idShort/negatively_fuzzed_10.json.errors | 2 + .../date_time_with_UTC_and_suffix.json.errors | 2 + .../date_time_with_offset.json.errors | 2 + .../date_time_without_zone.json.errors | 2 + .../EventPayload/timeStamp/empty.json.errors | 2 + .../invalid_february_29th.json.errors | 1 + .../negatively_fuzzed_01.json.errors | 2 + .../negatively_fuzzed_02.json.errors | 2 + .../negatively_fuzzed_03.json.errors | 2 + .../negatively_fuzzed_04.json.errors | 2 + .../negatively_fuzzed_05.json.errors | 2 + .../negatively_fuzzed_06.json.errors | 2 + .../negatively_fuzzed_07.json.errors | 2 + .../negatively_fuzzed_08.json.errors | 2 + .../negatively_fuzzed_09.json.errors | 2 + .../negatively_fuzzed_10.json.errors | 2 + .../timeStamp/only_date.json.errors | 2 + .../only_date_with_time_zone.json.errors | 2 + .../timeStamp/without_minutes.json.errors | 2 + .../timeStamp/without_seconds.json.errors | 2 + .../topic/negatively_fuzzed_01.json.errors | 1 + .../topic/negatively_fuzzed_02.json.errors | 1 + .../topic/negatively_fuzzed_03.json.errors | 1 + .../topic/negatively_fuzzed_04.json.errors | 1 + .../topic/negatively_fuzzed_05.json.errors | 1 + .../topic/negatively_fuzzed_06.json.errors | 1 + .../topic/negatively_fuzzed_07.json.errors | 1 + .../topic/negatively_fuzzed_08.json.errors | 1 + .../topic/negatively_fuzzed_09.json.errors | 1 + .../topic/negatively_fuzzed_10.json.errors | 1 + .../name/negatively_fuzzed_01.json.errors | 1 + .../name/negatively_fuzzed_02.json.errors | 1 + .../name/negatively_fuzzed_03.json.errors | 1 + .../name/negatively_fuzzed_04.json.errors | 1 + .../name/negatively_fuzzed_05.json.errors | 1 + .../name/negatively_fuzzed_06.json.errors | 1 + .../name/negatively_fuzzed_07.json.errors | 1 + .../name/negatively_fuzzed_08.json.errors | 1 + .../name/negatively_fuzzed_09.json.errors | 1 + .../name/negatively_fuzzed_10.json.errors | 1 + .../category/negatively_fuzzed_01.json.errors | 1 + .../category/negatively_fuzzed_02.json.errors | 1 + .../category/negatively_fuzzed_03.json.errors | 1 + .../category/negatively_fuzzed_04.json.errors | 1 + .../category/negatively_fuzzed_05.json.errors | 1 + .../category/negatively_fuzzed_06.json.errors | 1 + .../category/negatively_fuzzed_07.json.errors | 1 + .../category/negatively_fuzzed_08.json.errors | 1 + .../category/negatively_fuzzed_09.json.errors | 1 + .../category/negatively_fuzzed_10.json.errors | 1 + .../File/contentType/empty.json.errors | 2 + .../negatively_fuzzed_01.json.errors | 2 + .../negatively_fuzzed_02.json.errors | 2 + .../negatively_fuzzed_03.json.errors | 1 + .../negatively_fuzzed_04.json.errors | 1 + .../negatively_fuzzed_05.json.errors | 1 + .../negatively_fuzzed_06.json.errors | 1 + .../negatively_fuzzed_07.json.errors | 1 + .../negatively_fuzzed_08.json.errors | 2 + .../negatively_fuzzed_09.json.errors | 1 + .../negatively_fuzzed_10.json.errors | 1 + .../File/contentType/number.json.errors | 1 + .../idShort/negatively_fuzzed_01.json.errors | 1 + .../idShort/negatively_fuzzed_02.json.errors | 1 + .../idShort/negatively_fuzzed_03.json.errors | 2 + .../idShort/negatively_fuzzed_04.json.errors | 1 + .../idShort/negatively_fuzzed_05.json.errors | 1 + .../idShort/negatively_fuzzed_06.json.errors | 1 + .../idShort/negatively_fuzzed_07.json.errors | 2 + .../idShort/negatively_fuzzed_08.json.errors | 2 + .../idShort/negatively_fuzzed_09.json.errors | 2 + .../idShort/negatively_fuzzed_10.json.errors | 2 + .../value/negatively_fuzzed_01.json.errors | 1 + .../value/negatively_fuzzed_02.json.errors | 1 + .../value/negatively_fuzzed_03.json.errors | 1 + .../value/negatively_fuzzed_04.json.errors | 2 + .../value/negatively_fuzzed_05.json.errors | 1 + .../value/negatively_fuzzed_06.json.errors | 1 + .../value/negatively_fuzzed_07.json.errors | 1 + .../value/negatively_fuzzed_08.json.errors | 1 + .../value/negatively_fuzzed_09.json.errors | 1 + .../value/negatively_fuzzed_10.json.errors | 1 + .../value/negatively_made_up_01.json.errors | 1 + .../value/negatively_made_up_02.json.errors | 1 + .../value/negatively_fuzzed_01.json.errors | 1 + .../value/negatively_fuzzed_02.json.errors | 1 + .../value/negatively_fuzzed_03.json.errors | 1 + .../value/negatively_fuzzed_04.json.errors | 1 + .../value/negatively_fuzzed_05.json.errors | 1 + .../value/negatively_fuzzed_06.json.errors | 1 + .../value/negatively_fuzzed_07.json.errors | 1 + .../value/negatively_fuzzed_08.json.errors | 1 + .../value/negatively_fuzzed_09.json.errors | 1 + .../value/negatively_fuzzed_10.json.errors | 1 + .../language/empty.json.errors | 1 + .../language/free_form_text.json.errors | 1 + .../language/negatively_fuzzed_01.json.errors | 1 + .../language/negatively_fuzzed_02.json.errors | 1 + .../language/negatively_fuzzed_03.json.errors | 1 + .../language/negatively_fuzzed_04.json.errors | 1 + .../language/negatively_fuzzed_05.json.errors | 1 + .../language/negatively_fuzzed_06.json.errors | 1 + .../language/negatively_fuzzed_07.json.errors | 1 + .../language/negatively_fuzzed_08.json.errors | 1 + .../language/negatively_fuzzed_09.json.errors | 1 + .../language/negatively_fuzzed_10.json.errors | 1 + .../text/negatively_fuzzed_01.json.errors | 1 + .../text/negatively_fuzzed_02.json.errors | 1 + .../text/negatively_fuzzed_03.json.errors | 1 + .../text/negatively_fuzzed_04.json.errors | 1 + .../text/negatively_fuzzed_05.json.errors | 1 + .../text/negatively_fuzzed_06.json.errors | 1 + .../text/negatively_fuzzed_07.json.errors | 1 + .../text/negatively_fuzzed_08.json.errors | 1 + .../text/negatively_fuzzed_09.json.errors | 1 + .../text/negatively_fuzzed_10.json.errors | 1 + .../language/empty.json.errors | 1 + .../language/free_form_text.json.errors | 1 + .../language/negatively_fuzzed_01.json.errors | 1 + .../language/negatively_fuzzed_02.json.errors | 1 + .../language/negatively_fuzzed_03.json.errors | 1 + .../language/negatively_fuzzed_04.json.errors | 1 + .../language/negatively_fuzzed_05.json.errors | 1 + .../language/negatively_fuzzed_06.json.errors | 1 + .../language/negatively_fuzzed_07.json.errors | 1 + .../language/negatively_fuzzed_08.json.errors | 1 + .../language/negatively_fuzzed_09.json.errors | 1 + .../language/negatively_fuzzed_10.json.errors | 1 + .../text/negatively_fuzzed_01.json.errors | 1 + .../text/negatively_fuzzed_02.json.errors | 1 + .../text/negatively_fuzzed_03.json.errors | 1 + .../text/negatively_fuzzed_04.json.errors | 1 + .../text/negatively_fuzzed_05.json.errors | 1 + .../text/negatively_fuzzed_06.json.errors | 1 + .../text/negatively_fuzzed_07.json.errors | 1 + .../text/negatively_fuzzed_08.json.errors | 1 + .../text/negatively_fuzzed_09.json.errors | 1 + .../text/negatively_fuzzed_10.json.errors | 1 + .../language/empty.json.errors | 1 + .../language/free_form_text.json.errors | 1 + .../language/negatively_fuzzed_01.json.errors | 1 + .../language/negatively_fuzzed_02.json.errors | 1 + .../language/negatively_fuzzed_03.json.errors | 1 + .../language/negatively_fuzzed_04.json.errors | 1 + .../language/negatively_fuzzed_05.json.errors | 1 + .../language/negatively_fuzzed_06.json.errors | 1 + .../language/negatively_fuzzed_07.json.errors | 1 + .../language/negatively_fuzzed_08.json.errors | 1 + .../language/negatively_fuzzed_09.json.errors | 1 + .../language/negatively_fuzzed_10.json.errors | 1 + .../text/negatively_fuzzed_01.json.errors | 1 + .../text/negatively_fuzzed_02.json.errors | 1 + .../text/negatively_fuzzed_03.json.errors | 1 + .../text/negatively_fuzzed_04.json.errors | 1 + .../text/negatively_fuzzed_05.json.errors | 1 + .../text/negatively_fuzzed_06.json.errors | 1 + .../text/negatively_fuzzed_07.json.errors | 1 + .../text/negatively_fuzzed_08.json.errors | 1 + .../text/negatively_fuzzed_09.json.errors | 1 + .../text/negatively_fuzzed_10.json.errors | 1 + .../language/empty.json.errors | 1 + .../language/free_form_text.json.errors | 1 + .../language/negatively_fuzzed_01.json.errors | 1 + .../language/negatively_fuzzed_02.json.errors | 1 + .../language/negatively_fuzzed_03.json.errors | 1 + .../language/negatively_fuzzed_04.json.errors | 1 + .../language/negatively_fuzzed_05.json.errors | 1 + .../language/negatively_fuzzed_06.json.errors | 1 + .../language/negatively_fuzzed_07.json.errors | 1 + .../language/negatively_fuzzed_08.json.errors | 1 + .../language/negatively_fuzzed_09.json.errors | 1 + .../language/negatively_fuzzed_10.json.errors | 1 + .../text/negatively_fuzzed_01.json.errors | 1 + .../text/negatively_fuzzed_02.json.errors | 1 + .../text/negatively_fuzzed_03.json.errors | 1 + .../text/negatively_fuzzed_04.json.errors | 1 + .../text/negatively_fuzzed_05.json.errors | 1 + .../text/negatively_fuzzed_06.json.errors | 1 + .../text/negatively_fuzzed_07.json.errors | 1 + .../text/negatively_fuzzed_08.json.errors | 1 + .../text/negatively_fuzzed_09.json.errors | 1 + .../text/negatively_fuzzed_10.json.errors | 1 + .../language/empty.json.errors | 1 + .../language/free_form_text.json.errors | 1 + .../language/negatively_fuzzed_01.json.errors | 1 + .../language/negatively_fuzzed_02.json.errors | 1 + .../language/negatively_fuzzed_03.json.errors | 1 + .../language/negatively_fuzzed_04.json.errors | 1 + .../language/negatively_fuzzed_05.json.errors | 1 + .../language/negatively_fuzzed_06.json.errors | 1 + .../language/negatively_fuzzed_07.json.errors | 1 + .../language/negatively_fuzzed_08.json.errors | 1 + .../language/negatively_fuzzed_09.json.errors | 1 + .../language/negatively_fuzzed_10.json.errors | 1 + .../text/negatively_fuzzed_01.json.errors | 1 + .../text/negatively_fuzzed_02.json.errors | 1 + .../text/negatively_fuzzed_03.json.errors | 1 + .../text/negatively_fuzzed_04.json.errors | 1 + .../text/negatively_fuzzed_05.json.errors | 1 + .../text/negatively_fuzzed_06.json.errors | 1 + .../text/negatively_fuzzed_07.json.errors | 1 + .../text/negatively_fuzzed_08.json.errors | 1 + .../text/negatively_fuzzed_09.json.errors | 1 + .../text/negatively_fuzzed_10.json.errors | 1 + .../category/negatively_fuzzed_01.json.errors | 1 + .../category/negatively_fuzzed_02.json.errors | 1 + .../category/negatively_fuzzed_03.json.errors | 1 + .../category/negatively_fuzzed_04.json.errors | 1 + .../category/negatively_fuzzed_05.json.errors | 1 + .../category/negatively_fuzzed_06.json.errors | 1 + .../category/negatively_fuzzed_07.json.errors | 1 + .../category/negatively_fuzzed_08.json.errors | 1 + .../category/negatively_fuzzed_09.json.errors | 1 + .../category/negatively_fuzzed_10.json.errors | 1 + .../idShort/negatively_fuzzed_01.json.errors | 1 + .../idShort/negatively_fuzzed_02.json.errors | 1 + .../idShort/negatively_fuzzed_03.json.errors | 2 + .../idShort/negatively_fuzzed_04.json.errors | 1 + .../idShort/negatively_fuzzed_05.json.errors | 1 + .../idShort/negatively_fuzzed_06.json.errors | 1 + .../idShort/negatively_fuzzed_07.json.errors | 2 + .../idShort/negatively_fuzzed_08.json.errors | 2 + .../idShort/negatively_fuzzed_09.json.errors | 2 + .../idShort/negatively_fuzzed_10.json.errors | 2 + .../category/negatively_fuzzed_01.json.errors | 1 + .../category/negatively_fuzzed_02.json.errors | 1 + .../category/negatively_fuzzed_03.json.errors | 1 + .../category/negatively_fuzzed_04.json.errors | 1 + .../category/negatively_fuzzed_05.json.errors | 1 + .../category/negatively_fuzzed_06.json.errors | 1 + .../category/negatively_fuzzed_07.json.errors | 1 + .../category/negatively_fuzzed_08.json.errors | 1 + .../category/negatively_fuzzed_09.json.errors | 1 + .../category/negatively_fuzzed_10.json.errors | 1 + .../idShort/negatively_fuzzed_01.json.errors | 1 + .../idShort/negatively_fuzzed_02.json.errors | 1 + .../idShort/negatively_fuzzed_03.json.errors | 2 + .../idShort/negatively_fuzzed_04.json.errors | 1 + .../idShort/negatively_fuzzed_05.json.errors | 1 + .../idShort/negatively_fuzzed_06.json.errors | 1 + .../idShort/negatively_fuzzed_07.json.errors | 2 + .../idShort/negatively_fuzzed_08.json.errors | 2 + .../idShort/negatively_fuzzed_09.json.errors | 2 + .../idShort/negatively_fuzzed_10.json.errors | 2 + .../category/negatively_fuzzed_01.json.errors | 1 + .../category/negatively_fuzzed_02.json.errors | 1 + .../category/negatively_fuzzed_03.json.errors | 1 + .../category/negatively_fuzzed_04.json.errors | 1 + .../category/negatively_fuzzed_05.json.errors | 1 + .../category/negatively_fuzzed_06.json.errors | 1 + .../category/negatively_fuzzed_07.json.errors | 1 + .../category/negatively_fuzzed_08.json.errors | 1 + .../category/negatively_fuzzed_09.json.errors | 1 + .../category/negatively_fuzzed_10.json.errors | 1 + .../idShort/negatively_fuzzed_01.json.errors | 1 + .../idShort/negatively_fuzzed_02.json.errors | 1 + .../idShort/negatively_fuzzed_03.json.errors | 2 + .../idShort/negatively_fuzzed_04.json.errors | 1 + .../idShort/negatively_fuzzed_05.json.errors | 1 + .../idShort/negatively_fuzzed_06.json.errors | 1 + .../idShort/negatively_fuzzed_07.json.errors | 2 + .../idShort/negatively_fuzzed_08.json.errors | 2 + .../idShort/negatively_fuzzed_09.json.errors | 2 + .../idShort/negatively_fuzzed_10.json.errors | 2 + .../type/negatively_fuzzed_01.json.errors | 1 + .../type/negatively_fuzzed_02.json.errors | 1 + .../type/negatively_fuzzed_03.json.errors | 1 + .../type/negatively_fuzzed_04.json.errors | 1 + .../type/negatively_fuzzed_05.json.errors | 1 + .../type/negatively_fuzzed_06.json.errors | 1 + .../type/negatively_fuzzed_07.json.errors | 1 + .../type/negatively_fuzzed_08.json.errors | 1 + .../type/negatively_fuzzed_09.json.errors | 1 + .../type/negatively_fuzzed_10.json.errors | 1 + .../category/negatively_fuzzed_01.json.errors | 1 + .../category/negatively_fuzzed_02.json.errors | 1 + .../category/negatively_fuzzed_03.json.errors | 1 + .../category/negatively_fuzzed_04.json.errors | 1 + .../category/negatively_fuzzed_05.json.errors | 1 + .../category/negatively_fuzzed_06.json.errors | 1 + .../category/negatively_fuzzed_07.json.errors | 1 + .../category/negatively_fuzzed_08.json.errors | 1 + .../category/negatively_fuzzed_09.json.errors | 1 + .../category/negatively_fuzzed_10.json.errors | 1 + .../idShort/negatively_fuzzed_01.json.errors | 1 + .../idShort/negatively_fuzzed_02.json.errors | 1 + .../idShort/negatively_fuzzed_03.json.errors | 2 + .../idShort/negatively_fuzzed_04.json.errors | 1 + .../idShort/negatively_fuzzed_05.json.errors | 1 + .../idShort/negatively_fuzzed_06.json.errors | 1 + .../idShort/negatively_fuzzed_07.json.errors | 2 + .../idShort/negatively_fuzzed_08.json.errors | 2 + .../idShort/negatively_fuzzed_09.json.errors | 2 + .../idShort/negatively_fuzzed_10.json.errors | 2 + .../category/negatively_fuzzed_01.json.errors | 1 + .../category/negatively_fuzzed_02.json.errors | 1 + .../category/negatively_fuzzed_03.json.errors | 1 + .../category/negatively_fuzzed_04.json.errors | 1 + .../category/negatively_fuzzed_05.json.errors | 1 + .../category/negatively_fuzzed_06.json.errors | 1 + .../category/negatively_fuzzed_07.json.errors | 1 + .../category/negatively_fuzzed_08.json.errors | 1 + .../category/negatively_fuzzed_09.json.errors | 1 + .../category/negatively_fuzzed_10.json.errors | 1 + .../idShort/negatively_fuzzed_01.json.errors | 1 + .../idShort/negatively_fuzzed_02.json.errors | 1 + .../idShort/negatively_fuzzed_03.json.errors | 2 + .../idShort/negatively_fuzzed_04.json.errors | 1 + .../idShort/negatively_fuzzed_05.json.errors | 1 + .../idShort/negatively_fuzzed_06.json.errors | 1 + .../idShort/negatively_fuzzed_07.json.errors | 2 + .../idShort/negatively_fuzzed_08.json.errors | 2 + .../idShort/negatively_fuzzed_09.json.errors | 2 + .../idShort/negatively_fuzzed_10.json.errors | 2 + .../category/negatively_fuzzed_01.json.errors | 1 + .../category/negatively_fuzzed_02.json.errors | 1 + .../category/negatively_fuzzed_03.json.errors | 1 + .../category/negatively_fuzzed_04.json.errors | 1 + .../category/negatively_fuzzed_05.json.errors | 1 + .../category/negatively_fuzzed_06.json.errors | 1 + .../category/negatively_fuzzed_07.json.errors | 1 + .../category/negatively_fuzzed_08.json.errors | 1 + .../category/negatively_fuzzed_09.json.errors | 1 + .../category/negatively_fuzzed_10.json.errors | 1 + .../idShort/negatively_fuzzed_01.json.errors | 1 + .../idShort/negatively_fuzzed_02.json.errors | 1 + .../idShort/negatively_fuzzed_03.json.errors | 2 + .../idShort/negatively_fuzzed_04.json.errors | 1 + .../idShort/negatively_fuzzed_05.json.errors | 1 + .../idShort/negatively_fuzzed_06.json.errors | 1 + .../idShort/negatively_fuzzed_07.json.errors | 2 + .../idShort/negatively_fuzzed_08.json.errors | 2 + .../idShort/negatively_fuzzed_09.json.errors | 2 + .../idShort/negatively_fuzzed_10.json.errors | 2 + .../Resource/contentType/empty.json.errors | 2 + .../negatively_fuzzed_01.json.errors | 2 + .../negatively_fuzzed_02.json.errors | 2 + .../negatively_fuzzed_03.json.errors | 1 + .../negatively_fuzzed_04.json.errors | 1 + .../negatively_fuzzed_05.json.errors | 1 + .../negatively_fuzzed_06.json.errors | 1 + .../negatively_fuzzed_07.json.errors | 1 + .../negatively_fuzzed_08.json.errors | 2 + .../negatively_fuzzed_09.json.errors | 1 + .../negatively_fuzzed_10.json.errors | 1 + .../Resource/contentType/number.json.errors | 1 + .../path/negatively_fuzzed_01.json.errors | 1 + .../path/negatively_fuzzed_02.json.errors | 1 + .../path/negatively_fuzzed_03.json.errors | 1 + .../path/negatively_fuzzed_04.json.errors | 2 + .../path/negatively_fuzzed_05.json.errors | 1 + .../path/negatively_fuzzed_06.json.errors | 1 + .../path/negatively_fuzzed_07.json.errors | 1 + .../path/negatively_fuzzed_08.json.errors | 1 + .../path/negatively_fuzzed_09.json.errors | 1 + .../path/negatively_fuzzed_10.json.errors | 1 + .../path/negatively_made_up_01.json.errors | 1 + .../path/negatively_made_up_02.json.errors | 1 + .../name/negatively_fuzzed_01.json.errors | 1 + .../name/negatively_fuzzed_02.json.errors | 1 + .../name/negatively_fuzzed_03.json.errors | 1 + .../name/negatively_fuzzed_04.json.errors | 1 + .../name/negatively_fuzzed_05.json.errors | 1 + .../name/negatively_fuzzed_06.json.errors | 1 + .../name/negatively_fuzzed_07.json.errors | 1 + .../name/negatively_fuzzed_08.json.errors | 1 + .../name/negatively_fuzzed_09.json.errors | 1 + .../name/negatively_fuzzed_10.json.errors | 1 + .../value/negatively_fuzzed_01.json.errors | 1 + .../value/negatively_fuzzed_02.json.errors | 1 + .../value/negatively_fuzzed_03.json.errors | 1 + .../value/negatively_fuzzed_04.json.errors | 1 + .../value/negatively_fuzzed_05.json.errors | 1 + .../value/negatively_fuzzed_06.json.errors | 1 + .../value/negatively_fuzzed_07.json.errors | 1 + .../value/negatively_fuzzed_08.json.errors | 1 + .../value/negatively_fuzzed_09.json.errors | 1 + .../value/negatively_fuzzed_10.json.errors | 1 + .../category/negatively_fuzzed_01.json.errors | 1 + .../category/negatively_fuzzed_02.json.errors | 1 + .../category/negatively_fuzzed_03.json.errors | 1 + .../category/negatively_fuzzed_04.json.errors | 1 + .../category/negatively_fuzzed_05.json.errors | 1 + .../category/negatively_fuzzed_06.json.errors | 1 + .../category/negatively_fuzzed_07.json.errors | 1 + .../category/negatively_fuzzed_08.json.errors | 1 + .../category/negatively_fuzzed_09.json.errors | 1 + .../category/negatively_fuzzed_10.json.errors | 1 + .../id/negatively_fuzzed_01.json.errors | 1 + .../id/negatively_fuzzed_02.json.errors | 1 + .../id/negatively_fuzzed_03.json.errors | 1 + .../id/negatively_fuzzed_04.json.errors | 1 + .../id/negatively_fuzzed_05.json.errors | 1 + .../id/negatively_fuzzed_06.json.errors | 1 + .../id/negatively_fuzzed_07.json.errors | 1 + .../id/negatively_fuzzed_08.json.errors | 1 + .../id/negatively_fuzzed_09.json.errors | 1 + .../id/negatively_fuzzed_10.json.errors | 1 + .../idShort/negatively_fuzzed_01.json.errors | 1 + .../idShort/negatively_fuzzed_02.json.errors | 1 + .../idShort/negatively_fuzzed_03.json.errors | 2 + .../idShort/negatively_fuzzed_04.json.errors | 1 + .../idShort/negatively_fuzzed_05.json.errors | 1 + .../idShort/negatively_fuzzed_06.json.errors | 1 + .../idShort/negatively_fuzzed_07.json.errors | 2 + .../idShort/negatively_fuzzed_08.json.errors | 2 + .../idShort/negatively_fuzzed_09.json.errors | 2 + .../idShort/negatively_fuzzed_10.json.errors | 2 + .../category/negatively_fuzzed_01.json.errors | 1 + .../category/negatively_fuzzed_02.json.errors | 1 + .../category/negatively_fuzzed_03.json.errors | 1 + .../category/negatively_fuzzed_04.json.errors | 1 + .../category/negatively_fuzzed_05.json.errors | 1 + .../category/negatively_fuzzed_06.json.errors | 1 + .../category/negatively_fuzzed_07.json.errors | 1 + .../category/negatively_fuzzed_08.json.errors | 1 + .../category/negatively_fuzzed_09.json.errors | 1 + .../category/negatively_fuzzed_10.json.errors | 1 + .../idShort/negatively_fuzzed_01.json.errors | 1 + .../idShort/negatively_fuzzed_02.json.errors | 1 + .../idShort/negatively_fuzzed_03.json.errors | 2 + .../idShort/negatively_fuzzed_04.json.errors | 1 + .../idShort/negatively_fuzzed_05.json.errors | 1 + .../idShort/negatively_fuzzed_06.json.errors | 1 + .../idShort/negatively_fuzzed_07.json.errors | 2 + .../idShort/negatively_fuzzed_08.json.errors | 2 + .../idShort/negatively_fuzzed_09.json.errors | 2 + .../idShort/negatively_fuzzed_10.json.errors | 2 + .../category/negatively_fuzzed_01.json.errors | 1 + .../category/negatively_fuzzed_02.json.errors | 1 + .../category/negatively_fuzzed_03.json.errors | 1 + .../category/negatively_fuzzed_04.json.errors | 1 + .../category/negatively_fuzzed_05.json.errors | 1 + .../category/negatively_fuzzed_06.json.errors | 1 + .../category/negatively_fuzzed_07.json.errors | 1 + .../category/negatively_fuzzed_08.json.errors | 1 + .../category/negatively_fuzzed_09.json.errors | 1 + .../category/negatively_fuzzed_10.json.errors | 1 + .../idShort/negatively_fuzzed_01.json.errors | 1 + .../idShort/negatively_fuzzed_02.json.errors | 1 + .../idShort/negatively_fuzzed_03.json.errors | 2 + .../idShort/negatively_fuzzed_04.json.errors | 1 + .../idShort/negatively_fuzzed_05.json.errors | 1 + .../idShort/negatively_fuzzed_06.json.errors | 1 + .../idShort/negatively_fuzzed_07.json.errors | 2 + .../idShort/negatively_fuzzed_08.json.errors | 2 + .../idShort/negatively_fuzzed_09.json.errors | 2 + .../idShort/negatively_fuzzed_10.json.errors | 2 + .../value/negatively_fuzzed_01.json.errors | 1 + .../value/negatively_fuzzed_02.json.errors | 1 + .../value/negatively_fuzzed_03.json.errors | 1 + .../value/negatively_fuzzed_04.json.errors | 1 + .../value/negatively_fuzzed_05.json.errors | 1 + .../value/negatively_fuzzed_06.json.errors | 1 + .../value/negatively_fuzzed_07.json.errors | 1 + .../value/negatively_fuzzed_08.json.errors | 1 + .../value/negatively_fuzzed_09.json.errors | 1 + .../value/negatively_fuzzed_10.json.errors | 1 + .../fuzzed_01.xml | 3 + .../fuzzed_02.xml | 3 + .../fuzzed_03.xml | 3 + .../midnight_with_24_hours.xml | 3 + .../midnight_with_zeros.xml | 3 + .../minus_zero_offset.xml | 3 + .../plus_zero_offset.xml | 3 + .../random_positive.xml | 3 + .../very_large_year.xml | 3 + .../very_long_fractional_second.xml | 3 + .../year_1_bce_is_a_leap_year.xml | 3 + .../year_5_bce_is_a_leap_year.xml | 3 + .../administrativeInformation/maximal.xml | 72 + .../administrativeInformation/minimal.xml | 1 + .../four_digits.xml | 4 + .../revisionOverPatternExamples/fuzzed_01.xml | 4 + .../revisionOverPatternExamples/fuzzed_02.xml | 4 + .../revisionOverPatternExamples/fuzzed_03.xml | 4 + .../revisionOverPatternExamples/fuzzed_04.xml | 4 + .../revisionOverPatternExamples/one.xml | 4 + .../three_digits.xml | 4 + .../two_digits.xml | 4 + .../revisionOverPatternExamples/zero.xml | 4 + .../fuzzed_01.xml | 3 + .../fuzzed_02.xml | 3 + .../fuzzed_03.xml | 3 + .../fuzzed_04.xml | 3 + .../fuzzed_05.xml | 3 + .../fuzzed_06.xml | 3 + .../fuzzed_07.xml | 3 + .../fuzzed_08.xml | 3 + .../fuzzed_09.xml | 3 + .../fuzzed_10.xml | 3 + .../fuzzed_01.xml | 3 + .../fuzzed_02.xml | 3 + .../fuzzed_03.xml | 3 + .../midnight_with_24_hours.xml | 3 + .../midnight_with_zeros.xml | 3 + .../minus_zero_offset.xml | 3 + .../plus_zero_offset.xml | 3 + .../random_positive.xml | 3 + .../very_large_year.xml | 3 + .../very_long_fractional_second.xml | 3 + .../year_1_bce_is_a_leap_year.xml | 3 + .../year_5_bce_is_a_leap_year.xml | 3 + .../four_digits.xml | 3 + .../versionOverPatternExamples/fuzzed_01.xml | 3 + .../versionOverPatternExamples/fuzzed_02.xml | 3 + .../versionOverPatternExamples/fuzzed_03.xml | 3 + .../versionOverPatternExamples/fuzzed_04.xml | 3 + .../versionOverPatternExamples/one.xml | 3 + .../three_digits.xml | 3 + .../versionOverPatternExamples/two_digits.xml | 3 + .../versionOverPatternExamples/zero.xml | 3 + .../categoryOverPatternExamples/fuzzed_01.xml | 3 + .../categoryOverPatternExamples/fuzzed_02.xml | 3 + .../categoryOverPatternExamples/fuzzed_03.xml | 3 + .../categoryOverPatternExamples/fuzzed_04.xml | 3 + .../categoryOverPatternExamples/fuzzed_05.xml | 3 + .../categoryOverPatternExamples/fuzzed_06.xml | 3 + .../categoryOverPatternExamples/fuzzed_07.xml | 3 + .../categoryOverPatternExamples/fuzzed_08.xml | 3 + .../categoryOverPatternExamples/fuzzed_09.xml | 3 + .../categoryOverPatternExamples/fuzzed_10.xml | 3 + .../alternating_hyphen_underscore.xml | 3 + .../ends_with_underscore.xml | 3 + .../idShortOverPatternExamples/fuzzed_01.xml | 3 + .../idShortOverPatternExamples/fuzzed_02.xml | 3 + .../idShortOverPatternExamples/fuzzed_03.xml | 3 + .../idShortOverPatternExamples/fuzzed_04.xml | 3 + .../idShortOverPatternExamples/fuzzed_05.xml | 3 + .../idShortOverPatternExamples/fuzzed_06.xml | 3 + .../idShortOverPatternExamples/fuzzed_07.xml | 3 + .../idShortOverPatternExamples/fuzzed_08.xml | 3 + .../idShortOverPatternExamples/fuzzed_09.xml | 3 + .../idShortOverPatternExamples/fuzzed_10.xml | 3 + .../hyphen_then_underscore.xml | 3 + .../many_internal_hyphens.xml | 3 + .../many_underscores.xml | 3 + .../minimal_digit.xml | 3 + .../minimal_lower.xml | 3 + .../minimal_underscore.xml | 3 + .../minimal_upper.xml | 3 + .../single_internal_hyphen.xml | 3 + .../underscore_after_first.xml | 3 + .../annotatedRelationshipElement/maximal.xml | 166 + .../annotatedRelationshipElement/minimal.xml | 1 + .../categoryOverPatternExamples/fuzzed_01.xml | 8 + .../categoryOverPatternExamples/fuzzed_02.xml | 8 + .../categoryOverPatternExamples/fuzzed_03.xml | 8 + .../categoryOverPatternExamples/fuzzed_04.xml | 8 + .../categoryOverPatternExamples/fuzzed_05.xml | 8 + .../categoryOverPatternExamples/fuzzed_06.xml | 8 + .../categoryOverPatternExamples/fuzzed_07.xml | 8 + .../categoryOverPatternExamples/fuzzed_08.xml | 8 + .../categoryOverPatternExamples/fuzzed_09.xml | 8 + .../categoryOverPatternExamples/fuzzed_10.xml | 8 + .../idOverPatternExamples/fuzzed_01.xml | 7 + .../idOverPatternExamples/fuzzed_02.xml | 7 + .../idOverPatternExamples/fuzzed_03.xml | 7 + .../idOverPatternExamples/fuzzed_04.xml | 7 + .../idOverPatternExamples/fuzzed_05.xml | 7 + .../idOverPatternExamples/fuzzed_06.xml | 7 + .../idOverPatternExamples/fuzzed_07.xml | 7 + .../idOverPatternExamples/fuzzed_08.xml | 7 + .../idOverPatternExamples/fuzzed_09.xml | 7 + .../idOverPatternExamples/fuzzed_10.xml | 7 + .../alternating_hyphen_underscore.xml | 8 + .../ends_with_underscore.xml | 8 + .../idShortOverPatternExamples/fuzzed_01.xml | 8 + .../idShortOverPatternExamples/fuzzed_02.xml | 8 + .../idShortOverPatternExamples/fuzzed_03.xml | 8 + .../idShortOverPatternExamples/fuzzed_04.xml | 8 + .../idShortOverPatternExamples/fuzzed_05.xml | 8 + .../idShortOverPatternExamples/fuzzed_06.xml | 8 + .../idShortOverPatternExamples/fuzzed_07.xml | 8 + .../idShortOverPatternExamples/fuzzed_08.xml | 8 + .../idShortOverPatternExamples/fuzzed_09.xml | 8 + .../idShortOverPatternExamples/fuzzed_10.xml | 8 + .../hyphen_then_underscore.xml | 8 + .../many_internal_hyphens.xml | 8 + .../many_underscores.xml | 8 + .../minimal_digit.xml | 8 + .../minimal_lower.xml | 8 + .../minimal_underscore.xml | 8 + .../minimal_upper.xml | 8 + .../single_internal_hyphen.xml | 8 + .../underscore_after_first.xml | 8 + .../assetAdministrationShell/maximal.xml | 123 + .../assetAdministrationShell/minimal.xml | 7 + .../fuzzed_01.xml | 5 + .../fuzzed_02.xml | 5 + .../fuzzed_03.xml | 5 + .../fuzzed_04.xml | 5 + .../fuzzed_05.xml | 5 + .../fuzzed_06.xml | 5 + .../fuzzed_07.xml | 5 + .../fuzzed_08.xml | 5 + .../fuzzed_09.xml | 5 + .../fuzzed_10.xml | 5 + .../fuzzed_01.xml | 4 + .../fuzzed_02.xml | 4 + .../fuzzed_03.xml | 4 + .../fuzzed_04.xml | 4 + .../fuzzed_05.xml | 4 + .../fuzzed_06.xml | 4 + .../fuzzed_07.xml | 4 + .../fuzzed_08.xml | 4 + .../fuzzed_09.xml | 4 + .../fuzzed_10.xml | 4 + .../Xml/Expected/assetInformation/maximal.xml | 22 + .../Xml/Expected/assetInformation/minimal.xml | 4 + .../categoryOverPatternExamples/fuzzed_01.xml | 18 + .../categoryOverPatternExamples/fuzzed_02.xml | 18 + .../categoryOverPatternExamples/fuzzed_03.xml | 18 + .../categoryOverPatternExamples/fuzzed_04.xml | 18 + .../categoryOverPatternExamples/fuzzed_05.xml | 18 + .../categoryOverPatternExamples/fuzzed_06.xml | 18 + .../categoryOverPatternExamples/fuzzed_07.xml | 18 + .../categoryOverPatternExamples/fuzzed_08.xml | 18 + .../categoryOverPatternExamples/fuzzed_09.xml | 18 + .../categoryOverPatternExamples/fuzzed_10.xml | 18 + .../alternating_hyphen_underscore.xml | 18 + .../ends_with_underscore.xml | 18 + .../idShortOverPatternExamples/fuzzed_01.xml | 18 + .../idShortOverPatternExamples/fuzzed_02.xml | 18 + .../idShortOverPatternExamples/fuzzed_03.xml | 18 + .../idShortOverPatternExamples/fuzzed_04.xml | 18 + .../idShortOverPatternExamples/fuzzed_05.xml | 18 + .../idShortOverPatternExamples/fuzzed_06.xml | 18 + .../idShortOverPatternExamples/fuzzed_07.xml | 18 + .../idShortOverPatternExamples/fuzzed_08.xml | 18 + .../idShortOverPatternExamples/fuzzed_09.xml | 18 + .../idShortOverPatternExamples/fuzzed_10.xml | 18 + .../hyphen_then_underscore.xml | 18 + .../many_internal_hyphens.xml | 18 + .../many_underscores.xml | 18 + .../minimal_digit.xml | 18 + .../minimal_lower.xml | 18 + .../minimal_underscore.xml | 18 + .../minimal_upper.xml | 18 + .../single_internal_hyphen.xml | 18 + .../underscore_after_first.xml | 18 + .../fuzzed_01.xml | 18 + .../fuzzed_02.xml | 18 + .../fuzzed_03.xml | 18 + .../midnight_with_24_hours.xml | 18 + .../midnight_with_zeros.xml | 18 + .../minus_zero_offset.xml | 18 + .../plus_zero_offset.xml | 18 + .../random_positive.xml | 18 + .../very_large_year.xml | 18 + .../very_long_fractional_second.xml | 18 + .../year_1_bce_is_a_leap_year.xml | 18 + .../year_5_bce_is_a_leap_year.xml | 18 + .../day_seconds.xml | 18 + .../maxIntervalOverPatternExamples/full.xml | 18 + .../fuzzed_01.xml | 18 + .../fuzzed_02.xml | 18 + .../fuzzed_03.xml | 18 + .../fuzzed_04.xml | 18 + .../fuzzed_05.xml | 18 + .../fuzzed_06.xml | 18 + .../fuzzed_07.xml | 18 + .../fuzzed_08.xml | 18 + .../fuzzed_09.xml | 18 + .../fuzzed_10.xml | 18 + .../long_second_fractal.xml | 18 + .../many_many_seconds.xml | 18 + .../month_seconds.xml | 18 + .../only_seconds.xml | 18 + .../only_year.xml | 18 + .../Expected/basicEventElement/maximal.xml | 172 + .../fuzzed_01.xml | 18 + .../fuzzed_02.xml | 18 + .../fuzzed_03.xml | 18 + .../fuzzed_04.xml | 18 + .../fuzzed_05.xml | 18 + .../fuzzed_06.xml | 18 + .../fuzzed_07.xml | 18 + .../fuzzed_08.xml | 18 + .../fuzzed_09.xml | 18 + .../fuzzed_10.xml | 18 + .../day_seconds.xml | 18 + .../minIntervalOverPatternExamples/full.xml | 18 + .../fuzzed_01.xml | 18 + .../fuzzed_02.xml | 18 + .../fuzzed_03.xml | 18 + .../fuzzed_04.xml | 18 + .../fuzzed_05.xml | 18 + .../fuzzed_06.xml | 18 + .../fuzzed_07.xml | 18 + .../fuzzed_08.xml | 18 + .../fuzzed_09.xml | 18 + .../fuzzed_10.xml | 18 + .../long_second_fractal.xml | 18 + .../many_many_seconds.xml | 18 + .../month_seconds.xml | 18 + .../only_seconds.xml | 18 + .../only_year.xml | 18 + .../Expected/basicEventElement/minimal.xml | 17 + .../categoryOverPatternExamples/fuzzed_01.xml | 3 + .../categoryOverPatternExamples/fuzzed_02.xml | 3 + .../categoryOverPatternExamples/fuzzed_03.xml | 3 + .../categoryOverPatternExamples/fuzzed_04.xml | 3 + .../categoryOverPatternExamples/fuzzed_05.xml | 3 + .../categoryOverPatternExamples/fuzzed_06.xml | 3 + .../categoryOverPatternExamples/fuzzed_07.xml | 3 + .../categoryOverPatternExamples/fuzzed_08.xml | 3 + .../categoryOverPatternExamples/fuzzed_09.xml | 3 + .../categoryOverPatternExamples/fuzzed_10.xml | 3 + .../contentTypeOverPatternExamples/dash.xml | 3 + .../contentTypeOverPatternExamples/dots.xml | 3 + .../fuzzed_01.xml | 3 + .../fuzzed_02.xml | 3 + .../fuzzed_03.xml | 3 + .../number prefix and suffix.xml | 3 + .../only_letters.xml | 3 + .../contentTypeOverPatternExamples/plus.xml | 3 + .../random_common_MIME_type.xml | 3 + .../alternating_hyphen_underscore.xml | 3 + .../ends_with_underscore.xml | 3 + .../idShortOverPatternExamples/fuzzed_01.xml | 3 + .../idShortOverPatternExamples/fuzzed_02.xml | 3 + .../idShortOverPatternExamples/fuzzed_03.xml | 3 + .../idShortOverPatternExamples/fuzzed_04.xml | 3 + .../idShortOverPatternExamples/fuzzed_05.xml | 3 + .../idShortOverPatternExamples/fuzzed_06.xml | 3 + .../idShortOverPatternExamples/fuzzed_07.xml | 3 + .../idShortOverPatternExamples/fuzzed_08.xml | 3 + .../idShortOverPatternExamples/fuzzed_09.xml | 3 + .../idShortOverPatternExamples/fuzzed_10.xml | 3 + .../hyphen_then_underscore.xml | 3 + .../many_internal_hyphens.xml | 3 + .../many_underscores.xml | 3 + .../minimal_digit.xml | 3 + .../minimal_lower.xml | 3 + .../minimal_underscore.xml | 3 + .../minimal_upper.xml | 3 + .../single_internal_hyphen.xml | 3 + .../underscore_after_first.xml | 3 + dev/test_data/Xml/Expected/blob/maximal.xml | 142 + dev/test_data/Xml/Expected/blob/minimal.xml | 1 + .../categoryOverPatternExamples/fuzzed_01.xml | 3 + .../categoryOverPatternExamples/fuzzed_02.xml | 3 + .../categoryOverPatternExamples/fuzzed_03.xml | 3 + .../categoryOverPatternExamples/fuzzed_04.xml | 3 + .../categoryOverPatternExamples/fuzzed_05.xml | 3 + .../categoryOverPatternExamples/fuzzed_06.xml | 3 + .../categoryOverPatternExamples/fuzzed_07.xml | 3 + .../categoryOverPatternExamples/fuzzed_08.xml | 3 + .../categoryOverPatternExamples/fuzzed_09.xml | 3 + .../categoryOverPatternExamples/fuzzed_10.xml | 3 + .../alternating_hyphen_underscore.xml | 3 + .../ends_with_underscore.xml | 3 + .../idShortOverPatternExamples/fuzzed_01.xml | 3 + .../idShortOverPatternExamples/fuzzed_02.xml | 3 + .../idShortOverPatternExamples/fuzzed_03.xml | 3 + .../idShortOverPatternExamples/fuzzed_04.xml | 3 + .../idShortOverPatternExamples/fuzzed_05.xml | 3 + .../idShortOverPatternExamples/fuzzed_06.xml | 3 + .../idShortOverPatternExamples/fuzzed_07.xml | 3 + .../idShortOverPatternExamples/fuzzed_08.xml | 3 + .../idShortOverPatternExamples/fuzzed_09.xml | 3 + .../idShortOverPatternExamples/fuzzed_10.xml | 3 + .../hyphen_then_underscore.xml | 3 + .../many_internal_hyphens.xml | 3 + .../many_underscores.xml | 3 + .../minimal_digit.xml | 3 + .../minimal_lower.xml | 3 + .../minimal_underscore.xml | 3 + .../minimal_upper.xml | 3 + .../single_internal_hyphen.xml | 3 + .../underscore_after_first.xml | 3 + .../Xml/Expected/capability/maximal.xml | 140 + .../Xml/Expected/capability/minimal.xml | 1 + .../categoryOverPatternExamples/fuzzed_01.xml | 4 + .../categoryOverPatternExamples/fuzzed_02.xml | 4 + .../categoryOverPatternExamples/fuzzed_03.xml | 4 + .../categoryOverPatternExamples/fuzzed_04.xml | 4 + .../categoryOverPatternExamples/fuzzed_05.xml | 4 + .../categoryOverPatternExamples/fuzzed_06.xml | 4 + .../categoryOverPatternExamples/fuzzed_07.xml | 4 + .../categoryOverPatternExamples/fuzzed_08.xml | 4 + .../categoryOverPatternExamples/fuzzed_09.xml | 4 + .../categoryOverPatternExamples/fuzzed_10.xml | 4 + .../idOverPatternExamples/fuzzed_01.xml | 3 + .../idOverPatternExamples/fuzzed_02.xml | 3 + .../idOverPatternExamples/fuzzed_03.xml | 3 + .../idOverPatternExamples/fuzzed_04.xml | 3 + .../idOverPatternExamples/fuzzed_05.xml | 3 + .../idOverPatternExamples/fuzzed_06.xml | 3 + .../idOverPatternExamples/fuzzed_07.xml | 3 + .../idOverPatternExamples/fuzzed_08.xml | 3 + .../idOverPatternExamples/fuzzed_09.xml | 3 + .../idOverPatternExamples/fuzzed_10.xml | 3 + .../alternating_hyphen_underscore.xml | 4 + .../ends_with_underscore.xml | 4 + .../idShortOverPatternExamples/fuzzed_01.xml | 4 + .../idShortOverPatternExamples/fuzzed_02.xml | 4 + .../idShortOverPatternExamples/fuzzed_03.xml | 4 + .../idShortOverPatternExamples/fuzzed_04.xml | 4 + .../idShortOverPatternExamples/fuzzed_05.xml | 4 + .../idShortOverPatternExamples/fuzzed_06.xml | 4 + .../idShortOverPatternExamples/fuzzed_07.xml | 4 + .../idShortOverPatternExamples/fuzzed_08.xml | 4 + .../idShortOverPatternExamples/fuzzed_09.xml | 4 + .../idShortOverPatternExamples/fuzzed_10.xml | 4 + .../hyphen_then_underscore.xml | 4 + .../many_internal_hyphens.xml | 4 + .../many_underscores.xml | 4 + .../minimal_digit.xml | 4 + .../minimal_lower.xml | 4 + .../minimal_underscore.xml | 4 + .../minimal_upper.xml | 4 + .../single_internal_hyphen.xml | 4 + .../underscore_after_first.xml | 4 + .../Expected/conceptDescription/maximal.xml | 113 + .../Expected/conceptDescription/minimal.xml | 3 + .../dataSpecificationIec61360/maximal.xml | 41 + .../dataSpecificationIec61360/minimal.xml | 8 + .../fuzzed_01.xml | 9 + .../fuzzed_02.xml | 9 + .../fuzzed_03.xml | 9 + .../fuzzed_04.xml | 9 + .../fuzzed_05.xml | 9 + .../fuzzed_06.xml | 9 + .../fuzzed_07.xml | 9 + .../fuzzed_08.xml | 9 + .../fuzzed_09.xml | 9 + .../fuzzed_10.xml | 9 + .../symbolOverPatternExamples/fuzzed_01.xml | 9 + .../symbolOverPatternExamples/fuzzed_02.xml | 9 + .../symbolOverPatternExamples/fuzzed_03.xml | 9 + .../symbolOverPatternExamples/fuzzed_04.xml | 9 + .../symbolOverPatternExamples/fuzzed_05.xml | 9 + .../symbolOverPatternExamples/fuzzed_06.xml | 9 + .../symbolOverPatternExamples/fuzzed_07.xml | 9 + .../symbolOverPatternExamples/fuzzed_08.xml | 9 + .../symbolOverPatternExamples/fuzzed_09.xml | 9 + .../symbolOverPatternExamples/fuzzed_10.xml | 9 + .../unitOverPatternExamples/fuzzed_01.xml | 9 + .../unitOverPatternExamples/fuzzed_02.xml | 9 + .../unitOverPatternExamples/fuzzed_03.xml | 9 + .../unitOverPatternExamples/fuzzed_04.xml | 9 + .../unitOverPatternExamples/fuzzed_05.xml | 9 + .../unitOverPatternExamples/fuzzed_06.xml | 9 + .../unitOverPatternExamples/fuzzed_07.xml | 9 + .../unitOverPatternExamples/fuzzed_08.xml | 9 + .../unitOverPatternExamples/fuzzed_09.xml | 9 + .../unitOverPatternExamples/fuzzed_10.xml | 9 + .../fuzzed_01.xml | 9 + .../fuzzed_02.xml | 9 + .../fuzzed_03.xml | 9 + .../fuzzed_04.xml | 9 + .../fuzzed_05.xml | 9 + .../fuzzed_06.xml | 9 + .../fuzzed_07.xml | 9 + .../fuzzed_08.xml | 9 + .../fuzzed_09.xml | 9 + .../fuzzed_10.xml | 9 + .../valueOverPatternExamples/fuzzed_01.xml | 9 + .../valueOverPatternExamples/fuzzed_02.xml | 9 + .../valueOverPatternExamples/fuzzed_03.xml | 9 + .../valueOverPatternExamples/fuzzed_04.xml | 9 + .../valueOverPatternExamples/fuzzed_05.xml | 9 + .../valueOverPatternExamples/fuzzed_06.xml | 9 + .../valueOverPatternExamples/fuzzed_07.xml | 9 + .../valueOverPatternExamples/fuzzed_08.xml | 9 + .../valueOverPatternExamples/fuzzed_09.xml | 9 + .../valueOverPatternExamples/fuzzed_10.xml | 9 + .../embeddedDataSpecification/maximal.xml | 25 + .../embeddedDataSpecification/minimal.xml | 21 + .../categoryOverPatternExamples/fuzzed_01.xml | 3 + .../categoryOverPatternExamples/fuzzed_02.xml | 3 + .../categoryOverPatternExamples/fuzzed_03.xml | 3 + .../categoryOverPatternExamples/fuzzed_04.xml | 3 + .../categoryOverPatternExamples/fuzzed_05.xml | 3 + .../categoryOverPatternExamples/fuzzed_06.xml | 3 + .../categoryOverPatternExamples/fuzzed_07.xml | 3 + .../categoryOverPatternExamples/fuzzed_08.xml | 3 + .../categoryOverPatternExamples/fuzzed_09.xml | 3 + .../categoryOverPatternExamples/fuzzed_10.xml | 3 + .../fuzzed_01.xml | 3 + .../fuzzed_02.xml | 3 + .../fuzzed_03.xml | 3 + .../fuzzed_04.xml | 3 + .../fuzzed_05.xml | 3 + .../fuzzed_06.xml | 3 + .../fuzzed_07.xml | 3 + .../fuzzed_08.xml | 3 + .../fuzzed_09.xml | 3 + .../fuzzed_10.xml | 3 + .../alternating_hyphen_underscore.xml | 3 + .../ends_with_underscore.xml | 3 + .../idShortOverPatternExamples/fuzzed_01.xml | 3 + .../idShortOverPatternExamples/fuzzed_02.xml | 3 + .../idShortOverPatternExamples/fuzzed_03.xml | 3 + .../idShortOverPatternExamples/fuzzed_04.xml | 3 + .../idShortOverPatternExamples/fuzzed_05.xml | 3 + .../idShortOverPatternExamples/fuzzed_06.xml | 3 + .../idShortOverPatternExamples/fuzzed_07.xml | 3 + .../idShortOverPatternExamples/fuzzed_08.xml | 3 + .../idShortOverPatternExamples/fuzzed_09.xml | 3 + .../idShortOverPatternExamples/fuzzed_10.xml | 3 + .../hyphen_then_underscore.xml | 3 + .../many_internal_hyphens.xml | 3 + .../many_underscores.xml | 3 + .../minimal_digit.xml | 3 + .../minimal_lower.xml | 3 + .../minimal_underscore.xml | 3 + .../minimal_upper.xml | 3 + .../single_internal_hyphen.xml | 3 + .../underscore_after_first.xml | 3 + dev/test_data/Xml/Expected/entity/maximal.xml | 161 + dev/test_data/Xml/Expected/entity/minimal.xml | 1 + .../Xml/Expected/environment/maximal.xml | 28 + .../Xml/Expected/environment/minimal.xml | 1 + .../Xml/Expected/eventPayload/maximal.xml | 54 + .../Xml/Expected/eventPayload/minimal.xml | 25 + .../fuzzed_01.xml | 25 + .../fuzzed_02.xml | 25 + .../fuzzed_03.xml | 25 + .../midnight_with_24_hours.xml | 25 + .../midnight_with_zeros.xml | 25 + .../minus_zero_offset.xml | 25 + .../plus_zero_offset.xml | 25 + .../random_positive.xml | 25 + .../very_large_year.xml | 25 + .../very_long_fractional_second.xml | 25 + .../year_1_bce_is_a_leap_year.xml | 25 + .../year_5_bce_is_a_leap_year.xml | 25 + .../topicOverPatternExamples/fuzzed_01.xml | 26 + .../topicOverPatternExamples/fuzzed_02.xml | 26 + .../topicOverPatternExamples/fuzzed_03.xml | 26 + .../topicOverPatternExamples/fuzzed_04.xml | 26 + .../topicOverPatternExamples/fuzzed_05.xml | 26 + .../topicOverPatternExamples/fuzzed_06.xml | 26 + .../topicOverPatternExamples/fuzzed_07.xml | 26 + .../topicOverPatternExamples/fuzzed_08.xml | 26 + .../topicOverPatternExamples/fuzzed_09.xml | 26 + .../topicOverPatternExamples/fuzzed_10.xml | 26 + .../Xml/Expected/extension/maximal.xml | 63 + .../Xml/Expected/extension/minimal.xml | 3 + .../nameOverPatternExamples/fuzzed_01.xml | 3 + .../nameOverPatternExamples/fuzzed_02.xml | 3 + .../nameOverPatternExamples/fuzzed_03.xml | 3 + .../nameOverPatternExamples/fuzzed_04.xml | 3 + .../nameOverPatternExamples/fuzzed_05.xml | 3 + .../nameOverPatternExamples/fuzzed_06.xml | 3 + .../nameOverPatternExamples/fuzzed_07.xml | 3 + .../nameOverPatternExamples/fuzzed_08.xml | 3 + .../nameOverPatternExamples/fuzzed_09.xml | 3 + .../nameOverPatternExamples/fuzzed_10.xml | 3 + .../valueOverValueExamples/Any_URI_URI.xml | 5 + .../Any_URI_absolute_path_without_scheme.xml | 5 + .../valueOverValueExamples/Any_URI_empty.xml | 5 + .../Any_URI_fuzzed_01.xml | 5 + .../Any_URI_fuzzed_02.xml | 5 + .../Any_URI_fuzzed_03.xml | 5 + .../Any_URI_fuzzed_04.xml | 5 + .../Any_URI_fuzzed_05.xml | 5 + .../Any_URI_fuzzed_06.xml | 5 + .../Any_URI_fuzzed_07.xml | 5 + .../Any_URI_fuzzed_08.xml | 5 + .../Any_URI_fuzzed_09.xml | 5 + .../Any_URI_fuzzed_10.xml | 5 + .../Any_URI_integer.xml | 5 + .../Any_URI_relative_path_without_scheme.xml | 5 + ...Base_64_binary_an_empty_value_is_valid.xml | 5 + ...nary_equals_signs_are_used_for_padding.xml | 5 + .../Base_64_binary_fuzzed_01.xml | 5 + .../Base_64_binary_fuzzed_02.xml | 5 + .../Base_64_binary_fuzzed_03.xml | 5 + .../Base_64_binary_fuzzed_04.xml | 5 + .../Base_64_binary_fuzzed_05.xml | 5 + .../Base_64_binary_fuzzed_06.xml | 5 + .../Base_64_binary_fuzzed_07.xml | 5 + .../Base_64_binary_fuzzed_08.xml | 5 + .../Base_64_binary_fuzzed_09.xml | 5 + .../Base_64_binary_fuzzed_10.xml | 5 + ...space_is_allowed_anywhere_in_the_value.xml | 5 + ...Base_64_binary_without_space_lowercase.xml | 5 + ...Base_64_binary_without_space_uppercase.xml | 5 + .../Boolean_false_as_number.xml | 5 + .../Boolean_false_in_letters.xml | 5 + .../Boolean_true_as_number.xml | 5 + .../Boolean_true_in_letters.xml | 5 + .../Byte_common_example.xml | 5 + .../Byte_explicitly_positive.xml | 5 + .../valueOverValueExamples/Byte_fuzzed_01.xml | 5 + .../valueOverValueExamples/Byte_fuzzed_02.xml | 5 + .../valueOverValueExamples/Byte_fuzzed_03.xml | 5 + .../valueOverValueExamples/Byte_fuzzed_04.xml | 5 + .../valueOverValueExamples/Byte_fuzzed_05.xml | 5 + .../valueOverValueExamples/Byte_fuzzed_06.xml | 5 + .../valueOverValueExamples/Byte_fuzzed_07.xml | 5 + .../valueOverValueExamples/Byte_fuzzed_08.xml | 5 + .../valueOverValueExamples/Byte_fuzzed_09.xml | 5 + .../valueOverValueExamples/Byte_fuzzed_10.xml | 5 + .../valueOverValueExamples/Byte_max.xml | 5 + .../valueOverValueExamples/Byte_min.xml | 5 + .../valueOverValueExamples/Byte_negative.xml | 5 + .../Byte_prefixed_with_zeros.xml | 5 + .../valueOverValueExamples/Byte_zero.xml | 5 + .../Byte_zero_prefixed_with_zeros.xml | 5 + .../valueOverValueExamples/Date_date.xml | 5 + .../Date_date_with_large_negative_year.xml | 5 + .../Date_date_with_large_positive_year.xml | 5 + .../Date_date_with_negative_offset.xml | 5 + .../Date_date_with_positive_offset.xml | 5 + .../Date_date_with_utc.xml | 5 + .../Date_date_with_zero_offset.xml | 5 + .../valueOverValueExamples/Date_fuzzed_01.xml | 5 + .../valueOverValueExamples/Date_fuzzed_02.xml | 5 + .../valueOverValueExamples/Date_fuzzed_03.xml | 5 + .../valueOverValueExamples/Date_fuzzed_04.xml | 5 + .../valueOverValueExamples/Date_fuzzed_05.xml | 5 + .../valueOverValueExamples/Date_fuzzed_06.xml | 5 + .../valueOverValueExamples/Date_fuzzed_07.xml | 5 + .../valueOverValueExamples/Date_fuzzed_08.xml | 5 + .../valueOverValueExamples/Date_fuzzed_09.xml | 5 + .../valueOverValueExamples/Date_fuzzed_10.xml | 5 + .../Date_time_date_time_with_UTC.xml | 5 + ...ime_date_time_with_large_negative_year.xml | 5 + ...ime_date_time_with_large_positive_year.xml | 5 + ...date_time_with_long_fractional_seconds.xml | 5 + ...te_time_date_time_with_negative_offset.xml | 5 + ...te_time_date_time_with_positive_offset.xml | 5 + .../Date_time_date_time_with_zero_offset.xml | 5 + .../Date_time_date_time_without_zone.xml | 5 + .../Date_time_fuzzed_01.xml | 5 + .../Date_time_fuzzed_02.xml | 5 + .../Date_time_fuzzed_03.xml | 5 + .../Date_time_fuzzed_04.xml | 5 + .../Date_time_fuzzed_05.xml | 5 + .../Date_time_fuzzed_06.xml | 5 + .../Date_time_fuzzed_07.xml | 5 + .../Date_time_fuzzed_08.xml | 5 + .../Date_time_fuzzed_09.xml | 5 + .../Date_time_fuzzed_10.xml | 5 + .../Date_time_midnight_with_24_hours.xml | 5 + .../Date_time_midnight_with_zeros.xml | 5 + .../Date_time_year_1_bce_is_a_leap_year.xml | 5 + .../Date_time_year_5_bce_is_a_leap_year.xml | 5 + .../Date_year_1_bce_is_a_leap_year.xml | 5 + .../Date_year_5_bce_is_a_leap_year.xml | 5 + .../Decimal_decimal.xml | 5 + .../Decimal_decimal_with_long_fractional.xml | 5 + .../Decimal_decimal_with_preceding_zeros.xml | 5 + .../Decimal_fuzzed_01.xml | 5 + .../Decimal_fuzzed_02.xml | 5 + .../Decimal_fuzzed_03.xml | 5 + .../Decimal_fuzzed_04.xml | 5 + .../Decimal_fuzzed_05.xml | 5 + .../Decimal_fuzzed_06.xml | 5 + .../Decimal_fuzzed_07.xml | 5 + .../Decimal_fuzzed_08.xml | 5 + .../Decimal_fuzzed_09.xml | 5 + .../Decimal_fuzzed_10.xml | 5 + .../Decimal_integer.xml | 5 + .../Decimal_integer_with_preceding_zeros.xml | 5 + .../Decimal_very_large_decimal.xml | 5 + .../valueOverValueExamples/Double_double.xml | 5 + .../Double_fuzzed_01.xml | 5 + .../Double_fuzzed_02.xml | 5 + .../Double_fuzzed_03.xml | 5 + .../Double_fuzzed_04.xml | 5 + .../Double_fuzzed_05.xml | 5 + .../Double_fuzzed_06.xml | 5 + .../Double_fuzzed_07.xml | 5 + .../Double_fuzzed_08.xml | 5 + .../Double_fuzzed_09.xml | 5 + .../Double_fuzzed_10.xml | 5 + .../valueOverValueExamples/Double_inf.xml | 5 + .../valueOverValueExamples/Double_integer.xml | 5 + .../Double_integer_with_preceding_zeros.xml | 5 + ...of_precision_is_not_detected_by_design.xml | 5 + .../valueOverValueExamples/Double_lowest.xml | 5 + .../valueOverValueExamples/Double_max.xml | 5 + .../Double_minus_inf.xml | 5 + .../valueOverValueExamples/Double_nan.xml | 5 + .../Double_scientific_notation.xml | 5 + .../Double_scientific_notation_negative.xml | 5 + ..._scientific_notation_negative_exponent.xml | 5 + .../Double_scientific_notation_positive.xml | 5 + ..._scientific_notation_positive_exponent.xml | 5 + .../Double_very_large_normal.xml | 5 + .../Double_very_precise_subnormal.xml | 5 + .../Double_with_preceding_zeros.xml | 5 + .../Duration_day_seconds.xml | 5 + .../valueOverValueExamples/Duration_full.xml | 5 + .../Duration_fuzzed_01.xml | 5 + .../Duration_fuzzed_02.xml | 5 + .../Duration_fuzzed_03.xml | 5 + .../Duration_fuzzed_04.xml | 5 + .../Duration_fuzzed_05.xml | 5 + .../Duration_fuzzed_06.xml | 5 + .../Duration_fuzzed_07.xml | 5 + .../Duration_fuzzed_08.xml | 5 + .../Duration_fuzzed_09.xml | 5 + .../Duration_fuzzed_10.xml | 5 + .../Duration_long_second_fractal.xml | 5 + .../Duration_many_many_seconds.xml | 5 + .../Duration_month_seconds.xml | 5 + .../Duration_only_seconds.xml | 5 + .../Duration_only_year.xml | 5 + .../valueOverValueExamples/Float_float.xml | 5 + .../Float_fuzzed_01.xml | 5 + .../Float_fuzzed_02.xml | 5 + .../Float_fuzzed_03.xml | 5 + .../Float_fuzzed_04.xml | 5 + .../Float_fuzzed_05.xml | 5 + .../Float_fuzzed_06.xml | 5 + .../Float_fuzzed_07.xml | 5 + .../Float_fuzzed_08.xml | 5 + .../Float_fuzzed_09.xml | 5 + .../Float_fuzzed_10.xml | 5 + .../valueOverValueExamples/Float_inf.xml | 5 + .../valueOverValueExamples/Float_integer.xml | 5 + .../Float_integer_with_preceding_zeros.xml | 5 + .../Float_largest_normal.xml | 5 + .../Float_largest_number_less_than_one.xml | 5 + .../Float_largest_subnormal.xml | 5 + ...of_precision_is_not_detected_by_design.xml | 5 + .../valueOverValueExamples/Float_nan.xml | 5 + .../Float_negative_inf.xml | 5 + .../Float_scientific_notation.xml | 5 + .../Float_scientific_notation_negative.xml | 5 + ..._scientific_notation_negative_exponent.xml | 5 + .../Float_scientific_notation_positive.xml | 5 + ..._scientific_notation_positive_exponent.xml | 5 + .../Float_smallest_number_larger_than_one.xml | 5 + .../Float_smallest_positive_normal.xml | 5 + .../Float_smallest_positive_subnormal.xml | 5 + .../Float_with_preceding_zeros.xml | 5 + ...ot_existing_in_all_months_without_zone.xml | 5 + .../G_day_double_digit_day_without_zone.xml | 5 + .../G_day_fuzzed_01.xml | 5 + .../G_day_fuzzed_02.xml | 5 + .../G_day_fuzzed_03.xml | 5 + .../G_day_fuzzed_04.xml | 5 + .../G_day_fuzzed_05.xml | 5 + .../G_day_fuzzed_06.xml | 5 + .../G_day_fuzzed_07.xml | 5 + .../G_day_fuzzed_08.xml | 5 + .../G_day_fuzzed_09.xml | 5 + .../G_day_fuzzed_10.xml | 5 + .../G_day_negative_offset.xml | 5 + .../G_day_positive_offset.xml | 5 + .../G_day_single_digit_day_without_zone.xml | 5 + .../valueOverValueExamples/G_day_utc_zone.xml | 5 + .../G_day_zero_offset.xml | 5 + ...it_month_double_digit_day_without_zone.xml | 5 + ...it_month_single_digit_day_without_zone.xml | 5 + ...29th_which_does_not_exist_in_all_years.xml | 5 + .../G_month_day_fuzzed_01.xml | 5 + .../G_month_day_fuzzed_02.xml | 5 + .../G_month_day_fuzzed_03.xml | 5 + .../G_month_day_fuzzed_04.xml | 5 + .../G_month_day_fuzzed_05.xml | 5 + .../G_month_day_fuzzed_06.xml | 5 + .../G_month_day_fuzzed_07.xml | 5 + .../G_month_day_fuzzed_08.xml | 5 + .../G_month_day_fuzzed_09.xml | 5 + .../G_month_day_fuzzed_10.xml | 5 + .../G_month_day_negative_offset.xml | 5 + .../G_month_day_positive_offset.xml | 5 + ...it_month_single_digit_day_without_zone.xml | 5 + .../G_month_day_utc_zone.xml | 5 + .../G_month_day_zero_offset.xml | 5 + ..._month_double_digit_month_without_zone.xml | 5 + .../G_month_fuzzed_01.xml | 5 + .../G_month_fuzzed_02.xml | 5 + .../G_month_fuzzed_03.xml | 5 + .../G_month_fuzzed_04.xml | 5 + .../G_month_fuzzed_05.xml | 5 + .../G_month_fuzzed_06.xml | 5 + .../G_month_fuzzed_07.xml | 5 + .../G_month_fuzzed_08.xml | 5 + .../G_month_fuzzed_09.xml | 5 + .../G_month_fuzzed_10.xml | 5 + .../G_month_negative_offset.xml | 5 + .../G_month_positive_offset.xml | 5 + ..._month_single_digit_month_without_zone.xml | 5 + .../G_month_utc_zone.xml | 5 + .../G_month_zero_offset.xml | 5 + .../G_year_five_digit_negative_year.xml | 5 + .../G_year_five_digit_year.xml | 5 + .../G_year_fuzzed_01.xml | 5 + .../G_year_fuzzed_02.xml | 5 + .../G_year_fuzzed_03.xml | 5 + .../G_year_fuzzed_04.xml | 5 + .../G_year_fuzzed_05.xml | 5 + .../G_year_fuzzed_06.xml | 5 + .../G_year_fuzzed_07.xml | 5 + .../G_year_fuzzed_08.xml | 5 + .../G_year_fuzzed_09.xml | 5 + .../G_year_fuzzed_10.xml | 5 + .../G_year_month_common_year_month.xml | 5 + .../G_year_month_five_digit_negative_year.xml | 5 + .../G_year_month_fuzzed_01.xml | 5 + .../G_year_month_fuzzed_02.xml | 5 + .../G_year_month_fuzzed_03.xml | 5 + .../G_year_month_fuzzed_04.xml | 5 + .../G_year_month_fuzzed_05.xml | 5 + .../G_year_month_fuzzed_06.xml | 5 + .../G_year_month_fuzzed_07.xml | 5 + .../G_year_month_fuzzed_08.xml | 5 + .../G_year_month_fuzzed_09.xml | 5 + .../G_year_month_fuzzed_10.xml | 5 + .../G_year_month_negative_year.xml | 5 + .../G_year_month_very_large_negative_year.xml | 5 + .../G_year_month_very_large_positive_year.xml | 5 + .../G_year_month_with_negative_offset.xml | 5 + .../G_year_month_with_positive_offset.xml | 5 + .../G_year_month_with_utc_zone.xml | 5 + .../G_year_month_with_zero_offset.xml | 5 + .../G_year_negative_offset.xml | 5 + .../G_year_negative_year.xml | 5 + .../G_year_positive_offset.xml | 5 + .../G_year_utc_zone.xml | 5 + .../G_year_very_large_negative_year.xml | 5 + .../G_year_very_large_positive_year.xml | 5 + .../G_year_year_without_zone.xml | 5 + .../G_year_zero_offset.xml | 5 + .../Hex_binary_empty.xml | 5 + .../Hex_binary_fuzzed_01.xml | 5 + .../Hex_binary_fuzzed_02.xml | 5 + .../Hex_binary_fuzzed_03.xml | 5 + .../Hex_binary_fuzzed_04.xml | 5 + .../Hex_binary_fuzzed_05.xml | 5 + .../Hex_binary_fuzzed_06.xml | 5 + .../Hex_binary_fuzzed_07.xml | 5 + .../Hex_binary_fuzzed_08.xml | 5 + .../Hex_binary_fuzzed_09.xml | 5 + .../Hex_binary_fuzzed_10.xml | 5 + .../Hex_binary_long_random_hex.xml | 5 + .../Hex_binary_one_one.xml | 5 + .../Hex_binary_one_two.xml | 5 + .../Hex_binary_one_two_three_four.xml | 5 + .../Int_common_example.xml | 5 + .../Int_explicitly_positive.xml | 5 + .../valueOverValueExamples/Int_fuzzed_01.xml | 5 + .../valueOverValueExamples/Int_fuzzed_02.xml | 5 + .../valueOverValueExamples/Int_fuzzed_03.xml | 5 + .../valueOverValueExamples/Int_fuzzed_04.xml | 5 + .../valueOverValueExamples/Int_fuzzed_05.xml | 5 + .../valueOverValueExamples/Int_fuzzed_06.xml | 5 + .../valueOverValueExamples/Int_fuzzed_07.xml | 5 + .../valueOverValueExamples/Int_fuzzed_08.xml | 5 + .../valueOverValueExamples/Int_fuzzed_09.xml | 5 + .../valueOverValueExamples/Int_fuzzed_10.xml | 5 + .../valueOverValueExamples/Int_max.xml | 5 + .../valueOverValueExamples/Int_min.xml | 5 + .../valueOverValueExamples/Int_negative.xml | 5 + .../Int_prefixed_with_zeros.xml | 5 + .../valueOverValueExamples/Int_zero.xml | 5 + .../Int_zero_prefixed_with_zeros.xml | 5 + .../Integer_common_example.xml | 5 + .../Integer_explicitly_positive.xml | 5 + .../Integer_fuzzed_01.xml | 5 + .../Integer_fuzzed_02.xml | 5 + .../Integer_fuzzed_03.xml | 5 + .../Integer_fuzzed_04.xml | 5 + .../Integer_fuzzed_05.xml | 5 + .../Integer_fuzzed_06.xml | 5 + .../Integer_fuzzed_07.xml | 5 + .../Integer_fuzzed_08.xml | 5 + .../Integer_fuzzed_09.xml | 5 + .../Integer_fuzzed_10.xml | 5 + .../Integer_negative.xml | 5 + .../Integer_prefixed_with_zeros.xml | 5 + .../Integer_very_large.xml | 5 + .../valueOverValueExamples/Integer_zero.xml | 5 + .../Integer_zero_prefixed_with_zeros.xml | 5 + .../Long_common_example.xml | 5 + .../Long_explicitly_positive.xml | 5 + .../valueOverValueExamples/Long_fuzzed_01.xml | 5 + .../valueOverValueExamples/Long_fuzzed_02.xml | 5 + .../valueOverValueExamples/Long_fuzzed_03.xml | 5 + .../valueOverValueExamples/Long_fuzzed_04.xml | 5 + .../valueOverValueExamples/Long_fuzzed_05.xml | 5 + .../valueOverValueExamples/Long_fuzzed_06.xml | 5 + .../valueOverValueExamples/Long_fuzzed_07.xml | 5 + .../valueOverValueExamples/Long_fuzzed_08.xml | 5 + .../valueOverValueExamples/Long_fuzzed_09.xml | 5 + .../valueOverValueExamples/Long_fuzzed_10.xml | 5 + .../valueOverValueExamples/Long_max.xml | 5 + .../valueOverValueExamples/Long_min.xml | 5 + .../valueOverValueExamples/Long_negative.xml | 5 + .../Long_prefixed_with_zeros.xml | 5 + .../valueOverValueExamples/Long_zero.xml | 5 + .../Long_zero_prefixed_with_zeros.xml | 5 + .../Negative_integer_fuzzed_01.xml | 5 + .../Negative_integer_fuzzed_02.xml | 5 + .../Negative_integer_fuzzed_03.xml | 5 + .../Negative_integer_fuzzed_04.xml | 5 + .../Negative_integer_fuzzed_05.xml | 5 + .../Negative_integer_fuzzed_06.xml | 5 + .../Negative_integer_fuzzed_07.xml | 5 + .../Negative_integer_fuzzed_08.xml | 5 + .../Negative_integer_fuzzed_09.xml | 5 + .../Negative_integer_fuzzed_10.xml | 5 + .../Negative_integer_negative.xml | 5 + .../Negative_integer_prefixed_with_zeros.xml | 5 + .../Negative_integer_very_large.xml | 5 + .../Non_negative_integer_common_example.xml | 5 + ...n_negative_integer_explicitly_positive.xml | 5 + ...xplicitly_positive_prefixed_with_zeros.xml | 5 + .../Non_negative_integer_fuzzed_01.xml | 5 + .../Non_negative_integer_fuzzed_02.xml | 5 + .../Non_negative_integer_fuzzed_03.xml | 5 + .../Non_negative_integer_fuzzed_04.xml | 5 + .../Non_negative_integer_fuzzed_05.xml | 5 + .../Non_negative_integer_fuzzed_06.xml | 5 + .../Non_negative_integer_fuzzed_07.xml | 5 + .../Non_negative_integer_fuzzed_08.xml | 5 + .../Non_negative_integer_fuzzed_09.xml | 5 + .../Non_negative_integer_fuzzed_10.xml | 5 + .../Non_negative_integer_minus_zero.xml | 5 + .../Non_negative_integer_positive_zero.xml | 5 + ...n_negative_integer_prefixed_with_zeros.xml | 5 + .../Non_negative_integer_very_large.xml | 5 + .../Non_negative_integer_zero.xml | 5 + ...ative_integer_zero_prefixed_with_zeros.xml | 5 + ...itive_integer_explicitly_positive_zero.xml | 5 + .../Non_positive_integer_fuzzed_01.xml | 5 + .../Non_positive_integer_fuzzed_02.xml | 5 + .../Non_positive_integer_fuzzed_03.xml | 5 + .../Non_positive_integer_fuzzed_04.xml | 5 + .../Non_positive_integer_fuzzed_05.xml | 5 + .../Non_positive_integer_fuzzed_06.xml | 5 + .../Non_positive_integer_fuzzed_07.xml | 5 + .../Non_positive_integer_fuzzed_08.xml | 5 + .../Non_positive_integer_fuzzed_09.xml | 5 + .../Non_positive_integer_fuzzed_10.xml | 5 + .../Non_positive_integer_negative.xml | 5 + ...n_positive_integer_prefixed_with_zeros.xml | 5 + .../Non_positive_integer_very_large.xml | 5 + .../Non_positive_integer_zero.xml | 5 + .../Positive_integer_common_example.xml | 5 + .../Positive_integer_explicitly_positive.xml | 5 + .../Positive_integer_fuzzed_01.xml | 5 + .../Positive_integer_fuzzed_02.xml | 5 + .../Positive_integer_fuzzed_03.xml | 5 + .../Positive_integer_fuzzed_04.xml | 5 + .../Positive_integer_fuzzed_05.xml | 5 + .../Positive_integer_fuzzed_06.xml | 5 + .../Positive_integer_fuzzed_07.xml | 5 + .../Positive_integer_fuzzed_08.xml | 5 + .../Positive_integer_fuzzed_09.xml | 5 + .../Positive_integer_fuzzed_10.xml | 5 + .../Positive_integer_prefixed_with_zeros.xml | 5 + .../Positive_integer_very_large.xml | 5 + .../Short_common_example.xml | 5 + .../Short_explicitly_positive.xml | 5 + .../Short_fuzzed_01.xml | 5 + .../Short_fuzzed_02.xml | 5 + .../Short_fuzzed_03.xml | 5 + .../Short_fuzzed_04.xml | 5 + .../Short_fuzzed_05.xml | 5 + .../Short_fuzzed_06.xml | 5 + .../Short_fuzzed_07.xml | 5 + .../Short_fuzzed_08.xml | 5 + .../Short_fuzzed_09.xml | 5 + .../Short_fuzzed_10.xml | 5 + .../valueOverValueExamples/Short_max.xml | 5 + .../valueOverValueExamples/Short_min.xml | 5 + .../valueOverValueExamples/Short_negative.xml | 5 + .../Short_prefixed_with_zeros.xml | 5 + .../valueOverValueExamples/Short_zero.xml | 5 + .../Short_zero_prefixed_with_zeros.xml | 5 + .../valueOverValueExamples/String_empty.xml | 5 + .../String_free_form_text.xml | 5 + .../String_fuzzed_01.xml | 5 + .../String_fuzzed_02.xml | 5 + .../String_fuzzed_03.xml | 5 + .../String_fuzzed_04.xml | 5 + .../String_fuzzed_05.xml | 5 + .../String_fuzzed_06.xml | 5 + .../String_fuzzed_07.xml | 5 + .../String_fuzzed_08.xml | 5 + .../String_fuzzed_09.xml | 5 + .../String_fuzzed_10.xml | 5 + .../Time_common_example.xml | 5 + .../valueOverValueExamples/Time_fuzzed_01.xml | 5 + .../valueOverValueExamples/Time_fuzzed_02.xml | 5 + .../valueOverValueExamples/Time_fuzzed_03.xml | 5 + .../valueOverValueExamples/Time_fuzzed_04.xml | 5 + .../valueOverValueExamples/Time_fuzzed_05.xml | 5 + .../valueOverValueExamples/Time_fuzzed_06.xml | 5 + .../valueOverValueExamples/Time_fuzzed_07.xml | 5 + .../valueOverValueExamples/Time_fuzzed_08.xml | 5 + .../valueOverValueExamples/Time_fuzzed_09.xml | 5 + .../valueOverValueExamples/Time_fuzzed_10.xml | 5 + .../Time_negative_offset.xml | 5 + .../Time_positive_offset.xml | 5 + .../Time_with_long_second_fractional.xml | 5 + .../Time_with_second_fractional.xml | 5 + .../Time_with_utc_timezone.xml | 5 + .../Time_zero_offset.xml | 5 + .../Unsigned_byte_common_example.xml | 5 + .../Unsigned_byte_explicitly_positive.xml | 5 + .../Unsigned_byte_fuzzed_01.xml | 5 + .../Unsigned_byte_fuzzed_02.xml | 5 + .../Unsigned_byte_fuzzed_03.xml | 5 + .../Unsigned_byte_fuzzed_04.xml | 5 + .../Unsigned_byte_fuzzed_05.xml | 5 + .../Unsigned_byte_fuzzed_06.xml | 5 + .../Unsigned_byte_fuzzed_07.xml | 5 + .../Unsigned_byte_fuzzed_08.xml | 5 + .../Unsigned_byte_fuzzed_09.xml | 5 + .../Unsigned_byte_fuzzed_10.xml | 5 + .../Unsigned_byte_max.xml | 5 + .../Unsigned_byte_prefixed_with_zeros.xml | 5 + .../Unsigned_byte_zero.xml | 5 + ...Unsigned_byte_zero_prefixed_with_zeros.xml | 5 + .../Unsigned_int_common_example.xml | 5 + .../Unsigned_int_explicitly_positive.xml | 5 + .../Unsigned_int_fuzzed_01.xml | 5 + .../Unsigned_int_fuzzed_02.xml | 5 + .../Unsigned_int_fuzzed_03.xml | 5 + .../Unsigned_int_fuzzed_04.xml | 5 + .../Unsigned_int_fuzzed_05.xml | 5 + .../Unsigned_int_fuzzed_06.xml | 5 + .../Unsigned_int_fuzzed_07.xml | 5 + .../Unsigned_int_fuzzed_08.xml | 5 + .../Unsigned_int_fuzzed_09.xml | 5 + .../Unsigned_int_fuzzed_10.xml | 5 + .../Unsigned_int_max.xml | 5 + .../Unsigned_int_prefixed_with_zeros.xml | 5 + .../Unsigned_int_zero.xml | 5 + .../Unsigned_int_zero_prefixed_with_zeros.xml | 5 + .../Unsigned_long_common_example.xml | 5 + .../Unsigned_long_explicitly_positive.xml | 5 + .../Unsigned_long_fuzzed_01.xml | 5 + .../Unsigned_long_fuzzed_02.xml | 5 + .../Unsigned_long_fuzzed_03.xml | 5 + .../Unsigned_long_fuzzed_04.xml | 5 + .../Unsigned_long_fuzzed_05.xml | 5 + .../Unsigned_long_fuzzed_06.xml | 5 + .../Unsigned_long_fuzzed_07.xml | 5 + .../Unsigned_long_fuzzed_08.xml | 5 + .../Unsigned_long_fuzzed_09.xml | 5 + .../Unsigned_long_fuzzed_10.xml | 5 + .../Unsigned_long_max.xml | 5 + .../Unsigned_long_prefixed_with_zeros.xml | 5 + .../Unsigned_long_zero.xml | 5 + ...Unsigned_long_zero_prefixed_with_zeros.xml | 5 + .../Unsigned_short_common_example.xml | 5 + .../Unsigned_short_explicitly_positive.xml | 5 + .../Unsigned_short_fuzzed_01.xml | 5 + .../Unsigned_short_fuzzed_02.xml | 5 + .../Unsigned_short_fuzzed_03.xml | 5 + .../Unsigned_short_fuzzed_04.xml | 5 + .../Unsigned_short_fuzzed_05.xml | 5 + .../Unsigned_short_fuzzed_06.xml | 5 + .../Unsigned_short_fuzzed_07.xml | 5 + .../Unsigned_short_fuzzed_08.xml | 5 + .../Unsigned_short_fuzzed_09.xml | 5 + .../Unsigned_short_fuzzed_10.xml | 5 + .../Unsigned_short_max.xml | 5 + .../Unsigned_short_prefixed_with_zeros.xml | 5 + .../Unsigned_short_zero.xml | 5 + ...nsigned_short_zero_prefixed_with_zeros.xml | 5 + .../categoryOverPatternExamples/fuzzed_01.xml | 3 + .../categoryOverPatternExamples/fuzzed_02.xml | 3 + .../categoryOverPatternExamples/fuzzed_03.xml | 3 + .../categoryOverPatternExamples/fuzzed_04.xml | 3 + .../categoryOverPatternExamples/fuzzed_05.xml | 3 + .../categoryOverPatternExamples/fuzzed_06.xml | 3 + .../categoryOverPatternExamples/fuzzed_07.xml | 3 + .../categoryOverPatternExamples/fuzzed_08.xml | 3 + .../categoryOverPatternExamples/fuzzed_09.xml | 3 + .../categoryOverPatternExamples/fuzzed_10.xml | 3 + .../contentTypeOverPatternExamples/dash.xml | 3 + .../contentTypeOverPatternExamples/dots.xml | 3 + .../fuzzed_01.xml | 3 + .../fuzzed_02.xml | 3 + .../fuzzed_03.xml | 3 + .../number prefix and suffix.xml | 3 + .../only_letters.xml | 3 + .../contentTypeOverPatternExamples/plus.xml | 3 + .../random_common_MIME_type.xml | 3 + .../alternating_hyphen_underscore.xml | 3 + .../ends_with_underscore.xml | 3 + .../idShortOverPatternExamples/fuzzed_01.xml | 3 + .../idShortOverPatternExamples/fuzzed_02.xml | 3 + .../idShortOverPatternExamples/fuzzed_03.xml | 3 + .../idShortOverPatternExamples/fuzzed_04.xml | 3 + .../idShortOverPatternExamples/fuzzed_05.xml | 3 + .../idShortOverPatternExamples/fuzzed_06.xml | 3 + .../idShortOverPatternExamples/fuzzed_07.xml | 3 + .../idShortOverPatternExamples/fuzzed_08.xml | 3 + .../idShortOverPatternExamples/fuzzed_09.xml | 3 + .../idShortOverPatternExamples/fuzzed_10.xml | 3 + .../hyphen_then_underscore.xml | 3 + .../many_internal_hyphens.xml | 3 + .../many_underscores.xml | 3 + .../minimal_digit.xml | 3 + .../minimal_lower.xml | 3 + .../minimal_underscore.xml | 3 + .../minimal_upper.xml | 3 + .../single_internal_hyphen.xml | 3 + .../underscore_after_first.xml | 3 + dev/test_data/Xml/Expected/file/maximal.xml | 142 + dev/test_data/Xml/Expected/file/minimal.xml | 1 + .../valueOverPatternExamples/fuzzed_01.xml | 3 + .../valueOverPatternExamples/fuzzed_02.xml | 3 + .../valueOverPatternExamples/fuzzed_03.xml | 3 + .../valueOverPatternExamples/fuzzed_04.xml | 3 + .../valueOverPatternExamples/fuzzed_05.xml | 3 + .../valueOverPatternExamples/fuzzed_06.xml | 3 + .../valueOverPatternExamples/fuzzed_07.xml | 3 + .../valueOverPatternExamples/fuzzed_08.xml | 3 + .../valueOverPatternExamples/fuzzed_09.xml | 3 + .../valueOverPatternExamples/fuzzed_10.xml | 3 + .../valueOverPatternExamples/made_up_01.xml | 3 + .../valueOverPatternExamples/made_up_02.xml | 3 + .../valueOverPatternExamples/made_up_03.xml | 3 + .../valueOverPatternExamples/made_up_04.xml | 3 + .../valueOverPatternExamples/made_up_05.xml | 3 + dev/test_data/Xml/Expected/key/maximal.xml | 4 + dev/test_data/Xml/Expected/key/minimal.xml | 4 + .../valueOverPatternExamples/fuzzed_01.xml | 4 + .../valueOverPatternExamples/fuzzed_02.xml | 4 + .../valueOverPatternExamples/fuzzed_03.xml | 4 + .../valueOverPatternExamples/fuzzed_04.xml | 4 + .../valueOverPatternExamples/fuzzed_05.xml | 4 + .../valueOverPatternExamples/fuzzed_06.xml | 4 + .../valueOverPatternExamples/fuzzed_07.xml | 4 + .../valueOverPatternExamples/fuzzed_08.xml | 4 + .../valueOverPatternExamples/fuzzed_09.xml | 4 + .../valueOverPatternExamples/fuzzed_10.xml | 4 + .../extended_language_subtags_1.xml | 4 + .../extended_language_subtags_2.xml | 4 + .../extended_language_subtags_3.xml | 4 + .../extended_language_subtags_4.xml | 4 + .../language_region_1.xml | 4 + .../language_region_2.xml | 4 + .../language_region_3.xml | 4 + .../language_region_variant_1.xml | 4 + .../language_region_variant_2.xml | 4 + .../language_script_region_1.xml | 4 + .../language_script_region_2.xml | 4 + .../language_script_region_variant.xml | 4 + .../language_subtag_plus_script_subtag_1.xml | 4 + .../language_subtag_plus_script_subtag_2.xml | 4 + .../language_subtag_plus_script_subtag_3.xml | 4 + .../language_subtag_plus_script_subtag_4.xml | 4 + .../language_variant_1.xml | 4 + .../language_variant_2.xml | 4 + .../language_variant_3.xml | 4 + .../private_use_registry_values_1.xml | 4 + .../private_use_registry_values_2.xml | 4 + .../private_use_registry_values_3.xml | 4 + .../private_use_registry_values_4.xml | 4 + .../private_use_registry_values_5.xml | 4 + .../private_use_subtags_1.xml | 4 + .../private_use_subtags_2.xml | 4 + .../simple_language_subtag_1.xml | 4 + .../simple_language_subtag_2.xml | 4 + .../simple_language_subtag_3.xml | 4 + ..._subtag_example_of_a_grandfathered_tag.xml | 4 + .../tag_with_extension_1.xml | 4 + .../tag_with_extension_2.xml | 4 + .../tag_with_extension_3.xml | 4 + .../maximal.xml | 4 + .../minimal.xml | 4 + .../textOverPatternExamples/fuzzed_01.xml | 4 + .../textOverPatternExamples/fuzzed_02.xml | 4 + .../textOverPatternExamples/fuzzed_03.xml | 4 + .../textOverPatternExamples/fuzzed_04.xml | 4 + .../textOverPatternExamples/fuzzed_05.xml | 4 + .../textOverPatternExamples/fuzzed_06.xml | 4 + .../textOverPatternExamples/fuzzed_07.xml | 4 + .../textOverPatternExamples/fuzzed_08.xml | 4 + .../textOverPatternExamples/fuzzed_09.xml | 4 + .../textOverPatternExamples/fuzzed_10.xml | 4 + .../extended_language_subtags_1.xml | 4 + .../extended_language_subtags_2.xml | 4 + .../extended_language_subtags_3.xml | 4 + .../extended_language_subtags_4.xml | 4 + .../language_region_1.xml | 4 + .../language_region_2.xml | 4 + .../language_region_3.xml | 4 + .../language_region_variant_1.xml | 4 + .../language_region_variant_2.xml | 4 + .../language_script_region_1.xml | 4 + .../language_script_region_2.xml | 4 + .../language_script_region_variant.xml | 4 + .../language_subtag_plus_script_subtag_1.xml | 4 + .../language_subtag_plus_script_subtag_2.xml | 4 + .../language_subtag_plus_script_subtag_3.xml | 4 + .../language_subtag_plus_script_subtag_4.xml | 4 + .../language_variant_1.xml | 4 + .../language_variant_2.xml | 4 + .../language_variant_3.xml | 4 + .../private_use_registry_values_1.xml | 4 + .../private_use_registry_values_2.xml | 4 + .../private_use_registry_values_3.xml | 4 + .../private_use_registry_values_4.xml | 4 + .../private_use_registry_values_5.xml | 4 + .../private_use_subtags_1.xml | 4 + .../private_use_subtags_2.xml | 4 + .../simple_language_subtag_1.xml | 4 + .../simple_language_subtag_2.xml | 4 + .../simple_language_subtag_3.xml | 4 + ..._subtag_example_of_a_grandfathered_tag.xml | 4 + .../tag_with_extension_1.xml | 4 + .../tag_with_extension_2.xml | 4 + .../tag_with_extension_3.xml | 4 + .../Expected/langStringNameType/maximal.xml | 4 + .../Expected/langStringNameType/minimal.xml | 4 + .../textOverPatternExamples/fuzzed_01.xml | 4 + .../textOverPatternExamples/fuzzed_02.xml | 4 + .../textOverPatternExamples/fuzzed_03.xml | 4 + .../textOverPatternExamples/fuzzed_04.xml | 4 + .../textOverPatternExamples/fuzzed_05.xml | 4 + .../textOverPatternExamples/fuzzed_06.xml | 4 + .../textOverPatternExamples/fuzzed_07.xml | 4 + .../textOverPatternExamples/fuzzed_08.xml | 4 + .../textOverPatternExamples/fuzzed_09.xml | 4 + .../textOverPatternExamples/fuzzed_10.xml | 4 + .../extended_language_subtags_1.xml | 4 + .../extended_language_subtags_2.xml | 4 + .../extended_language_subtags_3.xml | 4 + .../extended_language_subtags_4.xml | 4 + .../language_region_1.xml | 4 + .../language_region_2.xml | 4 + .../language_region_3.xml | 4 + .../language_region_variant_1.xml | 4 + .../language_region_variant_2.xml | 4 + .../language_script_region_1.xml | 4 + .../language_script_region_2.xml | 4 + .../language_script_region_variant.xml | 4 + .../language_subtag_plus_script_subtag_1.xml | 4 + .../language_subtag_plus_script_subtag_2.xml | 4 + .../language_subtag_plus_script_subtag_3.xml | 4 + .../language_subtag_plus_script_subtag_4.xml | 4 + .../language_variant_1.xml | 4 + .../language_variant_2.xml | 4 + .../language_variant_3.xml | 4 + .../private_use_registry_values_1.xml | 4 + .../private_use_registry_values_2.xml | 4 + .../private_use_registry_values_3.xml | 4 + .../private_use_registry_values_4.xml | 4 + .../private_use_registry_values_5.xml | 4 + .../private_use_subtags_1.xml | 4 + .../private_use_subtags_2.xml | 4 + .../simple_language_subtag_1.xml | 4 + .../simple_language_subtag_2.xml | 4 + .../simple_language_subtag_3.xml | 4 + ..._subtag_example_of_a_grandfathered_tag.xml | 4 + .../tag_with_extension_1.xml | 4 + .../tag_with_extension_2.xml | 4 + .../tag_with_extension_3.xml | 4 + .../maximal.xml | 4 + .../minimal.xml | 4 + .../textOverPatternExamples/fuzzed_01.xml | 4 + .../textOverPatternExamples/fuzzed_02.xml | 4 + .../textOverPatternExamples/fuzzed_03.xml | 4 + .../textOverPatternExamples/fuzzed_04.xml | 4 + .../textOverPatternExamples/fuzzed_05.xml | 4 + .../textOverPatternExamples/fuzzed_06.xml | 4 + .../textOverPatternExamples/fuzzed_07.xml | 4 + .../textOverPatternExamples/fuzzed_08.xml | 4 + .../textOverPatternExamples/fuzzed_09.xml | 4 + .../textOverPatternExamples/fuzzed_10.xml | 4 + .../extended_language_subtags_1.xml | 4 + .../extended_language_subtags_2.xml | 4 + .../extended_language_subtags_3.xml | 4 + .../extended_language_subtags_4.xml | 4 + .../language_region_1.xml | 4 + .../language_region_2.xml | 4 + .../language_region_3.xml | 4 + .../language_region_variant_1.xml | 4 + .../language_region_variant_2.xml | 4 + .../language_script_region_1.xml | 4 + .../language_script_region_2.xml | 4 + .../language_script_region_variant.xml | 4 + .../language_subtag_plus_script_subtag_1.xml | 4 + .../language_subtag_plus_script_subtag_2.xml | 4 + .../language_subtag_plus_script_subtag_3.xml | 4 + .../language_subtag_plus_script_subtag_4.xml | 4 + .../language_variant_1.xml | 4 + .../language_variant_2.xml | 4 + .../language_variant_3.xml | 4 + .../private_use_registry_values_1.xml | 4 + .../private_use_registry_values_2.xml | 4 + .../private_use_registry_values_3.xml | 4 + .../private_use_registry_values_4.xml | 4 + .../private_use_registry_values_5.xml | 4 + .../private_use_subtags_1.xml | 4 + .../private_use_subtags_2.xml | 4 + .../simple_language_subtag_1.xml | 4 + .../simple_language_subtag_2.xml | 4 + .../simple_language_subtag_3.xml | 4 + ..._subtag_example_of_a_grandfathered_tag.xml | 4 + .../tag_with_extension_1.xml | 4 + .../tag_with_extension_2.xml | 4 + .../tag_with_extension_3.xml | 4 + .../maximal.xml | 4 + .../minimal.xml | 4 + .../textOverPatternExamples/fuzzed_01.xml | 4 + .../textOverPatternExamples/fuzzed_02.xml | 4 + .../textOverPatternExamples/fuzzed_03.xml | 4 + .../textOverPatternExamples/fuzzed_04.xml | 4 + .../textOverPatternExamples/fuzzed_05.xml | 4 + .../textOverPatternExamples/fuzzed_06.xml | 4 + .../textOverPatternExamples/fuzzed_07.xml | 4 + .../textOverPatternExamples/fuzzed_08.xml | 4 + .../textOverPatternExamples/fuzzed_09.xml | 4 + .../textOverPatternExamples/fuzzed_10.xml | 4 + .../extended_language_subtags_1.xml | 4 + .../extended_language_subtags_2.xml | 4 + .../extended_language_subtags_3.xml | 4 + .../extended_language_subtags_4.xml | 4 + .../language_region_1.xml | 4 + .../language_region_2.xml | 4 + .../language_region_3.xml | 4 + .../language_region_variant_1.xml | 4 + .../language_region_variant_2.xml | 4 + .../language_script_region_1.xml | 4 + .../language_script_region_2.xml | 4 + .../language_script_region_variant.xml | 4 + .../language_subtag_plus_script_subtag_1.xml | 4 + .../language_subtag_plus_script_subtag_2.xml | 4 + .../language_subtag_plus_script_subtag_3.xml | 4 + .../language_subtag_plus_script_subtag_4.xml | 4 + .../language_variant_1.xml | 4 + .../language_variant_2.xml | 4 + .../language_variant_3.xml | 4 + .../private_use_registry_values_1.xml | 4 + .../private_use_registry_values_2.xml | 4 + .../private_use_registry_values_3.xml | 4 + .../private_use_registry_values_4.xml | 4 + .../private_use_registry_values_5.xml | 4 + .../private_use_subtags_1.xml | 4 + .../private_use_subtags_2.xml | 4 + .../simple_language_subtag_1.xml | 4 + .../simple_language_subtag_2.xml | 4 + .../simple_language_subtag_3.xml | 4 + ..._subtag_example_of_a_grandfathered_tag.xml | 4 + .../tag_with_extension_1.xml | 4 + .../tag_with_extension_2.xml | 4 + .../tag_with_extension_3.xml | 4 + .../Expected/langStringTextType/maximal.xml | 4 + .../Expected/langStringTextType/minimal.xml | 4 + .../textOverPatternExamples/fuzzed_01.xml | 4 + .../textOverPatternExamples/fuzzed_02.xml | 4 + .../textOverPatternExamples/fuzzed_03.xml | 4 + .../textOverPatternExamples/fuzzed_04.xml | 4 + .../textOverPatternExamples/fuzzed_05.xml | 4 + .../textOverPatternExamples/fuzzed_06.xml | 4 + .../textOverPatternExamples/fuzzed_07.xml | 4 + .../textOverPatternExamples/fuzzed_08.xml | 4 + .../textOverPatternExamples/fuzzed_09.xml | 4 + .../textOverPatternExamples/fuzzed_10.xml | 4 + .../Xml/Expected/levelType/maximal.xml | 6 + .../Xml/Expected/levelType/minimal.xml | 6 + .../categoryOverPatternExamples/fuzzed_01.xml | 3 + .../categoryOverPatternExamples/fuzzed_02.xml | 3 + .../categoryOverPatternExamples/fuzzed_03.xml | 3 + .../categoryOverPatternExamples/fuzzed_04.xml | 3 + .../categoryOverPatternExamples/fuzzed_05.xml | 3 + .../categoryOverPatternExamples/fuzzed_06.xml | 3 + .../categoryOverPatternExamples/fuzzed_07.xml | 3 + .../categoryOverPatternExamples/fuzzed_08.xml | 3 + .../categoryOverPatternExamples/fuzzed_09.xml | 3 + .../categoryOverPatternExamples/fuzzed_10.xml | 3 + .../alternating_hyphen_underscore.xml | 3 + .../ends_with_underscore.xml | 3 + .../idShortOverPatternExamples/fuzzed_01.xml | 3 + .../idShortOverPatternExamples/fuzzed_02.xml | 3 + .../idShortOverPatternExamples/fuzzed_03.xml | 3 + .../idShortOverPatternExamples/fuzzed_04.xml | 3 + .../idShortOverPatternExamples/fuzzed_05.xml | 3 + .../idShortOverPatternExamples/fuzzed_06.xml | 3 + .../idShortOverPatternExamples/fuzzed_07.xml | 3 + .../idShortOverPatternExamples/fuzzed_08.xml | 3 + .../idShortOverPatternExamples/fuzzed_09.xml | 3 + .../idShortOverPatternExamples/fuzzed_10.xml | 3 + .../hyphen_then_underscore.xml | 3 + .../many_internal_hyphens.xml | 3 + .../many_underscores.xml | 3 + .../minimal_digit.xml | 3 + .../minimal_lower.xml | 3 + .../minimal_underscore.xml | 3 + .../minimal_upper.xml | 3 + .../single_internal_hyphen.xml | 3 + .../underscore_after_first.xml | 3 + .../multiLanguageProperty/maximal.xml | 159 + .../multiLanguageProperty/minimal.xml | 1 + .../categoryOverPatternExamples/fuzzed_01.xml | 3 + .../categoryOverPatternExamples/fuzzed_02.xml | 3 + .../categoryOverPatternExamples/fuzzed_03.xml | 3 + .../categoryOverPatternExamples/fuzzed_04.xml | 3 + .../categoryOverPatternExamples/fuzzed_05.xml | 3 + .../categoryOverPatternExamples/fuzzed_06.xml | 3 + .../categoryOverPatternExamples/fuzzed_07.xml | 3 + .../categoryOverPatternExamples/fuzzed_08.xml | 3 + .../categoryOverPatternExamples/fuzzed_09.xml | 3 + .../categoryOverPatternExamples/fuzzed_10.xml | 3 + .../alternating_hyphen_underscore.xml | 3 + .../ends_with_underscore.xml | 3 + .../idShortOverPatternExamples/fuzzed_01.xml | 3 + .../idShortOverPatternExamples/fuzzed_02.xml | 3 + .../idShortOverPatternExamples/fuzzed_03.xml | 3 + .../idShortOverPatternExamples/fuzzed_04.xml | 3 + .../idShortOverPatternExamples/fuzzed_05.xml | 3 + .../idShortOverPatternExamples/fuzzed_06.xml | 3 + .../idShortOverPatternExamples/fuzzed_07.xml | 3 + .../idShortOverPatternExamples/fuzzed_08.xml | 3 + .../idShortOverPatternExamples/fuzzed_09.xml | 3 + .../idShortOverPatternExamples/fuzzed_10.xml | 3 + .../hyphen_then_underscore.xml | 3 + .../many_internal_hyphens.xml | 3 + .../many_underscores.xml | 3 + .../minimal_digit.xml | 3 + .../minimal_lower.xml | 3 + .../minimal_underscore.xml | 3 + .../minimal_upper.xml | 3 + .../single_internal_hyphen.xml | 3 + .../underscore_after_first.xml | 3 + .../Xml/Expected/operation/maximal.xml | 189 + .../Xml/Expected/operation/minimal.xml | 1 + .../Expected/operationVariable/maximal.xml | 8 + .../Expected/operationVariable/minimal.xml | 8 + .../categoryOverPatternExamples/fuzzed_01.xml | 4 + .../categoryOverPatternExamples/fuzzed_02.xml | 4 + .../categoryOverPatternExamples/fuzzed_03.xml | 4 + .../categoryOverPatternExamples/fuzzed_04.xml | 4 + .../categoryOverPatternExamples/fuzzed_05.xml | 4 + .../categoryOverPatternExamples/fuzzed_06.xml | 4 + .../categoryOverPatternExamples/fuzzed_07.xml | 4 + .../categoryOverPatternExamples/fuzzed_08.xml | 4 + .../categoryOverPatternExamples/fuzzed_09.xml | 4 + .../categoryOverPatternExamples/fuzzed_10.xml | 4 + .../alternating_hyphen_underscore.xml | 4 + .../ends_with_underscore.xml | 4 + .../idShortOverPatternExamples/fuzzed_01.xml | 4 + .../idShortOverPatternExamples/fuzzed_02.xml | 4 + .../idShortOverPatternExamples/fuzzed_03.xml | 4 + .../idShortOverPatternExamples/fuzzed_04.xml | 4 + .../idShortOverPatternExamples/fuzzed_05.xml | 4 + .../idShortOverPatternExamples/fuzzed_06.xml | 4 + .../idShortOverPatternExamples/fuzzed_07.xml | 4 + .../idShortOverPatternExamples/fuzzed_08.xml | 4 + .../idShortOverPatternExamples/fuzzed_09.xml | 4 + .../idShortOverPatternExamples/fuzzed_10.xml | 4 + .../hyphen_then_underscore.xml | 4 + .../many_internal_hyphens.xml | 4 + .../many_underscores.xml | 4 + .../minimal_digit.xml | 4 + .../minimal_lower.xml | 4 + .../minimal_underscore.xml | 4 + .../minimal_upper.xml | 4 + .../single_internal_hyphen.xml | 4 + .../underscore_after_first.xml | 4 + .../Xml/Expected/property/maximal.xml | 151 + .../Xml/Expected/property/minimal.xml | 3 + .../valueOverValueExamples/Any_URI_URI.xml | 4 + .../Any_URI_absolute_path_without_scheme.xml | 4 + .../valueOverValueExamples/Any_URI_empty.xml | 4 + .../Any_URI_fuzzed_01.xml | 4 + .../Any_URI_fuzzed_02.xml | 4 + .../Any_URI_fuzzed_03.xml | 4 + .../Any_URI_fuzzed_04.xml | 4 + .../Any_URI_fuzzed_05.xml | 4 + .../Any_URI_fuzzed_06.xml | 4 + .../Any_URI_fuzzed_07.xml | 4 + .../Any_URI_fuzzed_08.xml | 4 + .../Any_URI_fuzzed_09.xml | 4 + .../Any_URI_fuzzed_10.xml | 4 + .../Any_URI_integer.xml | 4 + .../Any_URI_relative_path_without_scheme.xml | 4 + ...Base_64_binary_an_empty_value_is_valid.xml | 4 + ...nary_equals_signs_are_used_for_padding.xml | 4 + .../Base_64_binary_fuzzed_01.xml | 4 + .../Base_64_binary_fuzzed_02.xml | 4 + .../Base_64_binary_fuzzed_03.xml | 4 + .../Base_64_binary_fuzzed_04.xml | 4 + .../Base_64_binary_fuzzed_05.xml | 4 + .../Base_64_binary_fuzzed_06.xml | 4 + .../Base_64_binary_fuzzed_07.xml | 4 + .../Base_64_binary_fuzzed_08.xml | 4 + .../Base_64_binary_fuzzed_09.xml | 4 + .../Base_64_binary_fuzzed_10.xml | 4 + ...space_is_allowed_anywhere_in_the_value.xml | 4 + ...Base_64_binary_without_space_lowercase.xml | 4 + ...Base_64_binary_without_space_uppercase.xml | 4 + .../Boolean_false_as_number.xml | 4 + .../Boolean_false_in_letters.xml | 4 + .../Boolean_true_as_number.xml | 4 + .../Boolean_true_in_letters.xml | 4 + .../Byte_common_example.xml | 4 + .../Byte_explicitly_positive.xml | 4 + .../valueOverValueExamples/Byte_fuzzed_01.xml | 4 + .../valueOverValueExamples/Byte_fuzzed_02.xml | 4 + .../valueOverValueExamples/Byte_fuzzed_03.xml | 4 + .../valueOverValueExamples/Byte_fuzzed_04.xml | 4 + .../valueOverValueExamples/Byte_fuzzed_05.xml | 4 + .../valueOverValueExamples/Byte_fuzzed_06.xml | 4 + .../valueOverValueExamples/Byte_fuzzed_07.xml | 4 + .../valueOverValueExamples/Byte_fuzzed_08.xml | 4 + .../valueOverValueExamples/Byte_fuzzed_09.xml | 4 + .../valueOverValueExamples/Byte_fuzzed_10.xml | 4 + .../valueOverValueExamples/Byte_max.xml | 4 + .../valueOverValueExamples/Byte_min.xml | 4 + .../valueOverValueExamples/Byte_negative.xml | 4 + .../Byte_prefixed_with_zeros.xml | 4 + .../valueOverValueExamples/Byte_zero.xml | 4 + .../Byte_zero_prefixed_with_zeros.xml | 4 + .../valueOverValueExamples/Date_date.xml | 4 + .../Date_date_with_large_negative_year.xml | 4 + .../Date_date_with_large_positive_year.xml | 4 + .../Date_date_with_negative_offset.xml | 4 + .../Date_date_with_positive_offset.xml | 4 + .../Date_date_with_utc.xml | 4 + .../Date_date_with_zero_offset.xml | 4 + .../valueOverValueExamples/Date_fuzzed_01.xml | 4 + .../valueOverValueExamples/Date_fuzzed_02.xml | 4 + .../valueOverValueExamples/Date_fuzzed_03.xml | 4 + .../valueOverValueExamples/Date_fuzzed_04.xml | 4 + .../valueOverValueExamples/Date_fuzzed_05.xml | 4 + .../valueOverValueExamples/Date_fuzzed_06.xml | 4 + .../valueOverValueExamples/Date_fuzzed_07.xml | 4 + .../valueOverValueExamples/Date_fuzzed_08.xml | 4 + .../valueOverValueExamples/Date_fuzzed_09.xml | 4 + .../valueOverValueExamples/Date_fuzzed_10.xml | 4 + .../Date_time_date_time_with_UTC.xml | 4 + ...ime_date_time_with_large_negative_year.xml | 4 + ...ime_date_time_with_large_positive_year.xml | 4 + ...date_time_with_long_fractional_seconds.xml | 4 + ...te_time_date_time_with_negative_offset.xml | 4 + ...te_time_date_time_with_positive_offset.xml | 4 + .../Date_time_date_time_with_zero_offset.xml | 4 + .../Date_time_date_time_without_zone.xml | 4 + .../Date_time_fuzzed_01.xml | 4 + .../Date_time_fuzzed_02.xml | 4 + .../Date_time_fuzzed_03.xml | 4 + .../Date_time_fuzzed_04.xml | 4 + .../Date_time_fuzzed_05.xml | 4 + .../Date_time_fuzzed_06.xml | 4 + .../Date_time_fuzzed_07.xml | 4 + .../Date_time_fuzzed_08.xml | 4 + .../Date_time_fuzzed_09.xml | 4 + .../Date_time_fuzzed_10.xml | 4 + .../Date_time_midnight_with_24_hours.xml | 4 + .../Date_time_midnight_with_zeros.xml | 4 + .../Date_time_year_1_bce_is_a_leap_year.xml | 4 + .../Date_time_year_5_bce_is_a_leap_year.xml | 4 + .../Date_year_1_bce_is_a_leap_year.xml | 4 + .../Date_year_5_bce_is_a_leap_year.xml | 4 + .../Decimal_decimal.xml | 4 + .../Decimal_decimal_with_long_fractional.xml | 4 + .../Decimal_decimal_with_preceding_zeros.xml | 4 + .../Decimal_fuzzed_01.xml | 4 + .../Decimal_fuzzed_02.xml | 4 + .../Decimal_fuzzed_03.xml | 4 + .../Decimal_fuzzed_04.xml | 4 + .../Decimal_fuzzed_05.xml | 4 + .../Decimal_fuzzed_06.xml | 4 + .../Decimal_fuzzed_07.xml | 4 + .../Decimal_fuzzed_08.xml | 4 + .../Decimal_fuzzed_09.xml | 4 + .../Decimal_fuzzed_10.xml | 4 + .../Decimal_integer.xml | 4 + .../Decimal_integer_with_preceding_zeros.xml | 4 + .../Decimal_very_large_decimal.xml | 4 + .../valueOverValueExamples/Double_double.xml | 4 + .../Double_fuzzed_01.xml | 4 + .../Double_fuzzed_02.xml | 4 + .../Double_fuzzed_03.xml | 4 + .../Double_fuzzed_04.xml | 4 + .../Double_fuzzed_05.xml | 4 + .../Double_fuzzed_06.xml | 4 + .../Double_fuzzed_07.xml | 4 + .../Double_fuzzed_08.xml | 4 + .../Double_fuzzed_09.xml | 4 + .../Double_fuzzed_10.xml | 4 + .../valueOverValueExamples/Double_inf.xml | 4 + .../valueOverValueExamples/Double_integer.xml | 4 + .../Double_integer_with_preceding_zeros.xml | 4 + ...of_precision_is_not_detected_by_design.xml | 4 + .../valueOverValueExamples/Double_lowest.xml | 4 + .../valueOverValueExamples/Double_max.xml | 4 + .../Double_minus_inf.xml | 4 + .../valueOverValueExamples/Double_nan.xml | 4 + .../Double_scientific_notation.xml | 4 + .../Double_scientific_notation_negative.xml | 4 + ..._scientific_notation_negative_exponent.xml | 4 + .../Double_scientific_notation_positive.xml | 4 + ..._scientific_notation_positive_exponent.xml | 4 + .../Double_very_large_normal.xml | 4 + .../Double_very_precise_subnormal.xml | 4 + .../Double_with_preceding_zeros.xml | 4 + .../Duration_day_seconds.xml | 4 + .../valueOverValueExamples/Duration_full.xml | 4 + .../Duration_fuzzed_01.xml | 4 + .../Duration_fuzzed_02.xml | 4 + .../Duration_fuzzed_03.xml | 4 + .../Duration_fuzzed_04.xml | 4 + .../Duration_fuzzed_05.xml | 4 + .../Duration_fuzzed_06.xml | 4 + .../Duration_fuzzed_07.xml | 4 + .../Duration_fuzzed_08.xml | 4 + .../Duration_fuzzed_09.xml | 4 + .../Duration_fuzzed_10.xml | 4 + .../Duration_long_second_fractal.xml | 4 + .../Duration_many_many_seconds.xml | 4 + .../Duration_month_seconds.xml | 4 + .../Duration_only_seconds.xml | 4 + .../Duration_only_year.xml | 4 + .../valueOverValueExamples/Float_float.xml | 4 + .../Float_fuzzed_01.xml | 4 + .../Float_fuzzed_02.xml | 4 + .../Float_fuzzed_03.xml | 4 + .../Float_fuzzed_04.xml | 4 + .../Float_fuzzed_05.xml | 4 + .../Float_fuzzed_06.xml | 4 + .../Float_fuzzed_07.xml | 4 + .../Float_fuzzed_08.xml | 4 + .../Float_fuzzed_09.xml | 4 + .../Float_fuzzed_10.xml | 4 + .../valueOverValueExamples/Float_inf.xml | 4 + .../valueOverValueExamples/Float_integer.xml | 4 + .../Float_integer_with_preceding_zeros.xml | 4 + .../Float_largest_normal.xml | 4 + .../Float_largest_number_less_than_one.xml | 4 + .../Float_largest_subnormal.xml | 4 + ...of_precision_is_not_detected_by_design.xml | 4 + .../valueOverValueExamples/Float_nan.xml | 4 + .../Float_negative_inf.xml | 4 + .../Float_scientific_notation.xml | 4 + .../Float_scientific_notation_negative.xml | 4 + ..._scientific_notation_negative_exponent.xml | 4 + .../Float_scientific_notation_positive.xml | 4 + ..._scientific_notation_positive_exponent.xml | 4 + .../Float_smallest_number_larger_than_one.xml | 4 + .../Float_smallest_positive_normal.xml | 4 + .../Float_smallest_positive_subnormal.xml | 4 + .../Float_with_preceding_zeros.xml | 4 + ...ot_existing_in_all_months_without_zone.xml | 4 + .../G_day_double_digit_day_without_zone.xml | 4 + .../G_day_fuzzed_01.xml | 4 + .../G_day_fuzzed_02.xml | 4 + .../G_day_fuzzed_03.xml | 4 + .../G_day_fuzzed_04.xml | 4 + .../G_day_fuzzed_05.xml | 4 + .../G_day_fuzzed_06.xml | 4 + .../G_day_fuzzed_07.xml | 4 + .../G_day_fuzzed_08.xml | 4 + .../G_day_fuzzed_09.xml | 4 + .../G_day_fuzzed_10.xml | 4 + .../G_day_negative_offset.xml | 4 + .../G_day_positive_offset.xml | 4 + .../G_day_single_digit_day_without_zone.xml | 4 + .../valueOverValueExamples/G_day_utc_zone.xml | 4 + .../G_day_zero_offset.xml | 4 + ...it_month_double_digit_day_without_zone.xml | 4 + ...it_month_single_digit_day_without_zone.xml | 4 + ...29th_which_does_not_exist_in_all_years.xml | 4 + .../G_month_day_fuzzed_01.xml | 4 + .../G_month_day_fuzzed_02.xml | 4 + .../G_month_day_fuzzed_03.xml | 4 + .../G_month_day_fuzzed_04.xml | 4 + .../G_month_day_fuzzed_05.xml | 4 + .../G_month_day_fuzzed_06.xml | 4 + .../G_month_day_fuzzed_07.xml | 4 + .../G_month_day_fuzzed_08.xml | 4 + .../G_month_day_fuzzed_09.xml | 4 + .../G_month_day_fuzzed_10.xml | 4 + .../G_month_day_negative_offset.xml | 4 + .../G_month_day_positive_offset.xml | 4 + ...it_month_single_digit_day_without_zone.xml | 4 + .../G_month_day_utc_zone.xml | 4 + .../G_month_day_zero_offset.xml | 4 + ..._month_double_digit_month_without_zone.xml | 4 + .../G_month_fuzzed_01.xml | 4 + .../G_month_fuzzed_02.xml | 4 + .../G_month_fuzzed_03.xml | 4 + .../G_month_fuzzed_04.xml | 4 + .../G_month_fuzzed_05.xml | 4 + .../G_month_fuzzed_06.xml | 4 + .../G_month_fuzzed_07.xml | 4 + .../G_month_fuzzed_08.xml | 4 + .../G_month_fuzzed_09.xml | 4 + .../G_month_fuzzed_10.xml | 4 + .../G_month_negative_offset.xml | 4 + .../G_month_positive_offset.xml | 4 + ..._month_single_digit_month_without_zone.xml | 4 + .../G_month_utc_zone.xml | 4 + .../G_month_zero_offset.xml | 4 + .../G_year_five_digit_negative_year.xml | 4 + .../G_year_five_digit_year.xml | 4 + .../G_year_fuzzed_01.xml | 4 + .../G_year_fuzzed_02.xml | 4 + .../G_year_fuzzed_03.xml | 4 + .../G_year_fuzzed_04.xml | 4 + .../G_year_fuzzed_05.xml | 4 + .../G_year_fuzzed_06.xml | 4 + .../G_year_fuzzed_07.xml | 4 + .../G_year_fuzzed_08.xml | 4 + .../G_year_fuzzed_09.xml | 4 + .../G_year_fuzzed_10.xml | 4 + .../G_year_month_common_year_month.xml | 4 + .../G_year_month_five_digit_negative_year.xml | 4 + .../G_year_month_fuzzed_01.xml | 4 + .../G_year_month_fuzzed_02.xml | 4 + .../G_year_month_fuzzed_03.xml | 4 + .../G_year_month_fuzzed_04.xml | 4 + .../G_year_month_fuzzed_05.xml | 4 + .../G_year_month_fuzzed_06.xml | 4 + .../G_year_month_fuzzed_07.xml | 4 + .../G_year_month_fuzzed_08.xml | 4 + .../G_year_month_fuzzed_09.xml | 4 + .../G_year_month_fuzzed_10.xml | 4 + .../G_year_month_negative_year.xml | 4 + .../G_year_month_very_large_negative_year.xml | 4 + .../G_year_month_very_large_positive_year.xml | 4 + .../G_year_month_with_negative_offset.xml | 4 + .../G_year_month_with_positive_offset.xml | 4 + .../G_year_month_with_utc_zone.xml | 4 + .../G_year_month_with_zero_offset.xml | 4 + .../G_year_negative_offset.xml | 4 + .../G_year_negative_year.xml | 4 + .../G_year_positive_offset.xml | 4 + .../G_year_utc_zone.xml | 4 + .../G_year_very_large_negative_year.xml | 4 + .../G_year_very_large_positive_year.xml | 4 + .../G_year_year_without_zone.xml | 4 + .../G_year_zero_offset.xml | 4 + .../Hex_binary_empty.xml | 4 + .../Hex_binary_fuzzed_01.xml | 4 + .../Hex_binary_fuzzed_02.xml | 4 + .../Hex_binary_fuzzed_03.xml | 4 + .../Hex_binary_fuzzed_04.xml | 4 + .../Hex_binary_fuzzed_05.xml | 4 + .../Hex_binary_fuzzed_06.xml | 4 + .../Hex_binary_fuzzed_07.xml | 4 + .../Hex_binary_fuzzed_08.xml | 4 + .../Hex_binary_fuzzed_09.xml | 4 + .../Hex_binary_fuzzed_10.xml | 4 + .../Hex_binary_long_random_hex.xml | 4 + .../Hex_binary_one_one.xml | 4 + .../Hex_binary_one_two.xml | 4 + .../Hex_binary_one_two_three_four.xml | 4 + .../Int_common_example.xml | 4 + .../Int_explicitly_positive.xml | 4 + .../valueOverValueExamples/Int_fuzzed_01.xml | 4 + .../valueOverValueExamples/Int_fuzzed_02.xml | 4 + .../valueOverValueExamples/Int_fuzzed_03.xml | 4 + .../valueOverValueExamples/Int_fuzzed_04.xml | 4 + .../valueOverValueExamples/Int_fuzzed_05.xml | 4 + .../valueOverValueExamples/Int_fuzzed_06.xml | 4 + .../valueOverValueExamples/Int_fuzzed_07.xml | 4 + .../valueOverValueExamples/Int_fuzzed_08.xml | 4 + .../valueOverValueExamples/Int_fuzzed_09.xml | 4 + .../valueOverValueExamples/Int_fuzzed_10.xml | 4 + .../valueOverValueExamples/Int_max.xml | 4 + .../valueOverValueExamples/Int_min.xml | 4 + .../valueOverValueExamples/Int_negative.xml | 4 + .../Int_prefixed_with_zeros.xml | 4 + .../valueOverValueExamples/Int_zero.xml | 4 + .../Int_zero_prefixed_with_zeros.xml | 4 + .../Integer_common_example.xml | 4 + .../Integer_explicitly_positive.xml | 4 + .../Integer_fuzzed_01.xml | 4 + .../Integer_fuzzed_02.xml | 4 + .../Integer_fuzzed_03.xml | 4 + .../Integer_fuzzed_04.xml | 4 + .../Integer_fuzzed_05.xml | 4 + .../Integer_fuzzed_06.xml | 4 + .../Integer_fuzzed_07.xml | 4 + .../Integer_fuzzed_08.xml | 4 + .../Integer_fuzzed_09.xml | 4 + .../Integer_fuzzed_10.xml | 4 + .../Integer_negative.xml | 4 + .../Integer_prefixed_with_zeros.xml | 4 + .../Integer_very_large.xml | 4 + .../valueOverValueExamples/Integer_zero.xml | 4 + .../Integer_zero_prefixed_with_zeros.xml | 4 + .../Long_common_example.xml | 4 + .../Long_explicitly_positive.xml | 4 + .../valueOverValueExamples/Long_fuzzed_01.xml | 4 + .../valueOverValueExamples/Long_fuzzed_02.xml | 4 + .../valueOverValueExamples/Long_fuzzed_03.xml | 4 + .../valueOverValueExamples/Long_fuzzed_04.xml | 4 + .../valueOverValueExamples/Long_fuzzed_05.xml | 4 + .../valueOverValueExamples/Long_fuzzed_06.xml | 4 + .../valueOverValueExamples/Long_fuzzed_07.xml | 4 + .../valueOverValueExamples/Long_fuzzed_08.xml | 4 + .../valueOverValueExamples/Long_fuzzed_09.xml | 4 + .../valueOverValueExamples/Long_fuzzed_10.xml | 4 + .../valueOverValueExamples/Long_max.xml | 4 + .../valueOverValueExamples/Long_min.xml | 4 + .../valueOverValueExamples/Long_negative.xml | 4 + .../Long_prefixed_with_zeros.xml | 4 + .../valueOverValueExamples/Long_zero.xml | 4 + .../Long_zero_prefixed_with_zeros.xml | 4 + .../Negative_integer_fuzzed_01.xml | 4 + .../Negative_integer_fuzzed_02.xml | 4 + .../Negative_integer_fuzzed_03.xml | 4 + .../Negative_integer_fuzzed_04.xml | 4 + .../Negative_integer_fuzzed_05.xml | 4 + .../Negative_integer_fuzzed_06.xml | 4 + .../Negative_integer_fuzzed_07.xml | 4 + .../Negative_integer_fuzzed_08.xml | 4 + .../Negative_integer_fuzzed_09.xml | 4 + .../Negative_integer_fuzzed_10.xml | 4 + .../Negative_integer_negative.xml | 4 + .../Negative_integer_prefixed_with_zeros.xml | 4 + .../Negative_integer_very_large.xml | 4 + .../Non_negative_integer_common_example.xml | 4 + ...n_negative_integer_explicitly_positive.xml | 4 + ...xplicitly_positive_prefixed_with_zeros.xml | 4 + .../Non_negative_integer_fuzzed_01.xml | 4 + .../Non_negative_integer_fuzzed_02.xml | 4 + .../Non_negative_integer_fuzzed_03.xml | 4 + .../Non_negative_integer_fuzzed_04.xml | 4 + .../Non_negative_integer_fuzzed_05.xml | 4 + .../Non_negative_integer_fuzzed_06.xml | 4 + .../Non_negative_integer_fuzzed_07.xml | 4 + .../Non_negative_integer_fuzzed_08.xml | 4 + .../Non_negative_integer_fuzzed_09.xml | 4 + .../Non_negative_integer_fuzzed_10.xml | 4 + .../Non_negative_integer_minus_zero.xml | 4 + .../Non_negative_integer_positive_zero.xml | 4 + ...n_negative_integer_prefixed_with_zeros.xml | 4 + .../Non_negative_integer_very_large.xml | 4 + .../Non_negative_integer_zero.xml | 4 + ...ative_integer_zero_prefixed_with_zeros.xml | 4 + ...itive_integer_explicitly_positive_zero.xml | 4 + .../Non_positive_integer_fuzzed_01.xml | 4 + .../Non_positive_integer_fuzzed_02.xml | 4 + .../Non_positive_integer_fuzzed_03.xml | 4 + .../Non_positive_integer_fuzzed_04.xml | 4 + .../Non_positive_integer_fuzzed_05.xml | 4 + .../Non_positive_integer_fuzzed_06.xml | 4 + .../Non_positive_integer_fuzzed_07.xml | 4 + .../Non_positive_integer_fuzzed_08.xml | 4 + .../Non_positive_integer_fuzzed_09.xml | 4 + .../Non_positive_integer_fuzzed_10.xml | 4 + .../Non_positive_integer_negative.xml | 4 + ...n_positive_integer_prefixed_with_zeros.xml | 4 + .../Non_positive_integer_very_large.xml | 4 + .../Non_positive_integer_zero.xml | 4 + .../Positive_integer_common_example.xml | 4 + .../Positive_integer_explicitly_positive.xml | 4 + .../Positive_integer_fuzzed_01.xml | 4 + .../Positive_integer_fuzzed_02.xml | 4 + .../Positive_integer_fuzzed_03.xml | 4 + .../Positive_integer_fuzzed_04.xml | 4 + .../Positive_integer_fuzzed_05.xml | 4 + .../Positive_integer_fuzzed_06.xml | 4 + .../Positive_integer_fuzzed_07.xml | 4 + .../Positive_integer_fuzzed_08.xml | 4 + .../Positive_integer_fuzzed_09.xml | 4 + .../Positive_integer_fuzzed_10.xml | 4 + .../Positive_integer_prefixed_with_zeros.xml | 4 + .../Positive_integer_very_large.xml | 4 + .../Short_common_example.xml | 4 + .../Short_explicitly_positive.xml | 4 + .../Short_fuzzed_01.xml | 4 + .../Short_fuzzed_02.xml | 4 + .../Short_fuzzed_03.xml | 4 + .../Short_fuzzed_04.xml | 4 + .../Short_fuzzed_05.xml | 4 + .../Short_fuzzed_06.xml | 4 + .../Short_fuzzed_07.xml | 4 + .../Short_fuzzed_08.xml | 4 + .../Short_fuzzed_09.xml | 4 + .../Short_fuzzed_10.xml | 4 + .../valueOverValueExamples/Short_max.xml | 4 + .../valueOverValueExamples/Short_min.xml | 4 + .../valueOverValueExamples/Short_negative.xml | 4 + .../Short_prefixed_with_zeros.xml | 4 + .../valueOverValueExamples/Short_zero.xml | 4 + .../Short_zero_prefixed_with_zeros.xml | 4 + .../valueOverValueExamples/String_empty.xml | 4 + .../String_free_form_text.xml | 4 + .../String_fuzzed_01.xml | 4 + .../String_fuzzed_02.xml | 4 + .../String_fuzzed_03.xml | 4 + .../String_fuzzed_04.xml | 4 + .../String_fuzzed_05.xml | 4 + .../String_fuzzed_06.xml | 4 + .../String_fuzzed_07.xml | 4 + .../String_fuzzed_08.xml | 4 + .../String_fuzzed_09.xml | 4 + .../String_fuzzed_10.xml | 4 + .../Time_common_example.xml | 4 + .../valueOverValueExamples/Time_fuzzed_01.xml | 4 + .../valueOverValueExamples/Time_fuzzed_02.xml | 4 + .../valueOverValueExamples/Time_fuzzed_03.xml | 4 + .../valueOverValueExamples/Time_fuzzed_04.xml | 4 + .../valueOverValueExamples/Time_fuzzed_05.xml | 4 + .../valueOverValueExamples/Time_fuzzed_06.xml | 4 + .../valueOverValueExamples/Time_fuzzed_07.xml | 4 + .../valueOverValueExamples/Time_fuzzed_08.xml | 4 + .../valueOverValueExamples/Time_fuzzed_09.xml | 4 + .../valueOverValueExamples/Time_fuzzed_10.xml | 4 + .../Time_negative_offset.xml | 4 + .../Time_positive_offset.xml | 4 + .../Time_with_long_second_fractional.xml | 4 + .../Time_with_second_fractional.xml | 4 + .../Time_with_utc_timezone.xml | 4 + .../Time_zero_offset.xml | 4 + .../Unsigned_byte_common_example.xml | 4 + .../Unsigned_byte_explicitly_positive.xml | 4 + .../Unsigned_byte_fuzzed_01.xml | 4 + .../Unsigned_byte_fuzzed_02.xml | 4 + .../Unsigned_byte_fuzzed_03.xml | 4 + .../Unsigned_byte_fuzzed_04.xml | 4 + .../Unsigned_byte_fuzzed_05.xml | 4 + .../Unsigned_byte_fuzzed_06.xml | 4 + .../Unsigned_byte_fuzzed_07.xml | 4 + .../Unsigned_byte_fuzzed_08.xml | 4 + .../Unsigned_byte_fuzzed_09.xml | 4 + .../Unsigned_byte_fuzzed_10.xml | 4 + .../Unsigned_byte_max.xml | 4 + .../Unsigned_byte_prefixed_with_zeros.xml | 4 + .../Unsigned_byte_zero.xml | 4 + ...Unsigned_byte_zero_prefixed_with_zeros.xml | 4 + .../Unsigned_int_common_example.xml | 4 + .../Unsigned_int_explicitly_positive.xml | 4 + .../Unsigned_int_fuzzed_01.xml | 4 + .../Unsigned_int_fuzzed_02.xml | 4 + .../Unsigned_int_fuzzed_03.xml | 4 + .../Unsigned_int_fuzzed_04.xml | 4 + .../Unsigned_int_fuzzed_05.xml | 4 + .../Unsigned_int_fuzzed_06.xml | 4 + .../Unsigned_int_fuzzed_07.xml | 4 + .../Unsigned_int_fuzzed_08.xml | 4 + .../Unsigned_int_fuzzed_09.xml | 4 + .../Unsigned_int_fuzzed_10.xml | 4 + .../Unsigned_int_max.xml | 4 + .../Unsigned_int_prefixed_with_zeros.xml | 4 + .../Unsigned_int_zero.xml | 4 + .../Unsigned_int_zero_prefixed_with_zeros.xml | 4 + .../Unsigned_long_common_example.xml | 4 + .../Unsigned_long_explicitly_positive.xml | 4 + .../Unsigned_long_fuzzed_01.xml | 4 + .../Unsigned_long_fuzzed_02.xml | 4 + .../Unsigned_long_fuzzed_03.xml | 4 + .../Unsigned_long_fuzzed_04.xml | 4 + .../Unsigned_long_fuzzed_05.xml | 4 + .../Unsigned_long_fuzzed_06.xml | 4 + .../Unsigned_long_fuzzed_07.xml | 4 + .../Unsigned_long_fuzzed_08.xml | 4 + .../Unsigned_long_fuzzed_09.xml | 4 + .../Unsigned_long_fuzzed_10.xml | 4 + .../Unsigned_long_max.xml | 4 + .../Unsigned_long_prefixed_with_zeros.xml | 4 + .../Unsigned_long_zero.xml | 4 + ...Unsigned_long_zero_prefixed_with_zeros.xml | 4 + .../Unsigned_short_common_example.xml | 4 + .../Unsigned_short_explicitly_positive.xml | 4 + .../Unsigned_short_fuzzed_01.xml | 4 + .../Unsigned_short_fuzzed_02.xml | 4 + .../Unsigned_short_fuzzed_03.xml | 4 + .../Unsigned_short_fuzzed_04.xml | 4 + .../Unsigned_short_fuzzed_05.xml | 4 + .../Unsigned_short_fuzzed_06.xml | 4 + .../Unsigned_short_fuzzed_07.xml | 4 + .../Unsigned_short_fuzzed_08.xml | 4 + .../Unsigned_short_fuzzed_09.xml | 4 + .../Unsigned_short_fuzzed_10.xml | 4 + .../Unsigned_short_max.xml | 4 + .../Unsigned_short_prefixed_with_zeros.xml | 4 + .../Unsigned_short_zero.xml | 4 + ...nsigned_short_zero_prefixed_with_zeros.xml | 4 + .../Xml/Expected/qualifier/maximal.xml | 53 + .../Xml/Expected/qualifier/minimal.xml | 4 + .../typeOverPatternExamples/fuzzed_01.xml | 4 + .../typeOverPatternExamples/fuzzed_02.xml | 4 + .../typeOverPatternExamples/fuzzed_03.xml | 4 + .../typeOverPatternExamples/fuzzed_04.xml | 4 + .../typeOverPatternExamples/fuzzed_05.xml | 4 + .../typeOverPatternExamples/fuzzed_06.xml | 4 + .../typeOverPatternExamples/fuzzed_07.xml | 4 + .../typeOverPatternExamples/fuzzed_08.xml | 4 + .../typeOverPatternExamples/fuzzed_09.xml | 4 + .../typeOverPatternExamples/fuzzed_10.xml | 4 + .../valueOverValueExamples/Any_URI_URI.xml | 5 + .../Any_URI_absolute_path_without_scheme.xml | 5 + .../valueOverValueExamples/Any_URI_empty.xml | 5 + .../Any_URI_fuzzed_01.xml | 5 + .../Any_URI_fuzzed_02.xml | 5 + .../Any_URI_fuzzed_03.xml | 5 + .../Any_URI_fuzzed_04.xml | 5 + .../Any_URI_fuzzed_05.xml | 5 + .../Any_URI_fuzzed_06.xml | 5 + .../Any_URI_fuzzed_07.xml | 5 + .../Any_URI_fuzzed_08.xml | 5 + .../Any_URI_fuzzed_09.xml | 5 + .../Any_URI_fuzzed_10.xml | 5 + .../Any_URI_integer.xml | 5 + .../Any_URI_relative_path_without_scheme.xml | 5 + ...Base_64_binary_an_empty_value_is_valid.xml | 5 + ...nary_equals_signs_are_used_for_padding.xml | 5 + .../Base_64_binary_fuzzed_01.xml | 5 + .../Base_64_binary_fuzzed_02.xml | 5 + .../Base_64_binary_fuzzed_03.xml | 5 + .../Base_64_binary_fuzzed_04.xml | 5 + .../Base_64_binary_fuzzed_05.xml | 5 + .../Base_64_binary_fuzzed_06.xml | 5 + .../Base_64_binary_fuzzed_07.xml | 5 + .../Base_64_binary_fuzzed_08.xml | 5 + .../Base_64_binary_fuzzed_09.xml | 5 + .../Base_64_binary_fuzzed_10.xml | 5 + ...space_is_allowed_anywhere_in_the_value.xml | 5 + ...Base_64_binary_without_space_lowercase.xml | 5 + ...Base_64_binary_without_space_uppercase.xml | 5 + .../Boolean_false_as_number.xml | 5 + .../Boolean_false_in_letters.xml | 5 + .../Boolean_true_as_number.xml | 5 + .../Boolean_true_in_letters.xml | 5 + .../Byte_common_example.xml | 5 + .../Byte_explicitly_positive.xml | 5 + .../valueOverValueExamples/Byte_fuzzed_01.xml | 5 + .../valueOverValueExamples/Byte_fuzzed_02.xml | 5 + .../valueOverValueExamples/Byte_fuzzed_03.xml | 5 + .../valueOverValueExamples/Byte_fuzzed_04.xml | 5 + .../valueOverValueExamples/Byte_fuzzed_05.xml | 5 + .../valueOverValueExamples/Byte_fuzzed_06.xml | 5 + .../valueOverValueExamples/Byte_fuzzed_07.xml | 5 + .../valueOverValueExamples/Byte_fuzzed_08.xml | 5 + .../valueOverValueExamples/Byte_fuzzed_09.xml | 5 + .../valueOverValueExamples/Byte_fuzzed_10.xml | 5 + .../valueOverValueExamples/Byte_max.xml | 5 + .../valueOverValueExamples/Byte_min.xml | 5 + .../valueOverValueExamples/Byte_negative.xml | 5 + .../Byte_prefixed_with_zeros.xml | 5 + .../valueOverValueExamples/Byte_zero.xml | 5 + .../Byte_zero_prefixed_with_zeros.xml | 5 + .../valueOverValueExamples/Date_date.xml | 5 + .../Date_date_with_large_negative_year.xml | 5 + .../Date_date_with_large_positive_year.xml | 5 + .../Date_date_with_negative_offset.xml | 5 + .../Date_date_with_positive_offset.xml | 5 + .../Date_date_with_utc.xml | 5 + .../Date_date_with_zero_offset.xml | 5 + .../valueOverValueExamples/Date_fuzzed_01.xml | 5 + .../valueOverValueExamples/Date_fuzzed_02.xml | 5 + .../valueOverValueExamples/Date_fuzzed_03.xml | 5 + .../valueOverValueExamples/Date_fuzzed_04.xml | 5 + .../valueOverValueExamples/Date_fuzzed_05.xml | 5 + .../valueOverValueExamples/Date_fuzzed_06.xml | 5 + .../valueOverValueExamples/Date_fuzzed_07.xml | 5 + .../valueOverValueExamples/Date_fuzzed_08.xml | 5 + .../valueOverValueExamples/Date_fuzzed_09.xml | 5 + .../valueOverValueExamples/Date_fuzzed_10.xml | 5 + .../Date_time_date_time_with_UTC.xml | 5 + ...ime_date_time_with_large_negative_year.xml | 5 + ...ime_date_time_with_large_positive_year.xml | 5 + ...date_time_with_long_fractional_seconds.xml | 5 + ...te_time_date_time_with_negative_offset.xml | 5 + ...te_time_date_time_with_positive_offset.xml | 5 + .../Date_time_date_time_with_zero_offset.xml | 5 + .../Date_time_date_time_without_zone.xml | 5 + .../Date_time_fuzzed_01.xml | 5 + .../Date_time_fuzzed_02.xml | 5 + .../Date_time_fuzzed_03.xml | 5 + .../Date_time_fuzzed_04.xml | 5 + .../Date_time_fuzzed_05.xml | 5 + .../Date_time_fuzzed_06.xml | 5 + .../Date_time_fuzzed_07.xml | 5 + .../Date_time_fuzzed_08.xml | 5 + .../Date_time_fuzzed_09.xml | 5 + .../Date_time_fuzzed_10.xml | 5 + .../Date_time_midnight_with_24_hours.xml | 5 + .../Date_time_midnight_with_zeros.xml | 5 + .../Date_time_year_1_bce_is_a_leap_year.xml | 5 + .../Date_time_year_5_bce_is_a_leap_year.xml | 5 + .../Date_year_1_bce_is_a_leap_year.xml | 5 + .../Date_year_5_bce_is_a_leap_year.xml | 5 + .../Decimal_decimal.xml | 5 + .../Decimal_decimal_with_long_fractional.xml | 5 + .../Decimal_decimal_with_preceding_zeros.xml | 5 + .../Decimal_fuzzed_01.xml | 5 + .../Decimal_fuzzed_02.xml | 5 + .../Decimal_fuzzed_03.xml | 5 + .../Decimal_fuzzed_04.xml | 5 + .../Decimal_fuzzed_05.xml | 5 + .../Decimal_fuzzed_06.xml | 5 + .../Decimal_fuzzed_07.xml | 5 + .../Decimal_fuzzed_08.xml | 5 + .../Decimal_fuzzed_09.xml | 5 + .../Decimal_fuzzed_10.xml | 5 + .../Decimal_integer.xml | 5 + .../Decimal_integer_with_preceding_zeros.xml | 5 + .../Decimal_very_large_decimal.xml | 5 + .../valueOverValueExamples/Double_double.xml | 5 + .../Double_fuzzed_01.xml | 5 + .../Double_fuzzed_02.xml | 5 + .../Double_fuzzed_03.xml | 5 + .../Double_fuzzed_04.xml | 5 + .../Double_fuzzed_05.xml | 5 + .../Double_fuzzed_06.xml | 5 + .../Double_fuzzed_07.xml | 5 + .../Double_fuzzed_08.xml | 5 + .../Double_fuzzed_09.xml | 5 + .../Double_fuzzed_10.xml | 5 + .../valueOverValueExamples/Double_inf.xml | 5 + .../valueOverValueExamples/Double_integer.xml | 5 + .../Double_integer_with_preceding_zeros.xml | 5 + ...of_precision_is_not_detected_by_design.xml | 5 + .../valueOverValueExamples/Double_lowest.xml | 5 + .../valueOverValueExamples/Double_max.xml | 5 + .../Double_minus_inf.xml | 5 + .../valueOverValueExamples/Double_nan.xml | 5 + .../Double_scientific_notation.xml | 5 + .../Double_scientific_notation_negative.xml | 5 + ..._scientific_notation_negative_exponent.xml | 5 + .../Double_scientific_notation_positive.xml | 5 + ..._scientific_notation_positive_exponent.xml | 5 + .../Double_very_large_normal.xml | 5 + .../Double_very_precise_subnormal.xml | 5 + .../Double_with_preceding_zeros.xml | 5 + .../Duration_day_seconds.xml | 5 + .../valueOverValueExamples/Duration_full.xml | 5 + .../Duration_fuzzed_01.xml | 5 + .../Duration_fuzzed_02.xml | 5 + .../Duration_fuzzed_03.xml | 5 + .../Duration_fuzzed_04.xml | 5 + .../Duration_fuzzed_05.xml | 5 + .../Duration_fuzzed_06.xml | 5 + .../Duration_fuzzed_07.xml | 5 + .../Duration_fuzzed_08.xml | 5 + .../Duration_fuzzed_09.xml | 5 + .../Duration_fuzzed_10.xml | 5 + .../Duration_long_second_fractal.xml | 5 + .../Duration_many_many_seconds.xml | 5 + .../Duration_month_seconds.xml | 5 + .../Duration_only_seconds.xml | 5 + .../Duration_only_year.xml | 5 + .../valueOverValueExamples/Float_float.xml | 5 + .../Float_fuzzed_01.xml | 5 + .../Float_fuzzed_02.xml | 5 + .../Float_fuzzed_03.xml | 5 + .../Float_fuzzed_04.xml | 5 + .../Float_fuzzed_05.xml | 5 + .../Float_fuzzed_06.xml | 5 + .../Float_fuzzed_07.xml | 5 + .../Float_fuzzed_08.xml | 5 + .../Float_fuzzed_09.xml | 5 + .../Float_fuzzed_10.xml | 5 + .../valueOverValueExamples/Float_inf.xml | 5 + .../valueOverValueExamples/Float_integer.xml | 5 + .../Float_integer_with_preceding_zeros.xml | 5 + .../Float_largest_normal.xml | 5 + .../Float_largest_number_less_than_one.xml | 5 + .../Float_largest_subnormal.xml | 5 + ...of_precision_is_not_detected_by_design.xml | 5 + .../valueOverValueExamples/Float_nan.xml | 5 + .../Float_negative_inf.xml | 5 + .../Float_scientific_notation.xml | 5 + .../Float_scientific_notation_negative.xml | 5 + ..._scientific_notation_negative_exponent.xml | 5 + .../Float_scientific_notation_positive.xml | 5 + ..._scientific_notation_positive_exponent.xml | 5 + .../Float_smallest_number_larger_than_one.xml | 5 + .../Float_smallest_positive_normal.xml | 5 + .../Float_smallest_positive_subnormal.xml | 5 + .../Float_with_preceding_zeros.xml | 5 + ...ot_existing_in_all_months_without_zone.xml | 5 + .../G_day_double_digit_day_without_zone.xml | 5 + .../G_day_fuzzed_01.xml | 5 + .../G_day_fuzzed_02.xml | 5 + .../G_day_fuzzed_03.xml | 5 + .../G_day_fuzzed_04.xml | 5 + .../G_day_fuzzed_05.xml | 5 + .../G_day_fuzzed_06.xml | 5 + .../G_day_fuzzed_07.xml | 5 + .../G_day_fuzzed_08.xml | 5 + .../G_day_fuzzed_09.xml | 5 + .../G_day_fuzzed_10.xml | 5 + .../G_day_negative_offset.xml | 5 + .../G_day_positive_offset.xml | 5 + .../G_day_single_digit_day_without_zone.xml | 5 + .../valueOverValueExamples/G_day_utc_zone.xml | 5 + .../G_day_zero_offset.xml | 5 + ...it_month_double_digit_day_without_zone.xml | 5 + ...it_month_single_digit_day_without_zone.xml | 5 + ...29th_which_does_not_exist_in_all_years.xml | 5 + .../G_month_day_fuzzed_01.xml | 5 + .../G_month_day_fuzzed_02.xml | 5 + .../G_month_day_fuzzed_03.xml | 5 + .../G_month_day_fuzzed_04.xml | 5 + .../G_month_day_fuzzed_05.xml | 5 + .../G_month_day_fuzzed_06.xml | 5 + .../G_month_day_fuzzed_07.xml | 5 + .../G_month_day_fuzzed_08.xml | 5 + .../G_month_day_fuzzed_09.xml | 5 + .../G_month_day_fuzzed_10.xml | 5 + .../G_month_day_negative_offset.xml | 5 + .../G_month_day_positive_offset.xml | 5 + ...it_month_single_digit_day_without_zone.xml | 5 + .../G_month_day_utc_zone.xml | 5 + .../G_month_day_zero_offset.xml | 5 + ..._month_double_digit_month_without_zone.xml | 5 + .../G_month_fuzzed_01.xml | 5 + .../G_month_fuzzed_02.xml | 5 + .../G_month_fuzzed_03.xml | 5 + .../G_month_fuzzed_04.xml | 5 + .../G_month_fuzzed_05.xml | 5 + .../G_month_fuzzed_06.xml | 5 + .../G_month_fuzzed_07.xml | 5 + .../G_month_fuzzed_08.xml | 5 + .../G_month_fuzzed_09.xml | 5 + .../G_month_fuzzed_10.xml | 5 + .../G_month_negative_offset.xml | 5 + .../G_month_positive_offset.xml | 5 + ..._month_single_digit_month_without_zone.xml | 5 + .../G_month_utc_zone.xml | 5 + .../G_month_zero_offset.xml | 5 + .../G_year_five_digit_negative_year.xml | 5 + .../G_year_five_digit_year.xml | 5 + .../G_year_fuzzed_01.xml | 5 + .../G_year_fuzzed_02.xml | 5 + .../G_year_fuzzed_03.xml | 5 + .../G_year_fuzzed_04.xml | 5 + .../G_year_fuzzed_05.xml | 5 + .../G_year_fuzzed_06.xml | 5 + .../G_year_fuzzed_07.xml | 5 + .../G_year_fuzzed_08.xml | 5 + .../G_year_fuzzed_09.xml | 5 + .../G_year_fuzzed_10.xml | 5 + .../G_year_month_common_year_month.xml | 5 + .../G_year_month_five_digit_negative_year.xml | 5 + .../G_year_month_fuzzed_01.xml | 5 + .../G_year_month_fuzzed_02.xml | 5 + .../G_year_month_fuzzed_03.xml | 5 + .../G_year_month_fuzzed_04.xml | 5 + .../G_year_month_fuzzed_05.xml | 5 + .../G_year_month_fuzzed_06.xml | 5 + .../G_year_month_fuzzed_07.xml | 5 + .../G_year_month_fuzzed_08.xml | 5 + .../G_year_month_fuzzed_09.xml | 5 + .../G_year_month_fuzzed_10.xml | 5 + .../G_year_month_negative_year.xml | 5 + .../G_year_month_very_large_negative_year.xml | 5 + .../G_year_month_very_large_positive_year.xml | 5 + .../G_year_month_with_negative_offset.xml | 5 + .../G_year_month_with_positive_offset.xml | 5 + .../G_year_month_with_utc_zone.xml | 5 + .../G_year_month_with_zero_offset.xml | 5 + .../G_year_negative_offset.xml | 5 + .../G_year_negative_year.xml | 5 + .../G_year_positive_offset.xml | 5 + .../G_year_utc_zone.xml | 5 + .../G_year_very_large_negative_year.xml | 5 + .../G_year_very_large_positive_year.xml | 5 + .../G_year_year_without_zone.xml | 5 + .../G_year_zero_offset.xml | 5 + .../Hex_binary_empty.xml | 5 + .../Hex_binary_fuzzed_01.xml | 5 + .../Hex_binary_fuzzed_02.xml | 5 + .../Hex_binary_fuzzed_03.xml | 5 + .../Hex_binary_fuzzed_04.xml | 5 + .../Hex_binary_fuzzed_05.xml | 5 + .../Hex_binary_fuzzed_06.xml | 5 + .../Hex_binary_fuzzed_07.xml | 5 + .../Hex_binary_fuzzed_08.xml | 5 + .../Hex_binary_fuzzed_09.xml | 5 + .../Hex_binary_fuzzed_10.xml | 5 + .../Hex_binary_long_random_hex.xml | 5 + .../Hex_binary_one_one.xml | 5 + .../Hex_binary_one_two.xml | 5 + .../Hex_binary_one_two_three_four.xml | 5 + .../Int_common_example.xml | 5 + .../Int_explicitly_positive.xml | 5 + .../valueOverValueExamples/Int_fuzzed_01.xml | 5 + .../valueOverValueExamples/Int_fuzzed_02.xml | 5 + .../valueOverValueExamples/Int_fuzzed_03.xml | 5 + .../valueOverValueExamples/Int_fuzzed_04.xml | 5 + .../valueOverValueExamples/Int_fuzzed_05.xml | 5 + .../valueOverValueExamples/Int_fuzzed_06.xml | 5 + .../valueOverValueExamples/Int_fuzzed_07.xml | 5 + .../valueOverValueExamples/Int_fuzzed_08.xml | 5 + .../valueOverValueExamples/Int_fuzzed_09.xml | 5 + .../valueOverValueExamples/Int_fuzzed_10.xml | 5 + .../valueOverValueExamples/Int_max.xml | 5 + .../valueOverValueExamples/Int_min.xml | 5 + .../valueOverValueExamples/Int_negative.xml | 5 + .../Int_prefixed_with_zeros.xml | 5 + .../valueOverValueExamples/Int_zero.xml | 5 + .../Int_zero_prefixed_with_zeros.xml | 5 + .../Integer_common_example.xml | 5 + .../Integer_explicitly_positive.xml | 5 + .../Integer_fuzzed_01.xml | 5 + .../Integer_fuzzed_02.xml | 5 + .../Integer_fuzzed_03.xml | 5 + .../Integer_fuzzed_04.xml | 5 + .../Integer_fuzzed_05.xml | 5 + .../Integer_fuzzed_06.xml | 5 + .../Integer_fuzzed_07.xml | 5 + .../Integer_fuzzed_08.xml | 5 + .../Integer_fuzzed_09.xml | 5 + .../Integer_fuzzed_10.xml | 5 + .../Integer_negative.xml | 5 + .../Integer_prefixed_with_zeros.xml | 5 + .../Integer_very_large.xml | 5 + .../valueOverValueExamples/Integer_zero.xml | 5 + .../Integer_zero_prefixed_with_zeros.xml | 5 + .../Long_common_example.xml | 5 + .../Long_explicitly_positive.xml | 5 + .../valueOverValueExamples/Long_fuzzed_01.xml | 5 + .../valueOverValueExamples/Long_fuzzed_02.xml | 5 + .../valueOverValueExamples/Long_fuzzed_03.xml | 5 + .../valueOverValueExamples/Long_fuzzed_04.xml | 5 + .../valueOverValueExamples/Long_fuzzed_05.xml | 5 + .../valueOverValueExamples/Long_fuzzed_06.xml | 5 + .../valueOverValueExamples/Long_fuzzed_07.xml | 5 + .../valueOverValueExamples/Long_fuzzed_08.xml | 5 + .../valueOverValueExamples/Long_fuzzed_09.xml | 5 + .../valueOverValueExamples/Long_fuzzed_10.xml | 5 + .../valueOverValueExamples/Long_max.xml | 5 + .../valueOverValueExamples/Long_min.xml | 5 + .../valueOverValueExamples/Long_negative.xml | 5 + .../Long_prefixed_with_zeros.xml | 5 + .../valueOverValueExamples/Long_zero.xml | 5 + .../Long_zero_prefixed_with_zeros.xml | 5 + .../Negative_integer_fuzzed_01.xml | 5 + .../Negative_integer_fuzzed_02.xml | 5 + .../Negative_integer_fuzzed_03.xml | 5 + .../Negative_integer_fuzzed_04.xml | 5 + .../Negative_integer_fuzzed_05.xml | 5 + .../Negative_integer_fuzzed_06.xml | 5 + .../Negative_integer_fuzzed_07.xml | 5 + .../Negative_integer_fuzzed_08.xml | 5 + .../Negative_integer_fuzzed_09.xml | 5 + .../Negative_integer_fuzzed_10.xml | 5 + .../Negative_integer_negative.xml | 5 + .../Negative_integer_prefixed_with_zeros.xml | 5 + .../Negative_integer_very_large.xml | 5 + .../Non_negative_integer_common_example.xml | 5 + ...n_negative_integer_explicitly_positive.xml | 5 + ...xplicitly_positive_prefixed_with_zeros.xml | 5 + .../Non_negative_integer_fuzzed_01.xml | 5 + .../Non_negative_integer_fuzzed_02.xml | 5 + .../Non_negative_integer_fuzzed_03.xml | 5 + .../Non_negative_integer_fuzzed_04.xml | 5 + .../Non_negative_integer_fuzzed_05.xml | 5 + .../Non_negative_integer_fuzzed_06.xml | 5 + .../Non_negative_integer_fuzzed_07.xml | 5 + .../Non_negative_integer_fuzzed_08.xml | 5 + .../Non_negative_integer_fuzzed_09.xml | 5 + .../Non_negative_integer_fuzzed_10.xml | 5 + .../Non_negative_integer_minus_zero.xml | 5 + .../Non_negative_integer_positive_zero.xml | 5 + ...n_negative_integer_prefixed_with_zeros.xml | 5 + .../Non_negative_integer_very_large.xml | 5 + .../Non_negative_integer_zero.xml | 5 + ...ative_integer_zero_prefixed_with_zeros.xml | 5 + ...itive_integer_explicitly_positive_zero.xml | 5 + .../Non_positive_integer_fuzzed_01.xml | 5 + .../Non_positive_integer_fuzzed_02.xml | 5 + .../Non_positive_integer_fuzzed_03.xml | 5 + .../Non_positive_integer_fuzzed_04.xml | 5 + .../Non_positive_integer_fuzzed_05.xml | 5 + .../Non_positive_integer_fuzzed_06.xml | 5 + .../Non_positive_integer_fuzzed_07.xml | 5 + .../Non_positive_integer_fuzzed_08.xml | 5 + .../Non_positive_integer_fuzzed_09.xml | 5 + .../Non_positive_integer_fuzzed_10.xml | 5 + .../Non_positive_integer_negative.xml | 5 + ...n_positive_integer_prefixed_with_zeros.xml | 5 + .../Non_positive_integer_very_large.xml | 5 + .../Non_positive_integer_zero.xml | 5 + .../Positive_integer_common_example.xml | 5 + .../Positive_integer_explicitly_positive.xml | 5 + .../Positive_integer_fuzzed_01.xml | 5 + .../Positive_integer_fuzzed_02.xml | 5 + .../Positive_integer_fuzzed_03.xml | 5 + .../Positive_integer_fuzzed_04.xml | 5 + .../Positive_integer_fuzzed_05.xml | 5 + .../Positive_integer_fuzzed_06.xml | 5 + .../Positive_integer_fuzzed_07.xml | 5 + .../Positive_integer_fuzzed_08.xml | 5 + .../Positive_integer_fuzzed_09.xml | 5 + .../Positive_integer_fuzzed_10.xml | 5 + .../Positive_integer_prefixed_with_zeros.xml | 5 + .../Positive_integer_very_large.xml | 5 + .../Short_common_example.xml | 5 + .../Short_explicitly_positive.xml | 5 + .../Short_fuzzed_01.xml | 5 + .../Short_fuzzed_02.xml | 5 + .../Short_fuzzed_03.xml | 5 + .../Short_fuzzed_04.xml | 5 + .../Short_fuzzed_05.xml | 5 + .../Short_fuzzed_06.xml | 5 + .../Short_fuzzed_07.xml | 5 + .../Short_fuzzed_08.xml | 5 + .../Short_fuzzed_09.xml | 5 + .../Short_fuzzed_10.xml | 5 + .../valueOverValueExamples/Short_max.xml | 5 + .../valueOverValueExamples/Short_min.xml | 5 + .../valueOverValueExamples/Short_negative.xml | 5 + .../Short_prefixed_with_zeros.xml | 5 + .../valueOverValueExamples/Short_zero.xml | 5 + .../Short_zero_prefixed_with_zeros.xml | 5 + .../valueOverValueExamples/String_empty.xml | 5 + .../String_free_form_text.xml | 5 + .../String_fuzzed_01.xml | 5 + .../String_fuzzed_02.xml | 5 + .../String_fuzzed_03.xml | 5 + .../String_fuzzed_04.xml | 5 + .../String_fuzzed_05.xml | 5 + .../String_fuzzed_06.xml | 5 + .../String_fuzzed_07.xml | 5 + .../String_fuzzed_08.xml | 5 + .../String_fuzzed_09.xml | 5 + .../String_fuzzed_10.xml | 5 + .../Time_common_example.xml | 5 + .../valueOverValueExamples/Time_fuzzed_01.xml | 5 + .../valueOverValueExamples/Time_fuzzed_02.xml | 5 + .../valueOverValueExamples/Time_fuzzed_03.xml | 5 + .../valueOverValueExamples/Time_fuzzed_04.xml | 5 + .../valueOverValueExamples/Time_fuzzed_05.xml | 5 + .../valueOverValueExamples/Time_fuzzed_06.xml | 5 + .../valueOverValueExamples/Time_fuzzed_07.xml | 5 + .../valueOverValueExamples/Time_fuzzed_08.xml | 5 + .../valueOverValueExamples/Time_fuzzed_09.xml | 5 + .../valueOverValueExamples/Time_fuzzed_10.xml | 5 + .../Time_negative_offset.xml | 5 + .../Time_positive_offset.xml | 5 + .../Time_with_long_second_fractional.xml | 5 + .../Time_with_second_fractional.xml | 5 + .../Time_with_utc_timezone.xml | 5 + .../Time_zero_offset.xml | 5 + .../Unsigned_byte_common_example.xml | 5 + .../Unsigned_byte_explicitly_positive.xml | 5 + .../Unsigned_byte_fuzzed_01.xml | 5 + .../Unsigned_byte_fuzzed_02.xml | 5 + .../Unsigned_byte_fuzzed_03.xml | 5 + .../Unsigned_byte_fuzzed_04.xml | 5 + .../Unsigned_byte_fuzzed_05.xml | 5 + .../Unsigned_byte_fuzzed_06.xml | 5 + .../Unsigned_byte_fuzzed_07.xml | 5 + .../Unsigned_byte_fuzzed_08.xml | 5 + .../Unsigned_byte_fuzzed_09.xml | 5 + .../Unsigned_byte_fuzzed_10.xml | 5 + .../Unsigned_byte_max.xml | 5 + .../Unsigned_byte_prefixed_with_zeros.xml | 5 + .../Unsigned_byte_zero.xml | 5 + ...Unsigned_byte_zero_prefixed_with_zeros.xml | 5 + .../Unsigned_int_common_example.xml | 5 + .../Unsigned_int_explicitly_positive.xml | 5 + .../Unsigned_int_fuzzed_01.xml | 5 + .../Unsigned_int_fuzzed_02.xml | 5 + .../Unsigned_int_fuzzed_03.xml | 5 + .../Unsigned_int_fuzzed_04.xml | 5 + .../Unsigned_int_fuzzed_05.xml | 5 + .../Unsigned_int_fuzzed_06.xml | 5 + .../Unsigned_int_fuzzed_07.xml | 5 + .../Unsigned_int_fuzzed_08.xml | 5 + .../Unsigned_int_fuzzed_09.xml | 5 + .../Unsigned_int_fuzzed_10.xml | 5 + .../Unsigned_int_max.xml | 5 + .../Unsigned_int_prefixed_with_zeros.xml | 5 + .../Unsigned_int_zero.xml | 5 + .../Unsigned_int_zero_prefixed_with_zeros.xml | 5 + .../Unsigned_long_common_example.xml | 5 + .../Unsigned_long_explicitly_positive.xml | 5 + .../Unsigned_long_fuzzed_01.xml | 5 + .../Unsigned_long_fuzzed_02.xml | 5 + .../Unsigned_long_fuzzed_03.xml | 5 + .../Unsigned_long_fuzzed_04.xml | 5 + .../Unsigned_long_fuzzed_05.xml | 5 + .../Unsigned_long_fuzzed_06.xml | 5 + .../Unsigned_long_fuzzed_07.xml | 5 + .../Unsigned_long_fuzzed_08.xml | 5 + .../Unsigned_long_fuzzed_09.xml | 5 + .../Unsigned_long_fuzzed_10.xml | 5 + .../Unsigned_long_max.xml | 5 + .../Unsigned_long_prefixed_with_zeros.xml | 5 + .../Unsigned_long_zero.xml | 5 + ...Unsigned_long_zero_prefixed_with_zeros.xml | 5 + .../Unsigned_short_common_example.xml | 5 + .../Unsigned_short_explicitly_positive.xml | 5 + .../Unsigned_short_fuzzed_01.xml | 5 + .../Unsigned_short_fuzzed_02.xml | 5 + .../Unsigned_short_fuzzed_03.xml | 5 + .../Unsigned_short_fuzzed_04.xml | 5 + .../Unsigned_short_fuzzed_05.xml | 5 + .../Unsigned_short_fuzzed_06.xml | 5 + .../Unsigned_short_fuzzed_07.xml | 5 + .../Unsigned_short_fuzzed_08.xml | 5 + .../Unsigned_short_fuzzed_09.xml | 5 + .../Unsigned_short_fuzzed_10.xml | 5 + .../Unsigned_short_max.xml | 5 + .../Unsigned_short_prefixed_with_zeros.xml | 5 + .../Unsigned_short_zero.xml | 5 + ...nsigned_short_zero_prefixed_with_zeros.xml | 5 + .../categoryOverPatternExamples/fuzzed_01.xml | 4 + .../categoryOverPatternExamples/fuzzed_02.xml | 4 + .../categoryOverPatternExamples/fuzzed_03.xml | 4 + .../categoryOverPatternExamples/fuzzed_04.xml | 4 + .../categoryOverPatternExamples/fuzzed_05.xml | 4 + .../categoryOverPatternExamples/fuzzed_06.xml | 4 + .../categoryOverPatternExamples/fuzzed_07.xml | 4 + .../categoryOverPatternExamples/fuzzed_08.xml | 4 + .../categoryOverPatternExamples/fuzzed_09.xml | 4 + .../categoryOverPatternExamples/fuzzed_10.xml | 4 + .../alternating_hyphen_underscore.xml | 4 + .../ends_with_underscore.xml | 4 + .../idShortOverPatternExamples/fuzzed_01.xml | 4 + .../idShortOverPatternExamples/fuzzed_02.xml | 4 + .../idShortOverPatternExamples/fuzzed_03.xml | 4 + .../idShortOverPatternExamples/fuzzed_04.xml | 4 + .../idShortOverPatternExamples/fuzzed_05.xml | 4 + .../idShortOverPatternExamples/fuzzed_06.xml | 4 + .../idShortOverPatternExamples/fuzzed_07.xml | 4 + .../idShortOverPatternExamples/fuzzed_08.xml | 4 + .../idShortOverPatternExamples/fuzzed_09.xml | 4 + .../idShortOverPatternExamples/fuzzed_10.xml | 4 + .../hyphen_then_underscore.xml | 4 + .../many_internal_hyphens.xml | 4 + .../many_underscores.xml | 4 + .../minimal_digit.xml | 4 + .../minimal_lower.xml | 4 + .../minimal_underscore.xml | 4 + .../minimal_upper.xml | 4 + .../single_internal_hyphen.xml | 4 + .../underscore_after_first.xml | 4 + dev/test_data/Xml/Expected/range/maximal.xml | 143 + dev/test_data/Xml/Expected/range/minimal.xml | 3 + .../range/overMinMaxExamples/Any_URI_URI.xml | 5 + .../Any_URI_absolute_path_without_scheme.xml | 5 + .../overMinMaxExamples/Any_URI_empty.xml | 5 + .../overMinMaxExamples/Any_URI_fuzzed_01.xml | 5 + .../overMinMaxExamples/Any_URI_fuzzed_02.xml | 5 + .../overMinMaxExamples/Any_URI_fuzzed_03.xml | 5 + .../overMinMaxExamples/Any_URI_fuzzed_04.xml | 5 + .../overMinMaxExamples/Any_URI_fuzzed_05.xml | 5 + .../overMinMaxExamples/Any_URI_fuzzed_06.xml | 5 + .../overMinMaxExamples/Any_URI_fuzzed_07.xml | 5 + .../overMinMaxExamples/Any_URI_fuzzed_08.xml | 5 + .../overMinMaxExamples/Any_URI_fuzzed_09.xml | 5 + .../overMinMaxExamples/Any_URI_fuzzed_10.xml | 5 + .../overMinMaxExamples/Any_URI_integer.xml | 5 + .../Any_URI_relative_path_without_scheme.xml | 5 + ...Base_64_binary_an_empty_value_is_valid.xml | 5 + ...nary_equals_signs_are_used_for_padding.xml | 5 + .../Base_64_binary_fuzzed_01.xml | 5 + .../Base_64_binary_fuzzed_02.xml | 5 + .../Base_64_binary_fuzzed_03.xml | 5 + .../Base_64_binary_fuzzed_04.xml | 5 + .../Base_64_binary_fuzzed_05.xml | 5 + .../Base_64_binary_fuzzed_06.xml | 5 + .../Base_64_binary_fuzzed_07.xml | 5 + .../Base_64_binary_fuzzed_08.xml | 5 + .../Base_64_binary_fuzzed_09.xml | 5 + .../Base_64_binary_fuzzed_10.xml | 5 + ...space_is_allowed_anywhere_in_the_value.xml | 5 + ...Base_64_binary_without_space_lowercase.xml | 5 + ...Base_64_binary_without_space_uppercase.xml | 5 + .../Boolean_false_as_number.xml | 5 + .../Boolean_false_in_letters.xml | 5 + .../Boolean_true_as_number.xml | 5 + .../Boolean_true_in_letters.xml | 5 + .../Byte_common_example.xml | 5 + .../Byte_explicitly_positive.xml | 5 + .../overMinMaxExamples/Byte_fuzzed_01.xml | 5 + .../overMinMaxExamples/Byte_fuzzed_02.xml | 5 + .../overMinMaxExamples/Byte_fuzzed_03.xml | 5 + .../overMinMaxExamples/Byte_fuzzed_04.xml | 5 + .../overMinMaxExamples/Byte_fuzzed_05.xml | 5 + .../overMinMaxExamples/Byte_fuzzed_06.xml | 5 + .../overMinMaxExamples/Byte_fuzzed_07.xml | 5 + .../overMinMaxExamples/Byte_fuzzed_08.xml | 5 + .../overMinMaxExamples/Byte_fuzzed_09.xml | 5 + .../overMinMaxExamples/Byte_fuzzed_10.xml | 5 + .../range/overMinMaxExamples/Byte_max.xml | 5 + .../range/overMinMaxExamples/Byte_min.xml | 5 + .../overMinMaxExamples/Byte_negative.xml | 5 + .../Byte_prefixed_with_zeros.xml | 5 + .../range/overMinMaxExamples/Byte_zero.xml | 5 + .../Byte_zero_prefixed_with_zeros.xml | 5 + .../range/overMinMaxExamples/Date_date.xml | 5 + .../Date_date_with_large_negative_year.xml | 5 + .../Date_date_with_large_positive_year.xml | 5 + .../Date_date_with_negative_offset.xml | 5 + .../Date_date_with_positive_offset.xml | 5 + .../overMinMaxExamples/Date_date_with_utc.xml | 5 + .../Date_date_with_zero_offset.xml | 5 + .../overMinMaxExamples/Date_fuzzed_01.xml | 5 + .../overMinMaxExamples/Date_fuzzed_02.xml | 5 + .../overMinMaxExamples/Date_fuzzed_03.xml | 5 + .../overMinMaxExamples/Date_fuzzed_04.xml | 5 + .../overMinMaxExamples/Date_fuzzed_05.xml | 5 + .../overMinMaxExamples/Date_fuzzed_06.xml | 5 + .../overMinMaxExamples/Date_fuzzed_07.xml | 5 + .../overMinMaxExamples/Date_fuzzed_08.xml | 5 + .../overMinMaxExamples/Date_fuzzed_09.xml | 5 + .../overMinMaxExamples/Date_fuzzed_10.xml | 5 + .../Date_time_date_time_with_UTC.xml | 5 + ...ime_date_time_with_large_negative_year.xml | 5 + ...ime_date_time_with_large_positive_year.xml | 5 + ...date_time_with_long_fractional_seconds.xml | 5 + ...te_time_date_time_with_negative_offset.xml | 5 + ...te_time_date_time_with_positive_offset.xml | 5 + .../Date_time_date_time_with_zero_offset.xml | 5 + .../Date_time_date_time_without_zone.xml | 5 + .../Date_time_fuzzed_01.xml | 5 + .../Date_time_fuzzed_02.xml | 5 + .../Date_time_fuzzed_03.xml | 5 + .../Date_time_fuzzed_04.xml | 5 + .../Date_time_fuzzed_05.xml | 5 + .../Date_time_fuzzed_06.xml | 5 + .../Date_time_fuzzed_07.xml | 5 + .../Date_time_fuzzed_08.xml | 5 + .../Date_time_fuzzed_09.xml | 5 + .../Date_time_fuzzed_10.xml | 5 + .../Date_time_midnight_with_24_hours.xml | 5 + .../Date_time_midnight_with_zeros.xml | 5 + .../Date_time_year_1_bce_is_a_leap_year.xml | 5 + .../Date_time_year_5_bce_is_a_leap_year.xml | 5 + .../Date_year_1_bce_is_a_leap_year.xml | 5 + .../Date_year_5_bce_is_a_leap_year.xml | 5 + .../overMinMaxExamples/Decimal_decimal.xml | 5 + .../Decimal_decimal_with_long_fractional.xml | 5 + .../Decimal_decimal_with_preceding_zeros.xml | 5 + .../overMinMaxExamples/Decimal_fuzzed_01.xml | 5 + .../overMinMaxExamples/Decimal_fuzzed_02.xml | 5 + .../overMinMaxExamples/Decimal_fuzzed_03.xml | 5 + .../overMinMaxExamples/Decimal_fuzzed_04.xml | 5 + .../overMinMaxExamples/Decimal_fuzzed_05.xml | 5 + .../overMinMaxExamples/Decimal_fuzzed_06.xml | 5 + .../overMinMaxExamples/Decimal_fuzzed_07.xml | 5 + .../overMinMaxExamples/Decimal_fuzzed_08.xml | 5 + .../overMinMaxExamples/Decimal_fuzzed_09.xml | 5 + .../overMinMaxExamples/Decimal_fuzzed_10.xml | 5 + .../overMinMaxExamples/Decimal_integer.xml | 5 + .../Decimal_integer_with_preceding_zeros.xml | 5 + .../Decimal_very_large_decimal.xml | 5 + .../overMinMaxExamples/Double_double.xml | 5 + .../overMinMaxExamples/Double_fuzzed_01.xml | 5 + .../overMinMaxExamples/Double_fuzzed_02.xml | 5 + .../overMinMaxExamples/Double_fuzzed_03.xml | 5 + .../overMinMaxExamples/Double_fuzzed_04.xml | 5 + .../overMinMaxExamples/Double_fuzzed_05.xml | 5 + .../overMinMaxExamples/Double_fuzzed_06.xml | 5 + .../overMinMaxExamples/Double_fuzzed_07.xml | 5 + .../overMinMaxExamples/Double_fuzzed_08.xml | 5 + .../overMinMaxExamples/Double_fuzzed_09.xml | 5 + .../overMinMaxExamples/Double_fuzzed_10.xml | 5 + .../range/overMinMaxExamples/Double_inf.xml | 5 + .../overMinMaxExamples/Double_integer.xml | 5 + .../Double_integer_with_preceding_zeros.xml | 5 + ...of_precision_is_not_detected_by_design.xml | 5 + .../overMinMaxExamples/Double_lowest.xml | 5 + .../range/overMinMaxExamples/Double_max.xml | 5 + .../overMinMaxExamples/Double_minus_inf.xml | 5 + .../range/overMinMaxExamples/Double_nan.xml | 5 + .../Double_scientific_notation.xml | 5 + .../Double_scientific_notation_negative.xml | 5 + ..._scientific_notation_negative_exponent.xml | 5 + .../Double_scientific_notation_positive.xml | 5 + ..._scientific_notation_positive_exponent.xml | 5 + .../Double_very_large_normal.xml | 5 + .../Double_very_precise_subnormal.xml | 5 + .../Double_with_preceding_zeros.xml | 5 + .../Duration_day_seconds.xml | 5 + .../overMinMaxExamples/Duration_full.xml | 5 + .../overMinMaxExamples/Duration_fuzzed_01.xml | 5 + .../overMinMaxExamples/Duration_fuzzed_02.xml | 5 + .../overMinMaxExamples/Duration_fuzzed_03.xml | 5 + .../overMinMaxExamples/Duration_fuzzed_04.xml | 5 + .../overMinMaxExamples/Duration_fuzzed_05.xml | 5 + .../overMinMaxExamples/Duration_fuzzed_06.xml | 5 + .../overMinMaxExamples/Duration_fuzzed_07.xml | 5 + .../overMinMaxExamples/Duration_fuzzed_08.xml | 5 + .../overMinMaxExamples/Duration_fuzzed_09.xml | 5 + .../overMinMaxExamples/Duration_fuzzed_10.xml | 5 + .../Duration_long_second_fractal.xml | 5 + .../Duration_many_many_seconds.xml | 5 + .../Duration_month_seconds.xml | 5 + .../Duration_only_seconds.xml | 5 + .../overMinMaxExamples/Duration_only_year.xml | 5 + .../range/overMinMaxExamples/Float_float.xml | 5 + .../overMinMaxExamples/Float_fuzzed_01.xml | 5 + .../overMinMaxExamples/Float_fuzzed_02.xml | 5 + .../overMinMaxExamples/Float_fuzzed_03.xml | 5 + .../overMinMaxExamples/Float_fuzzed_04.xml | 5 + .../overMinMaxExamples/Float_fuzzed_05.xml | 5 + .../overMinMaxExamples/Float_fuzzed_06.xml | 5 + .../overMinMaxExamples/Float_fuzzed_07.xml | 5 + .../overMinMaxExamples/Float_fuzzed_08.xml | 5 + .../overMinMaxExamples/Float_fuzzed_09.xml | 5 + .../overMinMaxExamples/Float_fuzzed_10.xml | 5 + .../range/overMinMaxExamples/Float_inf.xml | 5 + .../overMinMaxExamples/Float_integer.xml | 5 + .../Float_integer_with_preceding_zeros.xml | 5 + .../Float_largest_normal.xml | 5 + .../Float_largest_number_less_than_one.xml | 5 + .../Float_largest_subnormal.xml | 5 + ...of_precision_is_not_detected_by_design.xml | 5 + .../range/overMinMaxExamples/Float_nan.xml | 5 + .../overMinMaxExamples/Float_negative_inf.xml | 5 + .../Float_scientific_notation.xml | 5 + .../Float_scientific_notation_negative.xml | 5 + ..._scientific_notation_negative_exponent.xml | 5 + .../Float_scientific_notation_positive.xml | 5 + ..._scientific_notation_positive_exponent.xml | 5 + .../Float_smallest_number_larger_than_one.xml | 5 + .../Float_smallest_positive_normal.xml | 5 + .../Float_smallest_positive_subnormal.xml | 5 + .../Float_with_preceding_zeros.xml | 5 + ...ot_existing_in_all_months_without_zone.xml | 5 + .../G_day_double_digit_day_without_zone.xml | 5 + .../overMinMaxExamples/G_day_fuzzed_01.xml | 5 + .../overMinMaxExamples/G_day_fuzzed_02.xml | 5 + .../overMinMaxExamples/G_day_fuzzed_03.xml | 5 + .../overMinMaxExamples/G_day_fuzzed_04.xml | 5 + .../overMinMaxExamples/G_day_fuzzed_05.xml | 5 + .../overMinMaxExamples/G_day_fuzzed_06.xml | 5 + .../overMinMaxExamples/G_day_fuzzed_07.xml | 5 + .../overMinMaxExamples/G_day_fuzzed_08.xml | 5 + .../overMinMaxExamples/G_day_fuzzed_09.xml | 5 + .../overMinMaxExamples/G_day_fuzzed_10.xml | 5 + .../G_day_negative_offset.xml | 5 + .../G_day_positive_offset.xml | 5 + .../G_day_single_digit_day_without_zone.xml | 5 + .../overMinMaxExamples/G_day_utc_zone.xml | 5 + .../overMinMaxExamples/G_day_zero_offset.xml | 5 + ...it_month_double_digit_day_without_zone.xml | 5 + ...it_month_single_digit_day_without_zone.xml | 5 + ...29th_which_does_not_exist_in_all_years.xml | 5 + .../G_month_day_fuzzed_01.xml | 5 + .../G_month_day_fuzzed_02.xml | 5 + .../G_month_day_fuzzed_03.xml | 5 + .../G_month_day_fuzzed_04.xml | 5 + .../G_month_day_fuzzed_05.xml | 5 + .../G_month_day_fuzzed_06.xml | 5 + .../G_month_day_fuzzed_07.xml | 5 + .../G_month_day_fuzzed_08.xml | 5 + .../G_month_day_fuzzed_09.xml | 5 + .../G_month_day_fuzzed_10.xml | 5 + .../G_month_day_negative_offset.xml | 5 + .../G_month_day_positive_offset.xml | 5 + ...it_month_single_digit_day_without_zone.xml | 5 + .../G_month_day_utc_zone.xml | 5 + .../G_month_day_zero_offset.xml | 5 + ..._month_double_digit_month_without_zone.xml | 5 + .../overMinMaxExamples/G_month_fuzzed_01.xml | 5 + .../overMinMaxExamples/G_month_fuzzed_02.xml | 5 + .../overMinMaxExamples/G_month_fuzzed_03.xml | 5 + .../overMinMaxExamples/G_month_fuzzed_04.xml | 5 + .../overMinMaxExamples/G_month_fuzzed_05.xml | 5 + .../overMinMaxExamples/G_month_fuzzed_06.xml | 5 + .../overMinMaxExamples/G_month_fuzzed_07.xml | 5 + .../overMinMaxExamples/G_month_fuzzed_08.xml | 5 + .../overMinMaxExamples/G_month_fuzzed_09.xml | 5 + .../overMinMaxExamples/G_month_fuzzed_10.xml | 5 + .../G_month_negative_offset.xml | 5 + .../G_month_positive_offset.xml | 5 + ..._month_single_digit_month_without_zone.xml | 5 + .../overMinMaxExamples/G_month_utc_zone.xml | 5 + .../G_month_zero_offset.xml | 5 + .../G_year_five_digit_negative_year.xml | 5 + .../G_year_five_digit_year.xml | 5 + .../overMinMaxExamples/G_year_fuzzed_01.xml | 5 + .../overMinMaxExamples/G_year_fuzzed_02.xml | 5 + .../overMinMaxExamples/G_year_fuzzed_03.xml | 5 + .../overMinMaxExamples/G_year_fuzzed_04.xml | 5 + .../overMinMaxExamples/G_year_fuzzed_05.xml | 5 + .../overMinMaxExamples/G_year_fuzzed_06.xml | 5 + .../overMinMaxExamples/G_year_fuzzed_07.xml | 5 + .../overMinMaxExamples/G_year_fuzzed_08.xml | 5 + .../overMinMaxExamples/G_year_fuzzed_09.xml | 5 + .../overMinMaxExamples/G_year_fuzzed_10.xml | 5 + .../G_year_month_common_year_month.xml | 5 + .../G_year_month_five_digit_negative_year.xml | 5 + .../G_year_month_fuzzed_01.xml | 5 + .../G_year_month_fuzzed_02.xml | 5 + .../G_year_month_fuzzed_03.xml | 5 + .../G_year_month_fuzzed_04.xml | 5 + .../G_year_month_fuzzed_05.xml | 5 + .../G_year_month_fuzzed_06.xml | 5 + .../G_year_month_fuzzed_07.xml | 5 + .../G_year_month_fuzzed_08.xml | 5 + .../G_year_month_fuzzed_09.xml | 5 + .../G_year_month_fuzzed_10.xml | 5 + .../G_year_month_negative_year.xml | 5 + .../G_year_month_very_large_negative_year.xml | 5 + .../G_year_month_very_large_positive_year.xml | 5 + .../G_year_month_with_negative_offset.xml | 5 + .../G_year_month_with_positive_offset.xml | 5 + .../G_year_month_with_utc_zone.xml | 5 + .../G_year_month_with_zero_offset.xml | 5 + .../G_year_negative_offset.xml | 5 + .../G_year_negative_year.xml | 5 + .../G_year_positive_offset.xml | 5 + .../overMinMaxExamples/G_year_utc_zone.xml | 5 + .../G_year_very_large_negative_year.xml | 5 + .../G_year_very_large_positive_year.xml | 5 + .../G_year_year_without_zone.xml | 5 + .../overMinMaxExamples/G_year_zero_offset.xml | 5 + .../overMinMaxExamples/Hex_binary_empty.xml | 5 + .../Hex_binary_fuzzed_01.xml | 5 + .../Hex_binary_fuzzed_02.xml | 5 + .../Hex_binary_fuzzed_03.xml | 5 + .../Hex_binary_fuzzed_04.xml | 5 + .../Hex_binary_fuzzed_05.xml | 5 + .../Hex_binary_fuzzed_06.xml | 5 + .../Hex_binary_fuzzed_07.xml | 5 + .../Hex_binary_fuzzed_08.xml | 5 + .../Hex_binary_fuzzed_09.xml | 5 + .../Hex_binary_fuzzed_10.xml | 5 + .../Hex_binary_long_random_hex.xml | 5 + .../overMinMaxExamples/Hex_binary_one_one.xml | 5 + .../overMinMaxExamples/Hex_binary_one_two.xml | 5 + .../Hex_binary_one_two_three_four.xml | 5 + .../overMinMaxExamples/Int_common_example.xml | 5 + .../Int_explicitly_positive.xml | 5 + .../overMinMaxExamples/Int_fuzzed_01.xml | 5 + .../overMinMaxExamples/Int_fuzzed_02.xml | 5 + .../overMinMaxExamples/Int_fuzzed_03.xml | 5 + .../overMinMaxExamples/Int_fuzzed_04.xml | 5 + .../overMinMaxExamples/Int_fuzzed_05.xml | 5 + .../overMinMaxExamples/Int_fuzzed_06.xml | 5 + .../overMinMaxExamples/Int_fuzzed_07.xml | 5 + .../overMinMaxExamples/Int_fuzzed_08.xml | 5 + .../overMinMaxExamples/Int_fuzzed_09.xml | 5 + .../overMinMaxExamples/Int_fuzzed_10.xml | 5 + .../range/overMinMaxExamples/Int_max.xml | 5 + .../range/overMinMaxExamples/Int_min.xml | 5 + .../range/overMinMaxExamples/Int_negative.xml | 5 + .../Int_prefixed_with_zeros.xml | 5 + .../range/overMinMaxExamples/Int_zero.xml | 5 + .../Int_zero_prefixed_with_zeros.xml | 5 + .../Integer_common_example.xml | 5 + .../Integer_explicitly_positive.xml | 5 + .../overMinMaxExamples/Integer_fuzzed_01.xml | 5 + .../overMinMaxExamples/Integer_fuzzed_02.xml | 5 + .../overMinMaxExamples/Integer_fuzzed_03.xml | 5 + .../overMinMaxExamples/Integer_fuzzed_04.xml | 5 + .../overMinMaxExamples/Integer_fuzzed_05.xml | 5 + .../overMinMaxExamples/Integer_fuzzed_06.xml | 5 + .../overMinMaxExamples/Integer_fuzzed_07.xml | 5 + .../overMinMaxExamples/Integer_fuzzed_08.xml | 5 + .../overMinMaxExamples/Integer_fuzzed_09.xml | 5 + .../overMinMaxExamples/Integer_fuzzed_10.xml | 5 + .../overMinMaxExamples/Integer_negative.xml | 5 + .../Integer_prefixed_with_zeros.xml | 5 + .../overMinMaxExamples/Integer_very_large.xml | 5 + .../range/overMinMaxExamples/Integer_zero.xml | 5 + .../Integer_zero_prefixed_with_zeros.xml | 5 + .../Long_common_example.xml | 5 + .../Long_explicitly_positive.xml | 5 + .../overMinMaxExamples/Long_fuzzed_01.xml | 5 + .../overMinMaxExamples/Long_fuzzed_02.xml | 5 + .../overMinMaxExamples/Long_fuzzed_03.xml | 5 + .../overMinMaxExamples/Long_fuzzed_04.xml | 5 + .../overMinMaxExamples/Long_fuzzed_05.xml | 5 + .../overMinMaxExamples/Long_fuzzed_06.xml | 5 + .../overMinMaxExamples/Long_fuzzed_07.xml | 5 + .../overMinMaxExamples/Long_fuzzed_08.xml | 5 + .../overMinMaxExamples/Long_fuzzed_09.xml | 5 + .../overMinMaxExamples/Long_fuzzed_10.xml | 5 + .../range/overMinMaxExamples/Long_max.xml | 5 + .../range/overMinMaxExamples/Long_min.xml | 5 + .../overMinMaxExamples/Long_negative.xml | 5 + .../Long_prefixed_with_zeros.xml | 5 + .../range/overMinMaxExamples/Long_zero.xml | 5 + .../Long_zero_prefixed_with_zeros.xml | 5 + .../Negative_integer_fuzzed_01.xml | 5 + .../Negative_integer_fuzzed_02.xml | 5 + .../Negative_integer_fuzzed_03.xml | 5 + .../Negative_integer_fuzzed_04.xml | 5 + .../Negative_integer_fuzzed_05.xml | 5 + .../Negative_integer_fuzzed_06.xml | 5 + .../Negative_integer_fuzzed_07.xml | 5 + .../Negative_integer_fuzzed_08.xml | 5 + .../Negative_integer_fuzzed_09.xml | 5 + .../Negative_integer_fuzzed_10.xml | 5 + .../Negative_integer_negative.xml | 5 + .../Negative_integer_prefixed_with_zeros.xml | 5 + .../Negative_integer_very_large.xml | 5 + .../Non_negative_integer_common_example.xml | 5 + ...n_negative_integer_explicitly_positive.xml | 5 + ...xplicitly_positive_prefixed_with_zeros.xml | 5 + .../Non_negative_integer_fuzzed_01.xml | 5 + .../Non_negative_integer_fuzzed_02.xml | 5 + .../Non_negative_integer_fuzzed_03.xml | 5 + .../Non_negative_integer_fuzzed_04.xml | 5 + .../Non_negative_integer_fuzzed_05.xml | 5 + .../Non_negative_integer_fuzzed_06.xml | 5 + .../Non_negative_integer_fuzzed_07.xml | 5 + .../Non_negative_integer_fuzzed_08.xml | 5 + .../Non_negative_integer_fuzzed_09.xml | 5 + .../Non_negative_integer_fuzzed_10.xml | 5 + .../Non_negative_integer_minus_zero.xml | 5 + .../Non_negative_integer_positive_zero.xml | 5 + ...n_negative_integer_prefixed_with_zeros.xml | 5 + .../Non_negative_integer_very_large.xml | 5 + .../Non_negative_integer_zero.xml | 5 + ...ative_integer_zero_prefixed_with_zeros.xml | 5 + ...itive_integer_explicitly_positive_zero.xml | 5 + .../Non_positive_integer_fuzzed_01.xml | 5 + .../Non_positive_integer_fuzzed_02.xml | 5 + .../Non_positive_integer_fuzzed_03.xml | 5 + .../Non_positive_integer_fuzzed_04.xml | 5 + .../Non_positive_integer_fuzzed_05.xml | 5 + .../Non_positive_integer_fuzzed_06.xml | 5 + .../Non_positive_integer_fuzzed_07.xml | 5 + .../Non_positive_integer_fuzzed_08.xml | 5 + .../Non_positive_integer_fuzzed_09.xml | 5 + .../Non_positive_integer_fuzzed_10.xml | 5 + .../Non_positive_integer_negative.xml | 5 + ...n_positive_integer_prefixed_with_zeros.xml | 5 + .../Non_positive_integer_very_large.xml | 5 + .../Non_positive_integer_zero.xml | 5 + .../Positive_integer_common_example.xml | 5 + .../Positive_integer_explicitly_positive.xml | 5 + .../Positive_integer_fuzzed_01.xml | 5 + .../Positive_integer_fuzzed_02.xml | 5 + .../Positive_integer_fuzzed_03.xml | 5 + .../Positive_integer_fuzzed_04.xml | 5 + .../Positive_integer_fuzzed_05.xml | 5 + .../Positive_integer_fuzzed_06.xml | 5 + .../Positive_integer_fuzzed_07.xml | 5 + .../Positive_integer_fuzzed_08.xml | 5 + .../Positive_integer_fuzzed_09.xml | 5 + .../Positive_integer_fuzzed_10.xml | 5 + .../Positive_integer_prefixed_with_zeros.xml | 5 + .../Positive_integer_very_large.xml | 5 + .../Short_common_example.xml | 5 + .../Short_explicitly_positive.xml | 5 + .../overMinMaxExamples/Short_fuzzed_01.xml | 5 + .../overMinMaxExamples/Short_fuzzed_02.xml | 5 + .../overMinMaxExamples/Short_fuzzed_03.xml | 5 + .../overMinMaxExamples/Short_fuzzed_04.xml | 5 + .../overMinMaxExamples/Short_fuzzed_05.xml | 5 + .../overMinMaxExamples/Short_fuzzed_06.xml | 5 + .../overMinMaxExamples/Short_fuzzed_07.xml | 5 + .../overMinMaxExamples/Short_fuzzed_08.xml | 5 + .../overMinMaxExamples/Short_fuzzed_09.xml | 5 + .../overMinMaxExamples/Short_fuzzed_10.xml | 5 + .../range/overMinMaxExamples/Short_max.xml | 5 + .../range/overMinMaxExamples/Short_min.xml | 5 + .../overMinMaxExamples/Short_negative.xml | 5 + .../Short_prefixed_with_zeros.xml | 5 + .../range/overMinMaxExamples/Short_zero.xml | 5 + .../Short_zero_prefixed_with_zeros.xml | 5 + .../range/overMinMaxExamples/String_empty.xml | 5 + .../String_free_form_text.xml | 5 + .../overMinMaxExamples/String_fuzzed_01.xml | 5 + .../overMinMaxExamples/String_fuzzed_02.xml | 5 + .../overMinMaxExamples/String_fuzzed_03.xml | 5 + .../overMinMaxExamples/String_fuzzed_04.xml | 5 + .../overMinMaxExamples/String_fuzzed_05.xml | 5 + .../overMinMaxExamples/String_fuzzed_06.xml | 5 + .../overMinMaxExamples/String_fuzzed_07.xml | 5 + .../overMinMaxExamples/String_fuzzed_08.xml | 5 + .../overMinMaxExamples/String_fuzzed_09.xml | 5 + .../overMinMaxExamples/String_fuzzed_10.xml | 5 + .../Time_common_example.xml | 5 + .../overMinMaxExamples/Time_fuzzed_01.xml | 5 + .../overMinMaxExamples/Time_fuzzed_02.xml | 5 + .../overMinMaxExamples/Time_fuzzed_03.xml | 5 + .../overMinMaxExamples/Time_fuzzed_04.xml | 5 + .../overMinMaxExamples/Time_fuzzed_05.xml | 5 + .../overMinMaxExamples/Time_fuzzed_06.xml | 5 + .../overMinMaxExamples/Time_fuzzed_07.xml | 5 + .../overMinMaxExamples/Time_fuzzed_08.xml | 5 + .../overMinMaxExamples/Time_fuzzed_09.xml | 5 + .../overMinMaxExamples/Time_fuzzed_10.xml | 5 + .../Time_negative_offset.xml | 5 + .../Time_positive_offset.xml | 5 + .../Time_with_long_second_fractional.xml | 5 + .../Time_with_second_fractional.xml | 5 + .../Time_with_utc_timezone.xml | 5 + .../overMinMaxExamples/Time_zero_offset.xml | 5 + .../Unsigned_byte_common_example.xml | 5 + .../Unsigned_byte_explicitly_positive.xml | 5 + .../Unsigned_byte_fuzzed_01.xml | 5 + .../Unsigned_byte_fuzzed_02.xml | 5 + .../Unsigned_byte_fuzzed_03.xml | 5 + .../Unsigned_byte_fuzzed_04.xml | 5 + .../Unsigned_byte_fuzzed_05.xml | 5 + .../Unsigned_byte_fuzzed_06.xml | 5 + .../Unsigned_byte_fuzzed_07.xml | 5 + .../Unsigned_byte_fuzzed_08.xml | 5 + .../Unsigned_byte_fuzzed_09.xml | 5 + .../Unsigned_byte_fuzzed_10.xml | 5 + .../overMinMaxExamples/Unsigned_byte_max.xml | 5 + .../Unsigned_byte_prefixed_with_zeros.xml | 5 + .../overMinMaxExamples/Unsigned_byte_zero.xml | 5 + ...Unsigned_byte_zero_prefixed_with_zeros.xml | 5 + .../Unsigned_int_common_example.xml | 5 + .../Unsigned_int_explicitly_positive.xml | 5 + .../Unsigned_int_fuzzed_01.xml | 5 + .../Unsigned_int_fuzzed_02.xml | 5 + .../Unsigned_int_fuzzed_03.xml | 5 + .../Unsigned_int_fuzzed_04.xml | 5 + .../Unsigned_int_fuzzed_05.xml | 5 + .../Unsigned_int_fuzzed_06.xml | 5 + .../Unsigned_int_fuzzed_07.xml | 5 + .../Unsigned_int_fuzzed_08.xml | 5 + .../Unsigned_int_fuzzed_09.xml | 5 + .../Unsigned_int_fuzzed_10.xml | 5 + .../overMinMaxExamples/Unsigned_int_max.xml | 5 + .../Unsigned_int_prefixed_with_zeros.xml | 5 + .../overMinMaxExamples/Unsigned_int_zero.xml | 5 + .../Unsigned_int_zero_prefixed_with_zeros.xml | 5 + .../Unsigned_long_common_example.xml | 5 + .../Unsigned_long_explicitly_positive.xml | 5 + .../Unsigned_long_fuzzed_01.xml | 5 + .../Unsigned_long_fuzzed_02.xml | 5 + .../Unsigned_long_fuzzed_03.xml | 5 + .../Unsigned_long_fuzzed_04.xml | 5 + .../Unsigned_long_fuzzed_05.xml | 5 + .../Unsigned_long_fuzzed_06.xml | 5 + .../Unsigned_long_fuzzed_07.xml | 5 + .../Unsigned_long_fuzzed_08.xml | 5 + .../Unsigned_long_fuzzed_09.xml | 5 + .../Unsigned_long_fuzzed_10.xml | 5 + .../overMinMaxExamples/Unsigned_long_max.xml | 5 + .../Unsigned_long_prefixed_with_zeros.xml | 5 + .../overMinMaxExamples/Unsigned_long_zero.xml | 5 + ...Unsigned_long_zero_prefixed_with_zeros.xml | 5 + .../Unsigned_short_common_example.xml | 5 + .../Unsigned_short_explicitly_positive.xml | 5 + .../Unsigned_short_fuzzed_01.xml | 5 + .../Unsigned_short_fuzzed_02.xml | 5 + .../Unsigned_short_fuzzed_03.xml | 5 + .../Unsigned_short_fuzzed_04.xml | 5 + .../Unsigned_short_fuzzed_05.xml | 5 + .../Unsigned_short_fuzzed_06.xml | 5 + .../Unsigned_short_fuzzed_07.xml | 5 + .../Unsigned_short_fuzzed_08.xml | 5 + .../Unsigned_short_fuzzed_09.xml | 5 + .../Unsigned_short_fuzzed_10.xml | 5 + .../overMinMaxExamples/Unsigned_short_max.xml | 5 + .../Unsigned_short_prefixed_with_zeros.xml | 5 + .../Unsigned_short_zero.xml | 5 + ...nsigned_short_zero_prefixed_with_zeros.xml | 5 + ..._key_in_generic_globally_identifiables.xml | 9 + ...ence_last_key_in_generic_fragment_keys.xml | 13 + ...t_key_in_generic_globally_identifiable.xml | 13 + .../Xml/Expected/reference/maximal.xml | 18 + .../Xml/Expected/reference/minimal.xml | 9 + ..._key_in_globally_and_aas_identifiables.xml | 9 + .../model_reference_fragment_after_blob.xml | 17 + ...l_reference_valid_key_value_after_list.xml | 17 + .../categoryOverPatternExamples/fuzzed_01.xml | 3 + .../categoryOverPatternExamples/fuzzed_02.xml | 3 + .../categoryOverPatternExamples/fuzzed_03.xml | 3 + .../categoryOverPatternExamples/fuzzed_04.xml | 3 + .../categoryOverPatternExamples/fuzzed_05.xml | 3 + .../categoryOverPatternExamples/fuzzed_06.xml | 3 + .../categoryOverPatternExamples/fuzzed_07.xml | 3 + .../categoryOverPatternExamples/fuzzed_08.xml | 3 + .../categoryOverPatternExamples/fuzzed_09.xml | 3 + .../categoryOverPatternExamples/fuzzed_10.xml | 3 + .../alternating_hyphen_underscore.xml | 3 + .../ends_with_underscore.xml | 3 + .../idShortOverPatternExamples/fuzzed_01.xml | 3 + .../idShortOverPatternExamples/fuzzed_02.xml | 3 + .../idShortOverPatternExamples/fuzzed_03.xml | 3 + .../idShortOverPatternExamples/fuzzed_04.xml | 3 + .../idShortOverPatternExamples/fuzzed_05.xml | 3 + .../idShortOverPatternExamples/fuzzed_06.xml | 3 + .../idShortOverPatternExamples/fuzzed_07.xml | 3 + .../idShortOverPatternExamples/fuzzed_08.xml | 3 + .../idShortOverPatternExamples/fuzzed_09.xml | 3 + .../idShortOverPatternExamples/fuzzed_10.xml | 3 + .../hyphen_then_underscore.xml | 3 + .../many_internal_hyphens.xml | 3 + .../many_underscores.xml | 3 + .../minimal_digit.xml | 3 + .../minimal_lower.xml | 3 + .../minimal_underscore.xml | 3 + .../minimal_upper.xml | 3 + .../single_internal_hyphen.xml | 3 + .../underscore_after_first.xml | 3 + .../Xml/Expected/referenceElement/maximal.xml | 149 + .../Xml/Expected/referenceElement/minimal.xml | 1 + .../categoryOverPatternExamples/fuzzed_01.xml | 3 + .../categoryOverPatternExamples/fuzzed_02.xml | 3 + .../categoryOverPatternExamples/fuzzed_03.xml | 3 + .../categoryOverPatternExamples/fuzzed_04.xml | 3 + .../categoryOverPatternExamples/fuzzed_05.xml | 3 + .../categoryOverPatternExamples/fuzzed_06.xml | 3 + .../categoryOverPatternExamples/fuzzed_07.xml | 3 + .../categoryOverPatternExamples/fuzzed_08.xml | 3 + .../categoryOverPatternExamples/fuzzed_09.xml | 3 + .../categoryOverPatternExamples/fuzzed_10.xml | 3 + .../alternating_hyphen_underscore.xml | 3 + .../ends_with_underscore.xml | 3 + .../idShortOverPatternExamples/fuzzed_01.xml | 3 + .../idShortOverPatternExamples/fuzzed_02.xml | 3 + .../idShortOverPatternExamples/fuzzed_03.xml | 3 + .../idShortOverPatternExamples/fuzzed_04.xml | 3 + .../idShortOverPatternExamples/fuzzed_05.xml | 3 + .../idShortOverPatternExamples/fuzzed_06.xml | 3 + .../idShortOverPatternExamples/fuzzed_07.xml | 3 + .../idShortOverPatternExamples/fuzzed_08.xml | 3 + .../idShortOverPatternExamples/fuzzed_09.xml | 3 + .../idShortOverPatternExamples/fuzzed_10.xml | 3 + .../hyphen_then_underscore.xml | 3 + .../many_internal_hyphens.xml | 3 + .../many_underscores.xml | 3 + .../minimal_digit.xml | 3 + .../minimal_lower.xml | 3 + .../minimal_underscore.xml | 3 + .../minimal_upper.xml | 3 + .../single_internal_hyphen.xml | 3 + .../underscore_after_first.xml | 3 + .../Expected/relationshipElement/maximal.xml | 158 + .../Expected/relationshipElement/minimal.xml | 1 + .../contentTypeOverPatternExamples/dash.xml | 4 + .../contentTypeOverPatternExamples/dots.xml | 4 + .../fuzzed_01.xml | 4 + .../fuzzed_02.xml | 4 + .../fuzzed_03.xml | 4 + .../number prefix and suffix.xml | 4 + .../only_letters.xml | 4 + .../contentTypeOverPatternExamples/plus.xml | 4 + .../random_common_MIME_type.xml | 4 + .../Xml/Expected/resource/maximal.xml | 4 + .../Xml/Expected/resource/minimal.xml | 3 + .../pathOverPatternExamples/fuzzed_01.xml | 3 + .../pathOverPatternExamples/fuzzed_02.xml | 3 + .../pathOverPatternExamples/fuzzed_03.xml | 3 + .../pathOverPatternExamples/fuzzed_04.xml | 3 + .../pathOverPatternExamples/fuzzed_05.xml | 3 + .../pathOverPatternExamples/fuzzed_06.xml | 3 + .../pathOverPatternExamples/fuzzed_07.xml | 3 + .../pathOverPatternExamples/fuzzed_08.xml | 3 + .../pathOverPatternExamples/fuzzed_09.xml | 3 + .../pathOverPatternExamples/fuzzed_10.xml | 3 + .../pathOverPatternExamples/made_up_01.xml | 3 + .../pathOverPatternExamples/made_up_02.xml | 3 + .../pathOverPatternExamples/made_up_03.xml | 3 + .../pathOverPatternExamples/made_up_04.xml | 3 + .../pathOverPatternExamples/made_up_05.xml | 3 + .../Xml/Expected/specificAssetId/maximal.xml | 51 + .../Xml/Expected/specificAssetId/minimal.xml | 4 + .../nameOverPatternExamples/fuzzed_01.xml | 4 + .../nameOverPatternExamples/fuzzed_02.xml | 4 + .../nameOverPatternExamples/fuzzed_03.xml | 4 + .../nameOverPatternExamples/fuzzed_04.xml | 4 + .../nameOverPatternExamples/fuzzed_05.xml | 4 + .../nameOverPatternExamples/fuzzed_06.xml | 4 + .../nameOverPatternExamples/fuzzed_07.xml | 4 + .../nameOverPatternExamples/fuzzed_08.xml | 4 + .../nameOverPatternExamples/fuzzed_09.xml | 4 + .../nameOverPatternExamples/fuzzed_10.xml | 4 + .../valueOverPatternExamples/fuzzed_01.xml | 4 + .../valueOverPatternExamples/fuzzed_02.xml | 4 + .../valueOverPatternExamples/fuzzed_03.xml | 4 + .../valueOverPatternExamples/fuzzed_04.xml | 4 + .../valueOverPatternExamples/fuzzed_05.xml | 4 + .../valueOverPatternExamples/fuzzed_06.xml | 4 + .../valueOverPatternExamples/fuzzed_07.xml | 4 + .../valueOverPatternExamples/fuzzed_08.xml | 4 + .../valueOverPatternExamples/fuzzed_09.xml | 4 + .../valueOverPatternExamples/fuzzed_10.xml | 4 + .../categoryOverPatternExamples/fuzzed_01.xml | 4 + .../categoryOverPatternExamples/fuzzed_02.xml | 4 + .../categoryOverPatternExamples/fuzzed_03.xml | 4 + .../categoryOverPatternExamples/fuzzed_04.xml | 4 + .../categoryOverPatternExamples/fuzzed_05.xml | 4 + .../categoryOverPatternExamples/fuzzed_06.xml | 4 + .../categoryOverPatternExamples/fuzzed_07.xml | 4 + .../categoryOverPatternExamples/fuzzed_08.xml | 4 + .../categoryOverPatternExamples/fuzzed_09.xml | 4 + .../categoryOverPatternExamples/fuzzed_10.xml | 4 + .../idOverPatternExamples/fuzzed_01.xml | 3 + .../idOverPatternExamples/fuzzed_02.xml | 3 + .../idOverPatternExamples/fuzzed_03.xml | 3 + .../idOverPatternExamples/fuzzed_04.xml | 3 + .../idOverPatternExamples/fuzzed_05.xml | 3 + .../idOverPatternExamples/fuzzed_06.xml | 3 + .../idOverPatternExamples/fuzzed_07.xml | 3 + .../idOverPatternExamples/fuzzed_08.xml | 3 + .../idOverPatternExamples/fuzzed_09.xml | 3 + .../idOverPatternExamples/fuzzed_10.xml | 3 + .../alternating_hyphen_underscore.xml | 4 + .../ends_with_underscore.xml | 4 + .../idShortOverPatternExamples/fuzzed_01.xml | 4 + .../idShortOverPatternExamples/fuzzed_02.xml | 4 + .../idShortOverPatternExamples/fuzzed_03.xml | 4 + .../idShortOverPatternExamples/fuzzed_04.xml | 4 + .../idShortOverPatternExamples/fuzzed_05.xml | 4 + .../idShortOverPatternExamples/fuzzed_06.xml | 4 + .../idShortOverPatternExamples/fuzzed_07.xml | 4 + .../idShortOverPatternExamples/fuzzed_08.xml | 4 + .../idShortOverPatternExamples/fuzzed_09.xml | 4 + .../idShortOverPatternExamples/fuzzed_10.xml | 4 + .../hyphen_then_underscore.xml | 4 + .../many_internal_hyphens.xml | 4 + .../many_underscores.xml | 4 + .../minimal_digit.xml | 4 + .../minimal_lower.xml | 4 + .../minimal_underscore.xml | 4 + .../minimal_upper.xml | 4 + .../single_internal_hyphen.xml | 4 + .../underscore_after_first.xml | 4 + .../Xml/Expected/submodel/maximal.xml | 152 + .../Xml/Expected/submodel/minimal.xml | 3 + .../categoryOverPatternExamples/fuzzed_01.xml | 3 + .../categoryOverPatternExamples/fuzzed_02.xml | 3 + .../categoryOverPatternExamples/fuzzed_03.xml | 3 + .../categoryOverPatternExamples/fuzzed_04.xml | 3 + .../categoryOverPatternExamples/fuzzed_05.xml | 3 + .../categoryOverPatternExamples/fuzzed_06.xml | 3 + .../categoryOverPatternExamples/fuzzed_07.xml | 3 + .../categoryOverPatternExamples/fuzzed_08.xml | 3 + .../categoryOverPatternExamples/fuzzed_09.xml | 3 + .../categoryOverPatternExamples/fuzzed_10.xml | 3 + .../alternating_hyphen_underscore.xml | 3 + .../ends_with_underscore.xml | 3 + .../idShortOverPatternExamples/fuzzed_01.xml | 3 + .../idShortOverPatternExamples/fuzzed_02.xml | 3 + .../idShortOverPatternExamples/fuzzed_03.xml | 3 + .../idShortOverPatternExamples/fuzzed_04.xml | 3 + .../idShortOverPatternExamples/fuzzed_05.xml | 3 + .../idShortOverPatternExamples/fuzzed_06.xml | 3 + .../idShortOverPatternExamples/fuzzed_07.xml | 3 + .../idShortOverPatternExamples/fuzzed_08.xml | 3 + .../idShortOverPatternExamples/fuzzed_09.xml | 3 + .../idShortOverPatternExamples/fuzzed_10.xml | 3 + .../hyphen_then_underscore.xml | 3 + .../many_internal_hyphens.xml | 3 + .../many_underscores.xml | 3 + .../minimal_digit.xml | 3 + .../minimal_lower.xml | 3 + .../minimal_underscore.xml | 3 + .../minimal_upper.xml | 3 + .../single_internal_hyphen.xml | 3 + .../underscore_after_first.xml | 3 + .../submodelElementCollection/maximal.xml | 163 + .../submodelElementCollection/minimal.xml | 1 + .../categoryOverPatternExamples/fuzzed_01.xml | 4 + .../categoryOverPatternExamples/fuzzed_02.xml | 4 + .../categoryOverPatternExamples/fuzzed_03.xml | 4 + .../categoryOverPatternExamples/fuzzed_04.xml | 4 + .../categoryOverPatternExamples/fuzzed_05.xml | 4 + .../categoryOverPatternExamples/fuzzed_06.xml | 4 + .../categoryOverPatternExamples/fuzzed_07.xml | 4 + .../categoryOverPatternExamples/fuzzed_08.xml | 4 + .../categoryOverPatternExamples/fuzzed_09.xml | 4 + .../categoryOverPatternExamples/fuzzed_10.xml | 4 + .../alternating_hyphen_underscore.xml | 4 + .../ends_with_underscore.xml | 4 + .../idShortOverPatternExamples/fuzzed_01.xml | 4 + .../idShortOverPatternExamples/fuzzed_02.xml | 4 + .../idShortOverPatternExamples/fuzzed_03.xml | 4 + .../idShortOverPatternExamples/fuzzed_04.xml | 4 + .../idShortOverPatternExamples/fuzzed_05.xml | 4 + .../idShortOverPatternExamples/fuzzed_06.xml | 4 + .../idShortOverPatternExamples/fuzzed_07.xml | 4 + .../idShortOverPatternExamples/fuzzed_08.xml | 4 + .../idShortOverPatternExamples/fuzzed_09.xml | 4 + .../idShortOverPatternExamples/fuzzed_10.xml | 4 + .../hyphen_then_underscore.xml | 4 + .../many_internal_hyphens.xml | 4 + .../many_underscores.xml | 4 + .../minimal_digit.xml | 4 + .../minimal_lower.xml | 4 + .../minimal_underscore.xml | 4 + .../minimal_upper.xml | 4 + .../single_internal_hyphen.xml | 4 + .../underscore_after_first.xml | 4 + .../list_id_short_in_value.xml | 11 + .../list_no_semantic_id_list_element.xml | 31 + .../list_one_child_without_semantic_id.xml | 31 + .../list_two_properties.xml | 40 + .../Expected/submodelElementList/maximal.xml | 178 + .../Expected/submodelElementList/minimal.xml | 3 + .../Xml/Expected/valueList/maximal.xml | 7 + .../Xml/Expected/valueList/minimal.xml | 7 + .../Expected/valueReferencePair/maximal.xml | 12 + .../Expected/valueReferencePair/minimal.xml | 3 + .../valueOverPatternExamples/fuzzed_01.xml | 3 + .../valueOverPatternExamples/fuzzed_02.xml | 3 + .../valueOverPatternExamples/fuzzed_03.xml | 3 + .../valueOverPatternExamples/fuzzed_04.xml | 3 + .../valueOverPatternExamples/fuzzed_05.xml | 3 + .../valueOverPatternExamples/fuzzed_06.xml | 3 + .../valueOverPatternExamples/fuzzed_07.xml | 3 + .../valueOverPatternExamples/fuzzed_08.xml | 3 + .../valueOverPatternExamples/fuzzed_09.xml | 3 + .../valueOverPatternExamples/fuzzed_10.xml | 3 + ...irst_key_not_in_globally_identifiables.xml | 9 + ...l_reference_violation_invalid_last_key.xml | 13 + ...ion_first_key_not_in_aas_identifiables.xml | 9 + ...irst_key_not_in_globally_identifiables.xml | 9 + ...ation_fragment_reference_in_the_middle.xml | 17 + ...gment_reference_not_after_file_or_blob.xml | 17 + ...violation_invalid_key_value_after_list.xml | 17 + ...lation_second_key_not_in_fragment_keys.xml | 13 + ..._violation_of_semantic_id_list_element.xml | 40 + ...t_violation_of_type_value_list_element.xml | 40 + ...t_violation_of_value_type_list_element.xml | 40 + ..._semantic_id_mismatch_between_elements.xml | 31 + .../administrativeInformation/createdAt.xml | 3 + .../administrativeInformation/updatedAt.xml | 3 + .../basicEventElement/lastUpdate.xml | 18 + .../eventPayload/timeStamp.xml | 25 + .../range/Any_URI_negatively_fuzzed_01.xml | 5 + .../range/Any_URI_negatively_fuzzed_04.xml | 5 + .../range/Any_URI_negatively_fuzzed_05.xml | 5 + .../range/Any_URI_negatively_fuzzed_06.xml | 5 + .../range/Any_URI_negatively_fuzzed_10.xml | 5 + ...followed_by_non_two_hexadecimal_digits.xml | 5 + .../range/Any_URI_too_many_fragments.xml | 5 + ..._odd_number_of_characters_is_not_valid.xml | 5 + ...quals_signs_may_only_appear_at_the_end.xml | 5 + .../Base_64_binary_negatively_fuzzed_03.xml | 5 + .../Base_64_binary_negatively_fuzzed_04.xml | 5 + .../Base_64_binary_negatively_fuzzed_05.xml | 5 + .../Base_64_binary_negatively_fuzzed_06.xml | 5 + .../Base_64_binary_negatively_fuzzed_08.xml | 5 + .../Base_64_binary_negatively_fuzzed_10.xml | 5 + ...ean_false_as_number_with_leading_zeros.xml | 5 + .../range/Boolean_false_in_camelcase.xml | 5 + .../range/Boolean_false_in_uppercase.xml | 5 + .../range/Boolean_negatively_fuzzed_01.xml | 5 + .../range/Boolean_negatively_fuzzed_03.xml | 5 + .../range/Boolean_negatively_fuzzed_05.xml | 5 + .../range/Boolean_negatively_fuzzed_10.xml | 5 + ...lean_true_as_number_with_leading_zeros.xml | 5 + .../range/Boolean_true_in_camelcase.xml | 5 + .../range/Boolean_true_in_uppercase.xml | 5 + .../range/Byte_decimal.xml | 5 + .../InvalidRangeExample/range/Byte_empty.xml | 5 + .../range/Byte_free_form_text.xml | 5 + .../range/Byte_mathematical_formula.xml | 5 + .../range/Byte_max_plus_one.xml | 5 + .../range/Byte_min_minus_one.xml | 5 + .../range/Byte_scientific.xml | 5 + .../range/Date_date_time_with_UTC.xml | 5 + .../range/Date_date_time_with_offset.xml | 5 + .../range/Date_date_time_without_zone.xml | 5 + ...Date_date_with_invalid_negative_offset.xml | 5 + ...Date_date_with_invalid_positive_offset.xml | 5 + .../Date_date_with_seconds_in_offset.xml | 5 + .../InvalidRangeExample/range/Date_empty.xml | 5 + .../range/Date_non_existing_february_29th.xml | 5 + .../range/Date_time_date.xml | 5 + ...date_time_with_invalid_negative_offset.xml | 5 + ...date_time_with_invalid_positive_offset.xml | 5 + ..._time_date_time_with_seconds_in_offset.xml | 5 + ..._time_date_time_with_unexpected_prefix.xml | 5 + ..._time_date_time_with_unexpected_suffix.xml | 5 + .../range/Date_time_date_with_time_zone.xml | 5 + .../range/Date_time_empty.xml | 5 + .../Date_time_non_existing_february_29th.xml | 5 + .../range/Date_time_without_minutes.xml | 5 + .../range/Date_time_without_seconds.xml | 5 + .../Date_time_year_4_bce_february_29th.xml | 5 + .../Date_time_year_zero_doesnt_exist.xml | 5 + .../range/Date_year_4_bce_february_29th.xml | 5 + .../range/Date_year_zero_doesnt_exist.xml | 5 + .../range/Decimal_empty.xml | 5 + .../range/Decimal_free_form_text.xml | 5 + .../range/Double_empty.xml | 5 + .../range/Double_free_form_text.xml | 5 + .../range/Double_inf_case_matters.xml | 5 + .../range/Double_nan_case_matters.xml | 5 + ...ble_no_fraction_in_scientific_notation.xml | 5 + .../range/Double_plus_inf.xml | 5 + .../range/Double_too_large.xml | 5 + .../range/Duration_empty.xml | 5 + .../range/Duration_free_form_text.xml | 5 + .../range/Duration_integer.xml | 5 + .../range/Duration_leading_P_missing.xml | 5 + .../range/Duration_negative_years.xml | 5 + ...Duration_positive_year_negative_months.xml | 5 + .../range/Duration_separator_T_missing.xml | 5 + .../range/Duration_the_order_matters.xml | 5 + .../InvalidRangeExample/range/Float_empty.xml | 5 + .../range/Float_free_form_text.xml | 5 + .../range/Float_inf_case_matters.xml | 5 + .../range/Float_nan_case_matters.xml | 5 + ...oat_no_fraction_in_scientific_notation.xml | 5 + .../range/Float_plus_inf.xml | 5 + .../range/Float_too_large.xml | 5 + .../range/G_day_day_outside_of_range.xml | 5 + .../InvalidRangeExample/range/G_day_empty.xml | 5 + .../range/G_day_free_form_text.xml | 5 + .../range/G_day_invalid_negative_offset.xml | 5 + .../G_day_invalid_offset_with_seconds.xml | 5 + .../range/G_day_invalid_positive_offset.xml | 5 + .../range/G_day_missing_leading_dashes.xml | 5 + .../range/G_day_missing_leading_digit.xml | 5 + .../range/G_day_unexpected_suffix.xml | 5 + .../G_month_day_day_outside_of_range.xml | 5 + .../range/G_month_day_empty.xml | 5 + .../range/G_month_day_free_form_text.xml | 5 + .../G_month_day_invalid_negative_offset.xml | 5 + ..._month_day_invalid_offset_with_seconds.xml | 5 + .../G_month_day_invalid_positive_offset.xml | 5 + .../G_month_day_missing_leading_dashes.xml | 5 + .../G_month_day_missing_leading_digit.xml | 5 + .../G_month_day_non_existing_april_31st.xml | 5 + ...month_day_unexpected_prefix_and_suffix.xml | 5 + .../range/G_month_empty.xml | 5 + .../range/G_month_free_form_text.xml | 5 + .../range/G_month_invalid_negative_offset.xml | 5 + .../G_month_invalid_offset_with_seconds.xml | 5 + .../range/G_month_invalid_positive_offset.xml | 5 + .../range/G_month_missing_leading_dashes.xml | 5 + .../range/G_month_missing_leading_digit.xml | 5 + .../range/G_month_month_outside_of_range.xml | 5 + .../G_month_unexpected_prefix_and_suffix.xml | 5 + .../range/G_year_empty.xml | 5 + .../range/G_year_free_form_text.xml | 5 + .../range/G_year_invalid_negative_offset.xml | 5 + .../G_year_invalid_offset_with_seconds.xml | 5 + .../range/G_year_invalid_positive_offset.xml | 5 + .../range/G_year_missing_century.xml | 5 + .../range/G_year_month_empty.xml | 5 + .../range/G_year_month_free_form_text.xml | 5 + .../G_year_month_invalid_negative_offset.xml | 5 + ...year_month_invalid_offset_with_seconds.xml | 5 + .../G_year_month_invalid_positive_offset.xml | 5 + .../range/G_year_month_missing_century.xml | 5 + .../range/G_year_month_missing_month.xml | 5 + .../range/G_year_month_month_out_of_range.xml | 5 + .../range/G_year_unexpected_month.xml | 5 + .../range/Hex_binary_free_form_text.xml | 5 + .../range/Hex_binary_odd_number_of_digits.xml | 5 + .../range/Hex_binary_single_digit.xml | 5 + .../InvalidRangeExample/range/Int_decimal.xml | 5 + .../InvalidRangeExample/range/Int_empty.xml | 5 + .../range/Int_free_form_text.xml | 5 + .../range/Int_mathematical_formula.xml | 5 + .../range/Int_max_plus_one.xml | 5 + .../range/Int_min_minus_one.xml | 5 + .../range/Int_scientific.xml | 5 + .../range/Integer_decimal.xml | 5 + .../range/Integer_empty.xml | 5 + .../range/Integer_free_form_text.xml | 5 + .../range/Integer_mathematical_formula.xml | 5 + .../range/Integer_scientific.xml | 5 + .../range/Long_decimal.xml | 5 + .../InvalidRangeExample/range/Long_empty.xml | 5 + .../range/Long_free_form_text.xml | 5 + .../range/Long_mathematical_formula.xml | 5 + .../range/Long_max_plus_one.xml | 5 + .../range/Long_min_minus_one.xml | 5 + .../range/Long_scientific.xml | 5 + .../range/Negative_integer_decimal.xml | 5 + .../range/Negative_integer_empty.xml | 5 + .../Negative_integer_explicitly_positive.xml | 5 + ...ative_integer_explicitly_positive_zero.xml | 5 + .../range/Negative_integer_free_form_text.xml | 5 + .../Negative_integer_implicitly_positive.xml | 5 + .../Negative_integer_mathematical_formula.xml | 5 + .../range/Negative_integer_scientific.xml | 5 + .../range/Negative_integer_zero.xml | 5 + ...ative_integer_zero_prefixed_with_zeros.xml | 5 + .../range/Non_negative_integer_decimal.xml | 5 + .../range/Non_negative_integer_empty.xml | 5 + .../Non_negative_integer_free_form_text.xml | 5 + .../range/Non_negative_integer_negative.xml | 5 + .../range/Non_positive_integer_decimal.xml | 5 + .../range/Non_positive_integer_empty.xml | 5 + ...n_positive_integer_explicitly_positive.xml | 5 + .../Non_positive_integer_free_form_text.xml | 5 + ...n_positive_integer_implicitly_positive.xml | 5 + ..._positive_integer_mathematical_formula.xml | 5 + .../range/Non_positive_integer_scientific.xml | 5 + .../range/Positive_integer_decimal.xml | 5 + .../range/Positive_integer_empty.xml | 5 + .../range/Positive_integer_free_form_text.xml | 5 + .../range/Positive_integer_negative.xml | 5 + .../range/Positive_integer_zero.xml | 5 + ...itive_integer_zero_prefixed_with_zeros.xml | 5 + .../range/Short_decimal.xml | 5 + .../InvalidRangeExample/range/Short_empty.xml | 5 + .../range/Short_free_form_text.xml | 5 + .../range/Short_mathematical_formula.xml | 5 + .../range/Short_max_plus_one.xml | 5 + .../range/Short_min_minus_one.xml | 5 + .../range/Short_scientific.xml | 5 + .../InvalidRangeExample/range/Time_empty.xml | 5 + .../range/Time_free_form_text.xml | 5 + .../range/Time_hour_out_of_range.xml | 5 + .../range/Time_invalid_negative_offset.xml | 5 + .../Time_invalid_offset_with_seconds.xml | 5 + .../range/Time_invalid_positive_offset.xml | 5 + .../range/Time_minute_out_of_range.xml | 5 + .../range/Time_missing_padded_zeros.xml | 5 + .../range/Time_missing_seconds.xml | 5 + .../range/Time_negative.xml | 5 + .../range/Time_second_out_of_range.xml | 5 + .../range/Unsigned_byte_decimal.xml | 5 + .../range/Unsigned_byte_empty.xml | 5 + .../range/Unsigned_byte_free_form_text.xml | 5 + .../Unsigned_byte_mathematical_formula.xml | 5 + .../range/Unsigned_byte_max_plus_one.xml | 5 + .../range/Unsigned_byte_negative.xml | 5 + .../range/Unsigned_byte_scientific.xml | 5 + .../range/Unsigned_int_decimal.xml | 5 + .../range/Unsigned_int_empty.xml | 5 + .../range/Unsigned_int_free_form_text.xml | 5 + .../Unsigned_int_mathematical_formula.xml | 5 + .../range/Unsigned_int_max_plus_one.xml | 5 + .../range/Unsigned_int_negative.xml | 5 + .../range/Unsigned_int_scientific.xml | 5 + .../range/Unsigned_long_decimal.xml | 5 + .../range/Unsigned_long_empty.xml | 5 + .../range/Unsigned_long_free_form_text.xml | 5 + .../Unsigned_long_mathematical_formula.xml | 5 + .../range/Unsigned_long_max_plus_one.xml | 5 + .../range/Unsigned_long_negative.xml | 5 + .../range/Unsigned_long_scientific.xml | 5 + .../range/Unsigned_short_decimal.xml | 5 + .../range/Unsigned_short_empty.xml | 5 + .../range/Unsigned_short_free_form_text.xml | 5 + .../Unsigned_short_mathematical_formula.xml | 5 + .../range/Unsigned_short_max_plus_one.xml | 5 + .../range/Unsigned_short_negative.xml | 5 + .../range/Unsigned_short_scientific.xml | 5 + .../value/Any_URI_negatively_fuzzed_01.xml | 5 + .../value/Any_URI_negatively_fuzzed_04.xml | 5 + .../value/Any_URI_negatively_fuzzed_05.xml | 5 + .../value/Any_URI_negatively_fuzzed_06.xml | 5 + .../value/Any_URI_negatively_fuzzed_10.xml | 5 + ...followed_by_non_two_hexadecimal_digits.xml | 5 + .../value/Any_URI_too_many_fragments.xml | 5 + ..._odd_number_of_characters_is_not_valid.xml | 5 + ...quals_signs_may_only_appear_at_the_end.xml | 5 + .../Base_64_binary_negatively_fuzzed_03.xml | 5 + .../Base_64_binary_negatively_fuzzed_04.xml | 5 + .../Base_64_binary_negatively_fuzzed_05.xml | 5 + .../Base_64_binary_negatively_fuzzed_06.xml | 5 + .../Base_64_binary_negatively_fuzzed_08.xml | 5 + .../Base_64_binary_negatively_fuzzed_10.xml | 5 + ...ean_false_as_number_with_leading_zeros.xml | 5 + .../value/Boolean_false_in_camelcase.xml | 5 + .../value/Boolean_false_in_uppercase.xml | 5 + .../value/Boolean_negatively_fuzzed_01.xml | 5 + .../value/Boolean_negatively_fuzzed_03.xml | 5 + .../value/Boolean_negatively_fuzzed_05.xml | 5 + .../value/Boolean_negatively_fuzzed_10.xml | 5 + ...lean_true_as_number_with_leading_zeros.xml | 5 + .../value/Boolean_true_in_camelcase.xml | 5 + .../value/Boolean_true_in_uppercase.xml | 5 + .../extension/value/Byte_decimal.xml | 5 + .../extension/value/Byte_empty.xml | 5 + .../extension/value/Byte_free_form_text.xml | 5 + .../value/Byte_mathematical_formula.xml | 5 + .../extension/value/Byte_max_plus_one.xml | 5 + .../extension/value/Byte_min_minus_one.xml | 5 + .../extension/value/Byte_scientific.xml | 5 + .../value/Date_date_time_with_UTC.xml | 5 + .../value/Date_date_time_with_offset.xml | 5 + .../value/Date_date_time_without_zone.xml | 5 + ...Date_date_with_invalid_negative_offset.xml | 5 + ...Date_date_with_invalid_positive_offset.xml | 5 + .../Date_date_with_seconds_in_offset.xml | 5 + .../extension/value/Date_empty.xml | 5 + .../value/Date_non_existing_february_29th.xml | 5 + .../extension/value/Date_time_date.xml | 5 + ...date_time_with_invalid_negative_offset.xml | 5 + ...date_time_with_invalid_positive_offset.xml | 5 + ..._time_date_time_with_seconds_in_offset.xml | 5 + ..._time_date_time_with_unexpected_prefix.xml | 5 + ..._time_date_time_with_unexpected_suffix.xml | 5 + .../value/Date_time_date_with_time_zone.xml | 5 + .../extension/value/Date_time_empty.xml | 5 + .../Date_time_non_existing_february_29th.xml | 5 + .../value/Date_time_without_minutes.xml | 5 + .../value/Date_time_without_seconds.xml | 5 + .../Date_time_year_4_bce_february_29th.xml | 5 + .../Date_time_year_zero_doesnt_exist.xml | 5 + .../value/Date_year_4_bce_february_29th.xml | 5 + .../value/Date_year_zero_doesnt_exist.xml | 5 + .../extension/value/Decimal_empty.xml | 5 + .../value/Decimal_free_form_text.xml | 5 + .../extension/value/Double_empty.xml | 5 + .../extension/value/Double_free_form_text.xml | 5 + .../value/Double_inf_case_matters.xml | 5 + .../value/Double_nan_case_matters.xml | 5 + ...ble_no_fraction_in_scientific_notation.xml | 5 + .../extension/value/Double_plus_inf.xml | 5 + .../extension/value/Double_too_large.xml | 5 + .../extension/value/Duration_empty.xml | 5 + .../value/Duration_free_form_text.xml | 5 + .../extension/value/Duration_integer.xml | 5 + .../value/Duration_leading_P_missing.xml | 5 + .../value/Duration_negative_years.xml | 5 + ...Duration_positive_year_negative_months.xml | 5 + .../value/Duration_separator_T_missing.xml | 5 + .../value/Duration_the_order_matters.xml | 5 + .../extension/value/Float_empty.xml | 5 + .../extension/value/Float_free_form_text.xml | 5 + .../value/Float_inf_case_matters.xml | 5 + .../value/Float_nan_case_matters.xml | 5 + ...oat_no_fraction_in_scientific_notation.xml | 5 + .../extension/value/Float_plus_inf.xml | 5 + .../extension/value/Float_too_large.xml | 5 + .../value/G_day_day_outside_of_range.xml | 5 + .../extension/value/G_day_empty.xml | 5 + .../extension/value/G_day_free_form_text.xml | 5 + .../value/G_day_invalid_negative_offset.xml | 5 + .../G_day_invalid_offset_with_seconds.xml | 5 + .../value/G_day_invalid_positive_offset.xml | 5 + .../value/G_day_missing_leading_dashes.xml | 5 + .../value/G_day_missing_leading_digit.xml | 5 + .../value/G_day_unexpected_suffix.xml | 5 + .../G_month_day_day_outside_of_range.xml | 5 + .../extension/value/G_month_day_empty.xml | 5 + .../value/G_month_day_free_form_text.xml | 5 + .../G_month_day_invalid_negative_offset.xml | 5 + ..._month_day_invalid_offset_with_seconds.xml | 5 + .../G_month_day_invalid_positive_offset.xml | 5 + .../G_month_day_missing_leading_dashes.xml | 5 + .../G_month_day_missing_leading_digit.xml | 5 + .../G_month_day_non_existing_april_31st.xml | 5 + ...month_day_unexpected_prefix_and_suffix.xml | 5 + .../extension/value/G_month_empty.xml | 5 + .../value/G_month_free_form_text.xml | 5 + .../value/G_month_invalid_negative_offset.xml | 5 + .../G_month_invalid_offset_with_seconds.xml | 5 + .../value/G_month_invalid_positive_offset.xml | 5 + .../value/G_month_missing_leading_dashes.xml | 5 + .../value/G_month_missing_leading_digit.xml | 5 + .../value/G_month_month_outside_of_range.xml | 5 + .../G_month_unexpected_prefix_and_suffix.xml | 5 + .../extension/value/G_year_empty.xml | 5 + .../extension/value/G_year_free_form_text.xml | 5 + .../value/G_year_invalid_negative_offset.xml | 5 + .../G_year_invalid_offset_with_seconds.xml | 5 + .../value/G_year_invalid_positive_offset.xml | 5 + .../value/G_year_missing_century.xml | 5 + .../extension/value/G_year_month_empty.xml | 5 + .../value/G_year_month_free_form_text.xml | 5 + .../G_year_month_invalid_negative_offset.xml | 5 + ...year_month_invalid_offset_with_seconds.xml | 5 + .../G_year_month_invalid_positive_offset.xml | 5 + .../value/G_year_month_missing_century.xml | 5 + .../value/G_year_month_missing_month.xml | 5 + .../value/G_year_month_month_out_of_range.xml | 5 + .../value/G_year_unexpected_month.xml | 5 + .../value/Hex_binary_free_form_text.xml | 5 + .../value/Hex_binary_odd_number_of_digits.xml | 5 + .../value/Hex_binary_single_digit.xml | 5 + .../extension/value/Int_decimal.xml | 5 + .../extension/value/Int_empty.xml | 5 + .../extension/value/Int_free_form_text.xml | 5 + .../value/Int_mathematical_formula.xml | 5 + .../extension/value/Int_max_plus_one.xml | 5 + .../extension/value/Int_min_minus_one.xml | 5 + .../extension/value/Int_scientific.xml | 5 + .../extension/value/Integer_decimal.xml | 5 + .../extension/value/Integer_empty.xml | 5 + .../value/Integer_free_form_text.xml | 5 + .../value/Integer_mathematical_formula.xml | 5 + .../extension/value/Integer_scientific.xml | 5 + .../extension/value/Long_decimal.xml | 5 + .../extension/value/Long_empty.xml | 5 + .../extension/value/Long_free_form_text.xml | 5 + .../value/Long_mathematical_formula.xml | 5 + .../extension/value/Long_max_plus_one.xml | 5 + .../extension/value/Long_min_minus_one.xml | 5 + .../extension/value/Long_scientific.xml | 5 + .../value/Negative_integer_decimal.xml | 5 + .../value/Negative_integer_empty.xml | 5 + .../Negative_integer_explicitly_positive.xml | 5 + ...ative_integer_explicitly_positive_zero.xml | 5 + .../value/Negative_integer_free_form_text.xml | 5 + .../Negative_integer_implicitly_positive.xml | 5 + .../Negative_integer_mathematical_formula.xml | 5 + .../value/Negative_integer_scientific.xml | 5 + .../extension/value/Negative_integer_zero.xml | 5 + ...ative_integer_zero_prefixed_with_zeros.xml | 5 + .../value/Non_negative_integer_decimal.xml | 5 + .../value/Non_negative_integer_empty.xml | 5 + .../Non_negative_integer_free_form_text.xml | 5 + .../value/Non_negative_integer_negative.xml | 5 + .../value/Non_positive_integer_decimal.xml | 5 + .../value/Non_positive_integer_empty.xml | 5 + ...n_positive_integer_explicitly_positive.xml | 5 + .../Non_positive_integer_free_form_text.xml | 5 + ...n_positive_integer_implicitly_positive.xml | 5 + ..._positive_integer_mathematical_formula.xml | 5 + .../value/Non_positive_integer_scientific.xml | 5 + .../value/Positive_integer_decimal.xml | 5 + .../value/Positive_integer_empty.xml | 5 + .../value/Positive_integer_free_form_text.xml | 5 + .../value/Positive_integer_negative.xml | 5 + .../extension/value/Positive_integer_zero.xml | 5 + ...itive_integer_zero_prefixed_with_zeros.xml | 5 + .../extension/value/Short_decimal.xml | 5 + .../extension/value/Short_empty.xml | 5 + .../extension/value/Short_free_form_text.xml | 5 + .../value/Short_mathematical_formula.xml | 5 + .../extension/value/Short_max_plus_one.xml | 5 + .../extension/value/Short_min_minus_one.xml | 5 + .../extension/value/Short_scientific.xml | 5 + .../extension/value/Time_empty.xml | 5 + .../extension/value/Time_free_form_text.xml | 5 + .../value/Time_hour_out_of_range.xml | 5 + .../value/Time_invalid_negative_offset.xml | 5 + .../Time_invalid_offset_with_seconds.xml | 5 + .../value/Time_invalid_positive_offset.xml | 5 + .../value/Time_minute_out_of_range.xml | 5 + .../value/Time_missing_padded_zeros.xml | 5 + .../extension/value/Time_missing_seconds.xml | 5 + .../extension/value/Time_negative.xml | 5 + .../value/Time_second_out_of_range.xml | 5 + .../extension/value/Unsigned_byte_decimal.xml | 5 + .../extension/value/Unsigned_byte_empty.xml | 5 + .../value/Unsigned_byte_free_form_text.xml | 5 + .../Unsigned_byte_mathematical_formula.xml | 5 + .../value/Unsigned_byte_max_plus_one.xml | 5 + .../value/Unsigned_byte_negative.xml | 5 + .../value/Unsigned_byte_scientific.xml | 5 + .../extension/value/Unsigned_int_decimal.xml | 5 + .../extension/value/Unsigned_int_empty.xml | 5 + .../value/Unsigned_int_free_form_text.xml | 5 + .../Unsigned_int_mathematical_formula.xml | 5 + .../value/Unsigned_int_max_plus_one.xml | 5 + .../extension/value/Unsigned_int_negative.xml | 5 + .../value/Unsigned_int_scientific.xml | 5 + .../extension/value/Unsigned_long_decimal.xml | 5 + .../extension/value/Unsigned_long_empty.xml | 5 + .../value/Unsigned_long_free_form_text.xml | 5 + .../Unsigned_long_mathematical_formula.xml | 5 + .../value/Unsigned_long_max_plus_one.xml | 5 + .../value/Unsigned_long_negative.xml | 5 + .../value/Unsigned_long_scientific.xml | 5 + .../value/Unsigned_short_decimal.xml | 5 + .../extension/value/Unsigned_short_empty.xml | 5 + .../value/Unsigned_short_free_form_text.xml | 5 + .../Unsigned_short_mathematical_formula.xml | 5 + .../value/Unsigned_short_max_plus_one.xml | 5 + .../value/Unsigned_short_negative.xml | 5 + .../value/Unsigned_short_scientific.xml | 5 + .../value/Any_URI_negatively_fuzzed_01.xml | 4 + .../value/Any_URI_negatively_fuzzed_04.xml | 4 + .../value/Any_URI_negatively_fuzzed_05.xml | 4 + .../value/Any_URI_negatively_fuzzed_06.xml | 4 + .../value/Any_URI_negatively_fuzzed_10.xml | 4 + ...followed_by_non_two_hexadecimal_digits.xml | 4 + .../value/Any_URI_too_many_fragments.xml | 4 + ..._odd_number_of_characters_is_not_valid.xml | 4 + ...quals_signs_may_only_appear_at_the_end.xml | 4 + .../Base_64_binary_negatively_fuzzed_03.xml | 4 + .../Base_64_binary_negatively_fuzzed_04.xml | 4 + .../Base_64_binary_negatively_fuzzed_05.xml | 4 + .../Base_64_binary_negatively_fuzzed_06.xml | 4 + .../Base_64_binary_negatively_fuzzed_08.xml | 4 + .../Base_64_binary_negatively_fuzzed_10.xml | 4 + ...ean_false_as_number_with_leading_zeros.xml | 4 + .../value/Boolean_false_in_camelcase.xml | 4 + .../value/Boolean_false_in_uppercase.xml | 4 + .../value/Boolean_negatively_fuzzed_01.xml | 4 + .../value/Boolean_negatively_fuzzed_03.xml | 4 + .../value/Boolean_negatively_fuzzed_05.xml | 4 + .../value/Boolean_negatively_fuzzed_10.xml | 4 + ...lean_true_as_number_with_leading_zeros.xml | 4 + .../value/Boolean_true_in_camelcase.xml | 4 + .../value/Boolean_true_in_uppercase.xml | 4 + .../property/value/Byte_decimal.xml | 4 + .../property/value/Byte_empty.xml | 4 + .../property/value/Byte_free_form_text.xml | 4 + .../value/Byte_mathematical_formula.xml | 4 + .../property/value/Byte_max_plus_one.xml | 4 + .../property/value/Byte_min_minus_one.xml | 4 + .../property/value/Byte_scientific.xml | 4 + .../value/Date_date_time_with_UTC.xml | 4 + .../value/Date_date_time_with_offset.xml | 4 + .../value/Date_date_time_without_zone.xml | 4 + ...Date_date_with_invalid_negative_offset.xml | 4 + ...Date_date_with_invalid_positive_offset.xml | 4 + .../Date_date_with_seconds_in_offset.xml | 4 + .../property/value/Date_empty.xml | 4 + .../value/Date_non_existing_february_29th.xml | 4 + .../property/value/Date_time_date.xml | 4 + ...date_time_with_invalid_negative_offset.xml | 4 + ...date_time_with_invalid_positive_offset.xml | 4 + ..._time_date_time_with_seconds_in_offset.xml | 4 + ..._time_date_time_with_unexpected_prefix.xml | 4 + ..._time_date_time_with_unexpected_suffix.xml | 4 + .../value/Date_time_date_with_time_zone.xml | 4 + .../property/value/Date_time_empty.xml | 4 + .../Date_time_non_existing_february_29th.xml | 4 + .../value/Date_time_without_minutes.xml | 4 + .../value/Date_time_without_seconds.xml | 4 + .../Date_time_year_4_bce_february_29th.xml | 4 + .../Date_time_year_zero_doesnt_exist.xml | 4 + .../value/Date_year_4_bce_february_29th.xml | 4 + .../value/Date_year_zero_doesnt_exist.xml | 4 + .../property/value/Decimal_empty.xml | 4 + .../property/value/Decimal_free_form_text.xml | 4 + .../property/value/Double_empty.xml | 4 + .../property/value/Double_free_form_text.xml | 4 + .../value/Double_inf_case_matters.xml | 4 + .../value/Double_nan_case_matters.xml | 4 + ...ble_no_fraction_in_scientific_notation.xml | 4 + .../property/value/Double_plus_inf.xml | 4 + .../property/value/Double_too_large.xml | 4 + .../property/value/Duration_empty.xml | 4 + .../value/Duration_free_form_text.xml | 4 + .../property/value/Duration_integer.xml | 4 + .../value/Duration_leading_P_missing.xml | 4 + .../value/Duration_negative_years.xml | 4 + ...Duration_positive_year_negative_months.xml | 4 + .../value/Duration_separator_T_missing.xml | 4 + .../value/Duration_the_order_matters.xml | 4 + .../property/value/Float_empty.xml | 4 + .../property/value/Float_free_form_text.xml | 4 + .../property/value/Float_inf_case_matters.xml | 4 + .../property/value/Float_nan_case_matters.xml | 4 + ...oat_no_fraction_in_scientific_notation.xml | 4 + .../property/value/Float_plus_inf.xml | 4 + .../property/value/Float_too_large.xml | 4 + .../value/G_day_day_outside_of_range.xml | 4 + .../property/value/G_day_empty.xml | 4 + .../property/value/G_day_free_form_text.xml | 4 + .../value/G_day_invalid_negative_offset.xml | 4 + .../G_day_invalid_offset_with_seconds.xml | 4 + .../value/G_day_invalid_positive_offset.xml | 4 + .../value/G_day_missing_leading_dashes.xml | 4 + .../value/G_day_missing_leading_digit.xml | 4 + .../value/G_day_unexpected_suffix.xml | 4 + .../G_month_day_day_outside_of_range.xml | 4 + .../property/value/G_month_day_empty.xml | 4 + .../value/G_month_day_free_form_text.xml | 4 + .../G_month_day_invalid_negative_offset.xml | 4 + ..._month_day_invalid_offset_with_seconds.xml | 4 + .../G_month_day_invalid_positive_offset.xml | 4 + .../G_month_day_missing_leading_dashes.xml | 4 + .../G_month_day_missing_leading_digit.xml | 4 + .../G_month_day_non_existing_april_31st.xml | 4 + ...month_day_unexpected_prefix_and_suffix.xml | 4 + .../property/value/G_month_empty.xml | 4 + .../property/value/G_month_free_form_text.xml | 4 + .../value/G_month_invalid_negative_offset.xml | 4 + .../G_month_invalid_offset_with_seconds.xml | 4 + .../value/G_month_invalid_positive_offset.xml | 4 + .../value/G_month_missing_leading_dashes.xml | 4 + .../value/G_month_missing_leading_digit.xml | 4 + .../value/G_month_month_outside_of_range.xml | 4 + .../G_month_unexpected_prefix_and_suffix.xml | 4 + .../property/value/G_year_empty.xml | 4 + .../property/value/G_year_free_form_text.xml | 4 + .../value/G_year_invalid_negative_offset.xml | 4 + .../G_year_invalid_offset_with_seconds.xml | 4 + .../value/G_year_invalid_positive_offset.xml | 4 + .../property/value/G_year_missing_century.xml | 4 + .../property/value/G_year_month_empty.xml | 4 + .../value/G_year_month_free_form_text.xml | 4 + .../G_year_month_invalid_negative_offset.xml | 4 + ...year_month_invalid_offset_with_seconds.xml | 4 + .../G_year_month_invalid_positive_offset.xml | 4 + .../value/G_year_month_missing_century.xml | 4 + .../value/G_year_month_missing_month.xml | 4 + .../value/G_year_month_month_out_of_range.xml | 4 + .../value/G_year_unexpected_month.xml | 4 + .../value/Hex_binary_free_form_text.xml | 4 + .../value/Hex_binary_odd_number_of_digits.xml | 4 + .../value/Hex_binary_single_digit.xml | 4 + .../property/value/Int_decimal.xml | 4 + .../property/value/Int_empty.xml | 4 + .../property/value/Int_free_form_text.xml | 4 + .../value/Int_mathematical_formula.xml | 4 + .../property/value/Int_max_plus_one.xml | 4 + .../property/value/Int_min_minus_one.xml | 4 + .../property/value/Int_scientific.xml | 4 + .../property/value/Integer_decimal.xml | 4 + .../property/value/Integer_empty.xml | 4 + .../property/value/Integer_free_form_text.xml | 4 + .../value/Integer_mathematical_formula.xml | 4 + .../property/value/Integer_scientific.xml | 4 + .../property/value/Long_decimal.xml | 4 + .../property/value/Long_empty.xml | 4 + .../property/value/Long_free_form_text.xml | 4 + .../value/Long_mathematical_formula.xml | 4 + .../property/value/Long_max_plus_one.xml | 4 + .../property/value/Long_min_minus_one.xml | 4 + .../property/value/Long_scientific.xml | 4 + .../value/Negative_integer_decimal.xml | 4 + .../property/value/Negative_integer_empty.xml | 4 + .../Negative_integer_explicitly_positive.xml | 4 + ...ative_integer_explicitly_positive_zero.xml | 4 + .../value/Negative_integer_free_form_text.xml | 4 + .../Negative_integer_implicitly_positive.xml | 4 + .../Negative_integer_mathematical_formula.xml | 4 + .../value/Negative_integer_scientific.xml | 4 + .../property/value/Negative_integer_zero.xml | 4 + ...ative_integer_zero_prefixed_with_zeros.xml | 4 + .../value/Non_negative_integer_decimal.xml | 4 + .../value/Non_negative_integer_empty.xml | 4 + .../Non_negative_integer_free_form_text.xml | 4 + .../value/Non_negative_integer_negative.xml | 4 + .../value/Non_positive_integer_decimal.xml | 4 + .../value/Non_positive_integer_empty.xml | 4 + ...n_positive_integer_explicitly_positive.xml | 4 + .../Non_positive_integer_free_form_text.xml | 4 + ...n_positive_integer_implicitly_positive.xml | 4 + ..._positive_integer_mathematical_formula.xml | 4 + .../value/Non_positive_integer_scientific.xml | 4 + .../value/Positive_integer_decimal.xml | 4 + .../property/value/Positive_integer_empty.xml | 4 + .../value/Positive_integer_free_form_text.xml | 4 + .../value/Positive_integer_negative.xml | 4 + .../property/value/Positive_integer_zero.xml | 4 + ...itive_integer_zero_prefixed_with_zeros.xml | 4 + .../property/value/Short_decimal.xml | 4 + .../property/value/Short_empty.xml | 4 + .../property/value/Short_free_form_text.xml | 4 + .../value/Short_mathematical_formula.xml | 4 + .../property/value/Short_max_plus_one.xml | 4 + .../property/value/Short_min_minus_one.xml | 4 + .../property/value/Short_scientific.xml | 4 + .../property/value/Time_empty.xml | 4 + .../property/value/Time_free_form_text.xml | 4 + .../property/value/Time_hour_out_of_range.xml | 4 + .../value/Time_invalid_negative_offset.xml | 4 + .../Time_invalid_offset_with_seconds.xml | 4 + .../value/Time_invalid_positive_offset.xml | 4 + .../value/Time_minute_out_of_range.xml | 4 + .../value/Time_missing_padded_zeros.xml | 4 + .../property/value/Time_missing_seconds.xml | 4 + .../property/value/Time_negative.xml | 4 + .../value/Time_second_out_of_range.xml | 4 + .../property/value/Unsigned_byte_decimal.xml | 4 + .../property/value/Unsigned_byte_empty.xml | 4 + .../value/Unsigned_byte_free_form_text.xml | 4 + .../Unsigned_byte_mathematical_formula.xml | 4 + .../value/Unsigned_byte_max_plus_one.xml | 4 + .../property/value/Unsigned_byte_negative.xml | 4 + .../value/Unsigned_byte_scientific.xml | 4 + .../property/value/Unsigned_int_decimal.xml | 4 + .../property/value/Unsigned_int_empty.xml | 4 + .../value/Unsigned_int_free_form_text.xml | 4 + .../Unsigned_int_mathematical_formula.xml | 4 + .../value/Unsigned_int_max_plus_one.xml | 4 + .../property/value/Unsigned_int_negative.xml | 4 + .../value/Unsigned_int_scientific.xml | 4 + .../property/value/Unsigned_long_decimal.xml | 4 + .../property/value/Unsigned_long_empty.xml | 4 + .../value/Unsigned_long_free_form_text.xml | 4 + .../Unsigned_long_mathematical_formula.xml | 4 + .../value/Unsigned_long_max_plus_one.xml | 4 + .../property/value/Unsigned_long_negative.xml | 4 + .../value/Unsigned_long_scientific.xml | 4 + .../property/value/Unsigned_short_decimal.xml | 4 + .../property/value/Unsigned_short_empty.xml | 4 + .../value/Unsigned_short_free_form_text.xml | 4 + .../Unsigned_short_mathematical_formula.xml | 4 + .../value/Unsigned_short_max_plus_one.xml | 4 + .../value/Unsigned_short_negative.xml | 4 + .../value/Unsigned_short_scientific.xml | 4 + .../value/Any_URI_negatively_fuzzed_01.xml | 5 + .../value/Any_URI_negatively_fuzzed_04.xml | 5 + .../value/Any_URI_negatively_fuzzed_05.xml | 5 + .../value/Any_URI_negatively_fuzzed_06.xml | 5 + .../value/Any_URI_negatively_fuzzed_10.xml | 5 + ...followed_by_non_two_hexadecimal_digits.xml | 5 + .../value/Any_URI_too_many_fragments.xml | 5 + ..._odd_number_of_characters_is_not_valid.xml | 5 + ...quals_signs_may_only_appear_at_the_end.xml | 5 + .../Base_64_binary_negatively_fuzzed_03.xml | 5 + .../Base_64_binary_negatively_fuzzed_04.xml | 5 + .../Base_64_binary_negatively_fuzzed_05.xml | 5 + .../Base_64_binary_negatively_fuzzed_06.xml | 5 + .../Base_64_binary_negatively_fuzzed_08.xml | 5 + .../Base_64_binary_negatively_fuzzed_10.xml | 5 + ...ean_false_as_number_with_leading_zeros.xml | 5 + .../value/Boolean_false_in_camelcase.xml | 5 + .../value/Boolean_false_in_uppercase.xml | 5 + .../value/Boolean_negatively_fuzzed_01.xml | 5 + .../value/Boolean_negatively_fuzzed_03.xml | 5 + .../value/Boolean_negatively_fuzzed_05.xml | 5 + .../value/Boolean_negatively_fuzzed_10.xml | 5 + ...lean_true_as_number_with_leading_zeros.xml | 5 + .../value/Boolean_true_in_camelcase.xml | 5 + .../value/Boolean_true_in_uppercase.xml | 5 + .../qualifier/value/Byte_decimal.xml | 5 + .../qualifier/value/Byte_empty.xml | 5 + .../qualifier/value/Byte_free_form_text.xml | 5 + .../value/Byte_mathematical_formula.xml | 5 + .../qualifier/value/Byte_max_plus_one.xml | 5 + .../qualifier/value/Byte_min_minus_one.xml | 5 + .../qualifier/value/Byte_scientific.xml | 5 + .../value/Date_date_time_with_UTC.xml | 5 + .../value/Date_date_time_with_offset.xml | 5 + .../value/Date_date_time_without_zone.xml | 5 + ...Date_date_with_invalid_negative_offset.xml | 5 + ...Date_date_with_invalid_positive_offset.xml | 5 + .../Date_date_with_seconds_in_offset.xml | 5 + .../qualifier/value/Date_empty.xml | 5 + .../value/Date_non_existing_february_29th.xml | 5 + .../qualifier/value/Date_time_date.xml | 5 + ...date_time_with_invalid_negative_offset.xml | 5 + ...date_time_with_invalid_positive_offset.xml | 5 + ..._time_date_time_with_seconds_in_offset.xml | 5 + ..._time_date_time_with_unexpected_prefix.xml | 5 + ..._time_date_time_with_unexpected_suffix.xml | 5 + .../value/Date_time_date_with_time_zone.xml | 5 + .../qualifier/value/Date_time_empty.xml | 5 + .../Date_time_non_existing_february_29th.xml | 5 + .../value/Date_time_without_minutes.xml | 5 + .../value/Date_time_without_seconds.xml | 5 + .../Date_time_year_4_bce_february_29th.xml | 5 + .../Date_time_year_zero_doesnt_exist.xml | 5 + .../value/Date_year_4_bce_february_29th.xml | 5 + .../value/Date_year_zero_doesnt_exist.xml | 5 + .../qualifier/value/Decimal_empty.xml | 5 + .../value/Decimal_free_form_text.xml | 5 + .../qualifier/value/Double_empty.xml | 5 + .../qualifier/value/Double_free_form_text.xml | 5 + .../value/Double_inf_case_matters.xml | 5 + .../value/Double_nan_case_matters.xml | 5 + ...ble_no_fraction_in_scientific_notation.xml | 5 + .../qualifier/value/Double_plus_inf.xml | 5 + .../qualifier/value/Double_too_large.xml | 5 + .../qualifier/value/Duration_empty.xml | 5 + .../value/Duration_free_form_text.xml | 5 + .../qualifier/value/Duration_integer.xml | 5 + .../value/Duration_leading_P_missing.xml | 5 + .../value/Duration_negative_years.xml | 5 + ...Duration_positive_year_negative_months.xml | 5 + .../value/Duration_separator_T_missing.xml | 5 + .../value/Duration_the_order_matters.xml | 5 + .../qualifier/value/Float_empty.xml | 5 + .../qualifier/value/Float_free_form_text.xml | 5 + .../value/Float_inf_case_matters.xml | 5 + .../value/Float_nan_case_matters.xml | 5 + ...oat_no_fraction_in_scientific_notation.xml | 5 + .../qualifier/value/Float_plus_inf.xml | 5 + .../qualifier/value/Float_too_large.xml | 5 + .../value/G_day_day_outside_of_range.xml | 5 + .../qualifier/value/G_day_empty.xml | 5 + .../qualifier/value/G_day_free_form_text.xml | 5 + .../value/G_day_invalid_negative_offset.xml | 5 + .../G_day_invalid_offset_with_seconds.xml | 5 + .../value/G_day_invalid_positive_offset.xml | 5 + .../value/G_day_missing_leading_dashes.xml | 5 + .../value/G_day_missing_leading_digit.xml | 5 + .../value/G_day_unexpected_suffix.xml | 5 + .../G_month_day_day_outside_of_range.xml | 5 + .../qualifier/value/G_month_day_empty.xml | 5 + .../value/G_month_day_free_form_text.xml | 5 + .../G_month_day_invalid_negative_offset.xml | 5 + ..._month_day_invalid_offset_with_seconds.xml | 5 + .../G_month_day_invalid_positive_offset.xml | 5 + .../G_month_day_missing_leading_dashes.xml | 5 + .../G_month_day_missing_leading_digit.xml | 5 + .../G_month_day_non_existing_april_31st.xml | 5 + ...month_day_unexpected_prefix_and_suffix.xml | 5 + .../qualifier/value/G_month_empty.xml | 5 + .../value/G_month_free_form_text.xml | 5 + .../value/G_month_invalid_negative_offset.xml | 5 + .../G_month_invalid_offset_with_seconds.xml | 5 + .../value/G_month_invalid_positive_offset.xml | 5 + .../value/G_month_missing_leading_dashes.xml | 5 + .../value/G_month_missing_leading_digit.xml | 5 + .../value/G_month_month_outside_of_range.xml | 5 + .../G_month_unexpected_prefix_and_suffix.xml | 5 + .../qualifier/value/G_year_empty.xml | 5 + .../qualifier/value/G_year_free_form_text.xml | 5 + .../value/G_year_invalid_negative_offset.xml | 5 + .../G_year_invalid_offset_with_seconds.xml | 5 + .../value/G_year_invalid_positive_offset.xml | 5 + .../value/G_year_missing_century.xml | 5 + .../qualifier/value/G_year_month_empty.xml | 5 + .../value/G_year_month_free_form_text.xml | 5 + .../G_year_month_invalid_negative_offset.xml | 5 + ...year_month_invalid_offset_with_seconds.xml | 5 + .../G_year_month_invalid_positive_offset.xml | 5 + .../value/G_year_month_missing_century.xml | 5 + .../value/G_year_month_missing_month.xml | 5 + .../value/G_year_month_month_out_of_range.xml | 5 + .../value/G_year_unexpected_month.xml | 5 + .../value/Hex_binary_free_form_text.xml | 5 + .../value/Hex_binary_odd_number_of_digits.xml | 5 + .../value/Hex_binary_single_digit.xml | 5 + .../qualifier/value/Int_decimal.xml | 5 + .../qualifier/value/Int_empty.xml | 5 + .../qualifier/value/Int_free_form_text.xml | 5 + .../value/Int_mathematical_formula.xml | 5 + .../qualifier/value/Int_max_plus_one.xml | 5 + .../qualifier/value/Int_min_minus_one.xml | 5 + .../qualifier/value/Int_scientific.xml | 5 + .../qualifier/value/Integer_decimal.xml | 5 + .../qualifier/value/Integer_empty.xml | 5 + .../value/Integer_free_form_text.xml | 5 + .../value/Integer_mathematical_formula.xml | 5 + .../qualifier/value/Integer_scientific.xml | 5 + .../qualifier/value/Long_decimal.xml | 5 + .../qualifier/value/Long_empty.xml | 5 + .../qualifier/value/Long_free_form_text.xml | 5 + .../value/Long_mathematical_formula.xml | 5 + .../qualifier/value/Long_max_plus_one.xml | 5 + .../qualifier/value/Long_min_minus_one.xml | 5 + .../qualifier/value/Long_scientific.xml | 5 + .../value/Negative_integer_decimal.xml | 5 + .../value/Negative_integer_empty.xml | 5 + .../Negative_integer_explicitly_positive.xml | 5 + ...ative_integer_explicitly_positive_zero.xml | 5 + .../value/Negative_integer_free_form_text.xml | 5 + .../Negative_integer_implicitly_positive.xml | 5 + .../Negative_integer_mathematical_formula.xml | 5 + .../value/Negative_integer_scientific.xml | 5 + .../qualifier/value/Negative_integer_zero.xml | 5 + ...ative_integer_zero_prefixed_with_zeros.xml | 5 + .../value/Non_negative_integer_decimal.xml | 5 + .../value/Non_negative_integer_empty.xml | 5 + .../Non_negative_integer_free_form_text.xml | 5 + .../value/Non_negative_integer_negative.xml | 5 + .../value/Non_positive_integer_decimal.xml | 5 + .../value/Non_positive_integer_empty.xml | 5 + ...n_positive_integer_explicitly_positive.xml | 5 + .../Non_positive_integer_free_form_text.xml | 5 + ...n_positive_integer_implicitly_positive.xml | 5 + ..._positive_integer_mathematical_formula.xml | 5 + .../value/Non_positive_integer_scientific.xml | 5 + .../value/Positive_integer_decimal.xml | 5 + .../value/Positive_integer_empty.xml | 5 + .../value/Positive_integer_free_form_text.xml | 5 + .../value/Positive_integer_negative.xml | 5 + .../qualifier/value/Positive_integer_zero.xml | 5 + ...itive_integer_zero_prefixed_with_zeros.xml | 5 + .../qualifier/value/Short_decimal.xml | 5 + .../qualifier/value/Short_empty.xml | 5 + .../qualifier/value/Short_free_form_text.xml | 5 + .../value/Short_mathematical_formula.xml | 5 + .../qualifier/value/Short_max_plus_one.xml | 5 + .../qualifier/value/Short_min_minus_one.xml | 5 + .../qualifier/value/Short_scientific.xml | 5 + .../qualifier/value/Time_empty.xml | 5 + .../qualifier/value/Time_free_form_text.xml | 5 + .../value/Time_hour_out_of_range.xml | 5 + .../value/Time_invalid_negative_offset.xml | 5 + .../Time_invalid_offset_with_seconds.xml | 5 + .../value/Time_invalid_positive_offset.xml | 5 + .../value/Time_minute_out_of_range.xml | 5 + .../value/Time_missing_padded_zeros.xml | 5 + .../qualifier/value/Time_missing_seconds.xml | 5 + .../qualifier/value/Time_negative.xml | 5 + .../value/Time_second_out_of_range.xml | 5 + .../qualifier/value/Unsigned_byte_decimal.xml | 5 + .../qualifier/value/Unsigned_byte_empty.xml | 5 + .../value/Unsigned_byte_free_form_text.xml | 5 + .../Unsigned_byte_mathematical_formula.xml | 5 + .../value/Unsigned_byte_max_plus_one.xml | 5 + .../value/Unsigned_byte_negative.xml | 5 + .../value/Unsigned_byte_scientific.xml | 5 + .../qualifier/value/Unsigned_int_decimal.xml | 5 + .../qualifier/value/Unsigned_int_empty.xml | 5 + .../value/Unsigned_int_free_form_text.xml | 5 + .../Unsigned_int_mathematical_formula.xml | 5 + .../value/Unsigned_int_max_plus_one.xml | 5 + .../qualifier/value/Unsigned_int_negative.xml | 5 + .../value/Unsigned_int_scientific.xml | 5 + .../qualifier/value/Unsigned_long_decimal.xml | 5 + .../qualifier/value/Unsigned_long_empty.xml | 5 + .../value/Unsigned_long_free_form_text.xml | 5 + .../Unsigned_long_mathematical_formula.xml | 5 + .../value/Unsigned_long_max_plus_one.xml | 5 + .../value/Unsigned_long_negative.xml | 5 + .../value/Unsigned_long_scientific.xml | 5 + .../value/Unsigned_short_decimal.xml | 5 + .../qualifier/value/Unsigned_short_empty.xml | 5 + .../value/Unsigned_short_free_form_text.xml | 5 + .../Unsigned_short_mathematical_formula.xml | 5 + .../value/Unsigned_short_max_plus_one.xml | 5 + .../value/Unsigned_short_negative.xml | 5 + .../value/Unsigned_short_scientific.xml | 5 + .../administrativeInformation/revision.xml | 72 + .../administrativeInformation/templateId.xml | 72 + .../administrativeInformation/version.xml | 72 + .../annotatedRelationshipElement/category.xml | 166 + .../annotatedRelationshipElement/idShort.xml | 166 + .../assetAdministrationShell/category.xml | 123 + .../assetAdministrationShell/id.xml | 123 + .../assetAdministrationShell/idShort.xml | 123 + .../assetInformation/assetType.xml | 22 + .../assetInformation/globalAssetId.xml | 22 + .../basicEventElement/category.xml | 172 + .../basicEventElement/idShort.xml | 172 + .../basicEventElement/messageTopic.xml | 172 + .../MaxLengthViolation/blob/category.xml | 142 + .../MaxLengthViolation/blob/contentType.xml | 142 + .../MaxLengthViolation/blob/idShort.xml | 142 + .../capability/category.xml | 140 + .../MaxLengthViolation/capability/idShort.xml | 140 + .../conceptDescription/category.xml | 113 + .../conceptDescription/id.xml | 113 + .../conceptDescription/idShort.xml | 113 + .../dataSpecificationIec61360/value.xml | 41 + .../MaxLengthViolation/entity/category.xml | 161 + .../entity/globalAssetId.xml | 161 + .../MaxLengthViolation/entity/idShort.xml | 161 + .../MaxLengthViolation/eventPayload/topic.xml | 54 + .../MaxLengthViolation/extension/name.xml | 63 + .../MaxLengthViolation/file/category.xml | 142 + .../MaxLengthViolation/file/contentType.xml | 142 + .../MaxLengthViolation/file/idShort.xml | 142 + .../Invalid/MaxLengthViolation/file/value.xml | 142 + .../Invalid/MaxLengthViolation/key/value.xml | 4 + .../langStringDefinitionTypeIec61360/text.xml | 4 + .../langStringNameType/text.xml | 4 + .../text.xml | 4 + .../langStringShortNameTypeIec61360/text.xml | 4 + .../langStringTextType/text.xml | 4 + .../multiLanguageProperty/category.xml | 159 + .../multiLanguageProperty/idShort.xml | 159 + .../MaxLengthViolation/operation/category.xml | 189 + .../MaxLengthViolation/operation/idShort.xml | 189 + .../MaxLengthViolation/property/category.xml | 151 + .../MaxLengthViolation/property/idShort.xml | 151 + .../MaxLengthViolation/qualifier/type.xml | 53 + .../MaxLengthViolation/range/category.xml | 143 + .../MaxLengthViolation/range/idShort.xml | 143 + .../referenceElement/category.xml | 149 + .../referenceElement/idShort.xml | 149 + .../relationshipElement/category.xml | 158 + .../relationshipElement/idShort.xml | 158 + .../resource/contentType.xml | 4 + .../MaxLengthViolation/resource/path.xml | 4 + .../specificAssetId/name.xml | 51 + .../specificAssetId/value.xml | 51 + .../MaxLengthViolation/submodel/category.xml | 152 + .../MaxLengthViolation/submodel/id.xml | 152 + .../MaxLengthViolation/submodel/idShort.xml | 152 + .../submodelElementCollection/category.xml | 163 + .../submodelElementCollection/idShort.xml | 163 + .../submodelElementList/category.xml | 178 + .../submodelElementList/idShort.xml | 178 + .../valueReferencePair/value.xml | 12 + .../embeddedDataSpecifications.xml | 17 + .../administrativeInformation/revision.xml | 72 + .../administrativeInformation/templateId.xml | 72 + .../administrativeInformation/version.xml | 72 + .../annotations.xml | 159 + .../annotatedRelationshipElement/category.xml | 166 + .../description.xml | 157 + .../displayName.xml | 157 + .../embeddedDataSpecifications.xml | 111 + .../extensions.xml | 159 + .../annotatedRelationshipElement/idShort.xml | 166 + .../qualifiers.xml | 153 + .../supplementalSemanticIds.xml | 138 + .../assetAdministrationShell/category.xml | 123 + .../assetAdministrationShell/description.xml | 114 + .../assetAdministrationShell/displayName.xml | 114 + .../embeddedDataSpecifications.xml | 68 + .../assetAdministrationShell/extensions.xml | 116 + .../assetAdministrationShell/id.xml | 123 + .../assetAdministrationShell/idShort.xml | 123 + .../assetAdministrationShell/submodels.xml | 104 + .../assetInformation/assetType.xml | 22 + .../assetInformation/globalAssetId.xml | 22 + .../assetInformation/specificAssetIds.xml | 9 + .../basicEventElement/category.xml | 172 + .../basicEventElement/description.xml | 163 + .../basicEventElement/displayName.xml | 163 + .../embeddedDataSpecifications.xml | 117 + .../basicEventElement/extensions.xml | 165 + .../basicEventElement/idShort.xml | 172 + .../basicEventElement/messageTopic.xml | 172 + .../basicEventElement/qualifiers.xml | 159 + .../supplementalSemanticIds.xml | 144 + .../MinLengthViolation/blob/category.xml | 142 + .../MinLengthViolation/blob/contentType.xml | 142 + .../MinLengthViolation/blob/description.xml | 133 + .../MinLengthViolation/blob/displayName.xml | 133 + .../blob/embeddedDataSpecifications.xml | 87 + .../MinLengthViolation/blob/extensions.xml | 135 + .../MinLengthViolation/blob/idShort.xml | 142 + .../MinLengthViolation/blob/qualifiers.xml | 129 + .../blob/supplementalSemanticIds.xml | 114 + .../capability/category.xml | 140 + .../capability/description.xml | 131 + .../capability/displayName.xml | 131 + .../capability/embeddedDataSpecifications.xml | 85 + .../capability/extensions.xml | 133 + .../MinLengthViolation/capability/idShort.xml | 140 + .../capability/qualifiers.xml | 127 + .../capability/supplementalSemanticIds.xml | 112 + .../conceptDescription/category.xml | 113 + .../conceptDescription/description.xml | 104 + .../conceptDescription/displayName.xml | 104 + .../embeddedDataSpecifications.xml | 46 + .../conceptDescription/extensions.xml | 106 + .../conceptDescription/id.xml | 113 + .../conceptDescription/idShort.xml | 113 + .../conceptDescription/isCaseOf.xml | 103 + .../dataSpecificationIec61360/definition.xml | 36 + .../preferredName.xml | 36 + .../dataSpecificationIec61360/shortName.xml | 36 + .../sourceOfDefinition.xml | 41 + .../dataSpecificationIec61360/symbol.xml | 41 + .../dataSpecificationIec61360/unit.xml | 41 + .../dataSpecificationIec61360/value.xml | 41 + .../dataSpecificationIec61360/valueFormat.xml | 41 + .../MinLengthViolation/entity/category.xml | 161 + .../MinLengthViolation/entity/description.xml | 152 + .../MinLengthViolation/entity/displayName.xml | 152 + .../entity/embeddedDataSpecifications.xml | 106 + .../MinLengthViolation/entity/extensions.xml | 154 + .../entity/globalAssetId.xml | 161 + .../MinLengthViolation/entity/idShort.xml | 161 + .../MinLengthViolation/entity/qualifiers.xml | 148 + .../entity/specificAssetIds.xml | 148 + .../MinLengthViolation/entity/statements.xml | 157 + .../entity/supplementalSemanticIds.xml | 133 + .../environment/assetAdministrationShells.xml | 13 + .../environment/conceptDescriptions.xml | 24 + .../environment/submodels.xml | 24 + .../MinLengthViolation/eventPayload/topic.xml | 54 + .../MinLengthViolation/extension/name.xml | 63 + .../MinLengthViolation/extension/refersTo.xml | 44 + .../extension/supplementalSemanticIds.xml | 35 + .../MinLengthViolation/file/category.xml | 142 + .../MinLengthViolation/file/contentType.xml | 142 + .../MinLengthViolation/file/description.xml | 133 + .../MinLengthViolation/file/displayName.xml | 133 + .../file/embeddedDataSpecifications.xml | 87 + .../MinLengthViolation/file/extensions.xml | 135 + .../MinLengthViolation/file/idShort.xml | 142 + .../MinLengthViolation/file/qualifiers.xml | 129 + .../file/supplementalSemanticIds.xml | 114 + .../Invalid/MinLengthViolation/file/value.xml | 142 + .../Invalid/MinLengthViolation/key/value.xml | 4 + .../langStringDefinitionTypeIec61360/text.xml | 4 + .../langStringNameType/text.xml | 4 + .../text.xml | 4 + .../langStringShortNameTypeIec61360/text.xml | 4 + .../langStringTextType/text.xml | 4 + .../multiLanguageProperty/category.xml | 159 + .../multiLanguageProperty/description.xml | 150 + .../multiLanguageProperty/displayName.xml | 150 + .../embeddedDataSpecifications.xml | 104 + .../multiLanguageProperty/extensions.xml | 152 + .../multiLanguageProperty/idShort.xml | 159 + .../multiLanguageProperty/qualifiers.xml | 146 + .../supplementalSemanticIds.xml | 131 + .../multiLanguageProperty/value.xml | 150 + .../MinLengthViolation/operation/category.xml | 189 + .../operation/description.xml | 180 + .../operation/displayName.xml | 180 + .../operation/embeddedDataSpecifications.xml | 134 + .../operation/extensions.xml | 182 + .../MinLengthViolation/operation/idShort.xml | 189 + .../operation/inoutputVariables.xml | 166 + .../operation/inputVariables.xml | 181 + .../operation/outputVariables.xml | 174 + .../operation/qualifiers.xml | 176 + .../operation/supplementalSemanticIds.xml | 161 + .../MinLengthViolation/property/category.xml | 151 + .../property/description.xml | 142 + .../property/displayName.xml | 142 + .../property/embeddedDataSpecifications.xml | 96 + .../property/extensions.xml | 144 + .../MinLengthViolation/property/idShort.xml | 151 + .../property/qualifiers.xml | 138 + .../property/supplementalSemanticIds.xml | 123 + .../qualifier/supplementalSemanticIds.xml | 25 + .../MinLengthViolation/qualifier/type.xml | 53 + .../MinLengthViolation/range/category.xml | 143 + .../MinLengthViolation/range/description.xml | 134 + .../MinLengthViolation/range/displayName.xml | 134 + .../range/embeddedDataSpecifications.xml | 88 + .../MinLengthViolation/range/extensions.xml | 136 + .../MinLengthViolation/range/idShort.xml | 143 + .../MinLengthViolation/range/qualifiers.xml | 130 + .../range/supplementalSemanticIds.xml | 115 + .../MinLengthViolation/reference/keys.xml | 13 + .../referenceElement/category.xml | 149 + .../referenceElement/description.xml | 140 + .../referenceElement/displayName.xml | 140 + .../embeddedDataSpecifications.xml | 94 + .../referenceElement/extensions.xml | 142 + .../referenceElement/idShort.xml | 149 + .../referenceElement/qualifiers.xml | 136 + .../supplementalSemanticIds.xml | 121 + .../relationshipElement/category.xml | 158 + .../relationshipElement/description.xml | 149 + .../relationshipElement/displayName.xml | 149 + .../embeddedDataSpecifications.xml | 103 + .../relationshipElement/extensions.xml | 151 + .../relationshipElement/idShort.xml | 158 + .../relationshipElement/qualifiers.xml | 145 + .../supplementalSemanticIds.xml | 130 + .../resource/contentType.xml | 4 + .../MinLengthViolation/resource/path.xml | 4 + .../specificAssetId/name.xml | 51 + .../supplementalSemanticIds.xml | 23 + .../specificAssetId/value.xml | 51 + .../MinLengthViolation/submodel/category.xml | 152 + .../submodel/description.xml | 143 + .../submodel/displayName.xml | 143 + .../submodel/embeddedDataSpecifications.xml | 97 + .../submodel/extensions.xml | 145 + .../MinLengthViolation/submodel/id.xml | 152 + .../MinLengthViolation/submodel/idShort.xml | 152 + .../submodel/qualifiers.xml | 139 + .../submodel/submodelElements.xml | 144 + .../submodel/supplementalSemanticIds.xml | 124 + .../submodelElementCollection/category.xml | 163 + .../submodelElementCollection/description.xml | 154 + .../submodelElementCollection/displayName.xml | 154 + .../embeddedDataSpecifications.xml | 108 + .../submodelElementCollection/extensions.xml | 156 + .../submodelElementCollection/idShort.xml | 163 + .../submodelElementCollection/qualifiers.xml | 150 + .../supplementalSemanticIds.xml | 135 + .../submodelElementCollection/value.xml | 141 + .../submodelElementList/category.xml | 178 + .../submodelElementList/description.xml | 169 + .../submodelElementList/displayName.xml | 169 + .../embeddedDataSpecifications.xml | 123 + .../submodelElementList/extensions.xml | 171 + .../submodelElementList/idShort.xml | 178 + .../submodelElementList/qualifiers.xml | 165 + .../supplementalSemanticIds.xml | 150 + .../submodelElementList/value.xml | 153 + .../valueList/valueReferencePairs.xml | 3 + .../valueReferencePair/value.xml | 12 + .../date_time_with_UTC_and_suffix.xml | 3 + .../createdAt/date_time_with_offset.xml | 3 + .../createdAt/date_time_without_zone.xml | 3 + .../createdAt/empty.xml | 3 + .../createdAt/invalid_february_29th.xml | 3 + .../createdAt/negatively_fuzzed_02.xml | 3 + .../createdAt/negatively_fuzzed_03.xml | 3 + .../createdAt/negatively_fuzzed_04.xml | 3 + .../createdAt/negatively_fuzzed_05.xml | 3 + .../createdAt/negatively_fuzzed_06.xml | 3 + .../createdAt/negatively_fuzzed_08.xml | 3 + .../createdAt/negatively_fuzzed_09.xml | 3 + .../createdAt/negatively_fuzzed_10.xml | 3 + .../createdAt/only_date.xml | 3 + .../createdAt/only_date_with_time_zone.xml | 3 + .../createdAt/without_minutes.xml | 3 + .../createdAt/without_seconds.xml | 3 + .../revision/dot.xml | 3 + .../revision/letter.xml | 3 + .../revision/negative.xml | 3 + .../date_time_with_UTC_and_suffix.xml | 3 + .../updatedAt/date_time_with_offset.xml | 3 + .../updatedAt/date_time_without_zone.xml | 3 + .../updatedAt/empty.xml | 3 + .../updatedAt/invalid_february_29th.xml | 3 + .../updatedAt/negatively_fuzzed_02.xml | 3 + .../updatedAt/negatively_fuzzed_03.xml | 3 + .../updatedAt/negatively_fuzzed_04.xml | 3 + .../updatedAt/negatively_fuzzed_05.xml | 3 + .../updatedAt/negatively_fuzzed_06.xml | 3 + .../updatedAt/negatively_fuzzed_08.xml | 3 + .../updatedAt/negatively_fuzzed_09.xml | 3 + .../updatedAt/negatively_fuzzed_10.xml | 3 + .../updatedAt/only_date.xml | 3 + .../updatedAt/only_date_with_time_zone.xml | 3 + .../updatedAt/without_minutes.xml | 3 + .../updatedAt/without_seconds.xml | 3 + .../administrativeInformation/version/dot.xml | 3 + .../version/letter.xml | 3 + .../version/negative.xml | 3 + .../idShort/negatively_fuzzed_01.xml | 3 + .../idShort/negatively_fuzzed_02.xml | 3 + .../idShort/negatively_fuzzed_04.xml | 3 + .../idShort/negatively_fuzzed_05.xml | 3 + .../idShort/negatively_fuzzed_06.xml | 3 + .../idShort/negatively_fuzzed_01.xml | 8 + .../idShort/negatively_fuzzed_02.xml | 8 + .../idShort/negatively_fuzzed_04.xml | 8 + .../idShort/negatively_fuzzed_05.xml | 8 + .../idShort/negatively_fuzzed_06.xml | 8 + .../idShort/negatively_fuzzed_01.xml | 18 + .../idShort/negatively_fuzzed_02.xml | 18 + .../idShort/negatively_fuzzed_04.xml | 18 + .../idShort/negatively_fuzzed_05.xml | 18 + .../idShort/negatively_fuzzed_06.xml | 18 + .../date_time_with_UTC_and_suffix.xml | 18 + .../lastUpdate/date_time_with_offset.xml | 18 + .../lastUpdate/date_time_without_zone.xml | 18 + .../basicEventElement/lastUpdate/empty.xml | 18 + .../lastUpdate/invalid_february_29th.xml | 18 + .../lastUpdate/negatively_fuzzed_02.xml | 18 + .../lastUpdate/negatively_fuzzed_03.xml | 18 + .../lastUpdate/negatively_fuzzed_04.xml | 18 + .../lastUpdate/negatively_fuzzed_05.xml | 18 + .../lastUpdate/negatively_fuzzed_06.xml | 18 + .../lastUpdate/negatively_fuzzed_08.xml | 18 + .../lastUpdate/negatively_fuzzed_09.xml | 18 + .../lastUpdate/negatively_fuzzed_10.xml | 18 + .../lastUpdate/only_date.xml | 18 + .../lastUpdate/only_date_with_time_zone.xml | 18 + .../lastUpdate/without_minutes.xml | 18 + .../lastUpdate/without_seconds.xml | 18 + .../basicEventElement/maxInterval/empty.xml | 18 + .../maxInterval/free_form_text.xml | 18 + .../basicEventElement/maxInterval/integer.xml | 18 + .../maxInterval/leading_P_missing.xml | 18 + .../maxInterval/negative_years.xml | 18 + .../positive_year_negative_months.xml | 18 + .../maxInterval/separator_T_missing.xml | 18 + .../maxInterval/the_order_matters.xml | 18 + .../basicEventElement/minInterval/empty.xml | 18 + .../minInterval/free_form_text.xml | 18 + .../basicEventElement/minInterval/integer.xml | 18 + .../minInterval/leading_P_missing.xml | 18 + .../minInterval/negative_years.xml | 18 + .../positive_year_negative_months.xml | 18 + .../minInterval/separator_T_missing.xml | 18 + .../minInterval/the_order_matters.xml | 18 + .../blob/contentType/empty.xml | 3 + .../blob/contentType/negatively_fuzzed_03.xml | 3 + .../blob/contentType/negatively_fuzzed_04.xml | 3 + .../blob/contentType/negatively_fuzzed_05.xml | 3 + .../blob/contentType/negatively_fuzzed_06.xml | 3 + .../blob/contentType/negatively_fuzzed_07.xml | 3 + .../blob/contentType/negatively_fuzzed_08.xml | 3 + .../blob/contentType/negatively_fuzzed_09.xml | 3 + .../blob/contentType/negatively_fuzzed_10.xml | 3 + .../blob/contentType/number.xml | 3 + .../blob/idShort/negatively_fuzzed_01.xml | 3 + .../blob/idShort/negatively_fuzzed_02.xml | 3 + .../blob/idShort/negatively_fuzzed_04.xml | 3 + .../blob/idShort/negatively_fuzzed_05.xml | 3 + .../blob/idShort/negatively_fuzzed_06.xml | 3 + .../idShort/negatively_fuzzed_01.xml | 3 + .../idShort/negatively_fuzzed_02.xml | 3 + .../idShort/negatively_fuzzed_04.xml | 3 + .../idShort/negatively_fuzzed_05.xml | 3 + .../idShort/negatively_fuzzed_06.xml | 3 + .../idShort/negatively_fuzzed_01.xml | 4 + .../idShort/negatively_fuzzed_02.xml | 4 + .../idShort/negatively_fuzzed_04.xml | 4 + .../idShort/negatively_fuzzed_05.xml | 4 + .../idShort/negatively_fuzzed_06.xml | 4 + .../entity/idShort/negatively_fuzzed_01.xml | 3 + .../entity/idShort/negatively_fuzzed_02.xml | 3 + .../entity/idShort/negatively_fuzzed_04.xml | 3 + .../entity/idShort/negatively_fuzzed_05.xml | 3 + .../entity/idShort/negatively_fuzzed_06.xml | 3 + .../date_time_with_UTC_and_suffix.xml | 25 + .../timeStamp/date_time_with_offset.xml | 25 + .../timeStamp/date_time_without_zone.xml | 25 + .../eventPayload/timeStamp/empty.xml | 25 + .../timeStamp/invalid_february_29th.xml | 25 + .../timeStamp/negatively_fuzzed_02.xml | 25 + .../timeStamp/negatively_fuzzed_03.xml | 25 + .../timeStamp/negatively_fuzzed_04.xml | 25 + .../timeStamp/negatively_fuzzed_05.xml | 25 + .../timeStamp/negatively_fuzzed_06.xml | 25 + .../timeStamp/negatively_fuzzed_08.xml | 25 + .../timeStamp/negatively_fuzzed_09.xml | 25 + .../timeStamp/negatively_fuzzed_10.xml | 25 + .../eventPayload/timeStamp/only_date.xml | 25 + .../timeStamp/only_date_with_time_zone.xml | 25 + .../timeStamp/without_minutes.xml | 25 + .../timeStamp/without_seconds.xml | 25 + .../file/contentType/empty.xml | 3 + .../file/contentType/negatively_fuzzed_03.xml | 3 + .../file/contentType/negatively_fuzzed_04.xml | 3 + .../file/contentType/negatively_fuzzed_05.xml | 3 + .../file/contentType/negatively_fuzzed_06.xml | 3 + .../file/contentType/negatively_fuzzed_07.xml | 3 + .../file/contentType/negatively_fuzzed_08.xml | 3 + .../file/contentType/negatively_fuzzed_09.xml | 3 + .../file/contentType/negatively_fuzzed_10.xml | 3 + .../file/contentType/number.xml | 3 + .../file/idShort/negatively_fuzzed_01.xml | 3 + .../file/idShort/negatively_fuzzed_02.xml | 3 + .../file/idShort/negatively_fuzzed_04.xml | 3 + .../file/idShort/negatively_fuzzed_05.xml | 3 + .../file/idShort/negatively_fuzzed_06.xml | 3 + .../file/value/negatively_fuzzed_01.xml | 3 + .../file/value/negatively_fuzzed_02.xml | 3 + .../file/value/negatively_fuzzed_03.xml | 3 + .../file/value/negatively_fuzzed_05.xml | 3 + .../file/value/negatively_fuzzed_06.xml | 3 + .../file/value/negatively_fuzzed_07.xml | 3 + .../file/value/negatively_fuzzed_08.xml | 3 + .../file/value/negatively_fuzzed_09.xml | 3 + .../file/value/negatively_fuzzed_10.xml | 3 + .../file/value/negatively_made_up_01.xml | 3 + .../file/value/negatively_made_up_02.xml | 3 + .../language/empty.xml | 4 + .../language/free_form_text.xml | 4 + .../language/negatively_fuzzed_02.xml | 4 + .../language/negatively_fuzzed_03.xml | 4 + .../language/negatively_fuzzed_04.xml | 4 + .../language/negatively_fuzzed_05.xml | 4 + .../language/negatively_fuzzed_06.xml | 4 + .../language/negatively_fuzzed_07.xml | 4 + .../language/negatively_fuzzed_08.xml | 4 + .../language/negatively_fuzzed_09.xml | 4 + .../langStringNameType/language/empty.xml | 4 + .../language/free_form_text.xml | 4 + .../language/negatively_fuzzed_02.xml | 4 + .../language/negatively_fuzzed_03.xml | 4 + .../language/negatively_fuzzed_04.xml | 4 + .../language/negatively_fuzzed_05.xml | 4 + .../language/negatively_fuzzed_06.xml | 4 + .../language/negatively_fuzzed_07.xml | 4 + .../language/negatively_fuzzed_08.xml | 4 + .../language/negatively_fuzzed_09.xml | 4 + .../language/empty.xml | 4 + .../language/free_form_text.xml | 4 + .../language/negatively_fuzzed_02.xml | 4 + .../language/negatively_fuzzed_03.xml | 4 + .../language/negatively_fuzzed_04.xml | 4 + .../language/negatively_fuzzed_05.xml | 4 + .../language/negatively_fuzzed_06.xml | 4 + .../language/negatively_fuzzed_07.xml | 4 + .../language/negatively_fuzzed_08.xml | 4 + .../language/negatively_fuzzed_09.xml | 4 + .../language/empty.xml | 4 + .../language/free_form_text.xml | 4 + .../language/negatively_fuzzed_02.xml | 4 + .../language/negatively_fuzzed_03.xml | 4 + .../language/negatively_fuzzed_04.xml | 4 + .../language/negatively_fuzzed_05.xml | 4 + .../language/negatively_fuzzed_06.xml | 4 + .../language/negatively_fuzzed_07.xml | 4 + .../language/negatively_fuzzed_08.xml | 4 + .../language/negatively_fuzzed_09.xml | 4 + .../langStringTextType/language/empty.xml | 4 + .../language/free_form_text.xml | 4 + .../language/negatively_fuzzed_02.xml | 4 + .../language/negatively_fuzzed_03.xml | 4 + .../language/negatively_fuzzed_04.xml | 4 + .../language/negatively_fuzzed_05.xml | 4 + .../language/negatively_fuzzed_06.xml | 4 + .../language/negatively_fuzzed_07.xml | 4 + .../language/negatively_fuzzed_08.xml | 4 + .../language/negatively_fuzzed_09.xml | 4 + .../idShort/negatively_fuzzed_01.xml | 3 + .../idShort/negatively_fuzzed_02.xml | 3 + .../idShort/negatively_fuzzed_04.xml | 3 + .../idShort/negatively_fuzzed_05.xml | 3 + .../idShort/negatively_fuzzed_06.xml | 3 + .../idShort/negatively_fuzzed_01.xml | 3 + .../idShort/negatively_fuzzed_02.xml | 3 + .../idShort/negatively_fuzzed_04.xml | 3 + .../idShort/negatively_fuzzed_05.xml | 3 + .../idShort/negatively_fuzzed_06.xml | 3 + .../property/idShort/negatively_fuzzed_01.xml | 4 + .../property/idShort/negatively_fuzzed_02.xml | 4 + .../property/idShort/negatively_fuzzed_04.xml | 4 + .../property/idShort/negatively_fuzzed_05.xml | 4 + .../property/idShort/negatively_fuzzed_06.xml | 4 + .../range/idShort/negatively_fuzzed_01.xml | 4 + .../range/idShort/negatively_fuzzed_02.xml | 4 + .../range/idShort/negatively_fuzzed_04.xml | 4 + .../range/idShort/negatively_fuzzed_05.xml | 4 + .../range/idShort/negatively_fuzzed_06.xml | 4 + .../idShort/negatively_fuzzed_01.xml | 3 + .../idShort/negatively_fuzzed_02.xml | 3 + .../idShort/negatively_fuzzed_04.xml | 3 + .../idShort/negatively_fuzzed_05.xml | 3 + .../idShort/negatively_fuzzed_06.xml | 3 + .../idShort/negatively_fuzzed_01.xml | 3 + .../idShort/negatively_fuzzed_02.xml | 3 + .../idShort/negatively_fuzzed_04.xml | 3 + .../idShort/negatively_fuzzed_05.xml | 3 + .../idShort/negatively_fuzzed_06.xml | 3 + .../resource/contentType/empty.xml | 4 + .../contentType/negatively_fuzzed_03.xml | 4 + .../contentType/negatively_fuzzed_04.xml | 4 + .../contentType/negatively_fuzzed_05.xml | 4 + .../contentType/negatively_fuzzed_06.xml | 4 + .../contentType/negatively_fuzzed_07.xml | 4 + .../contentType/negatively_fuzzed_08.xml | 4 + .../contentType/negatively_fuzzed_09.xml | 4 + .../contentType/negatively_fuzzed_10.xml | 4 + .../resource/contentType/number.xml | 4 + .../resource/path/negatively_fuzzed_01.xml | 3 + .../resource/path/negatively_fuzzed_02.xml | 3 + .../resource/path/negatively_fuzzed_03.xml | 3 + .../resource/path/negatively_fuzzed_05.xml | 3 + .../resource/path/negatively_fuzzed_06.xml | 3 + .../resource/path/negatively_fuzzed_07.xml | 3 + .../resource/path/negatively_fuzzed_08.xml | 3 + .../resource/path/negatively_fuzzed_09.xml | 3 + .../resource/path/negatively_fuzzed_10.xml | 3 + .../resource/path/negatively_made_up_01.xml | 3 + .../resource/path/negatively_made_up_02.xml | 3 + .../submodel/idShort/negatively_fuzzed_01.xml | 4 + .../submodel/idShort/negatively_fuzzed_02.xml | 4 + .../submodel/idShort/negatively_fuzzed_04.xml | 4 + .../submodel/idShort/negatively_fuzzed_05.xml | 4 + .../submodel/idShort/negatively_fuzzed_06.xml | 4 + .../idShort/negatively_fuzzed_01.xml | 3 + .../idShort/negatively_fuzzed_02.xml | 3 + .../idShort/negatively_fuzzed_04.xml | 3 + .../idShort/negatively_fuzzed_05.xml | 3 + .../idShort/negatively_fuzzed_06.xml | 3 + .../idShort/negatively_fuzzed_01.xml | 4 + .../idShort/negatively_fuzzed_02.xml | 4 + .../idShort/negatively_fuzzed_04.xml | 4 + .../idShort/negatively_fuzzed_05.xml | 4 + .../idShort/negatively_fuzzed_06.xml | 4 + .../administrativeInformation/wrong.xml | 1 + .../annotatedRelationshipElement/wrong.xml | 1 + .../assetAdministrationShell/wrong.xml | 7 + .../assetInformation/wrong.xml | 4 + .../basicEventElement/wrong.xml | 17 + .../InvalidClassName/blob/wrong.xml | 1 + .../InvalidClassName/capability/wrong.xml | 1 + .../conceptDescription/wrong.xml | 3 + .../dataSpecificationIec61360/wrong.xml | 8 + .../embeddedDataSpecification/wrong.xml | 21 + .../InvalidClassName/entity/wrong.xml | 1 + .../InvalidClassName/environment/wrong.xml | 1 + .../InvalidClassName/eventPayload/wrong.xml | 25 + .../InvalidClassName/extension/wrong.xml | 3 + .../InvalidClassName/file/wrong.xml | 1 + .../InvalidClassName/key/wrong.xml | 4 + .../wrong.xml | 4 + .../langStringNameType/wrong.xml | 4 + .../wrong.xml | 4 + .../langStringShortNameTypeIec61360/wrong.xml | 4 + .../langStringTextType/wrong.xml | 4 + .../InvalidClassName/levelType/wrong.xml | 6 + .../multiLanguageProperty/wrong.xml | 1 + .../InvalidClassName/operation/wrong.xml | 1 + .../operationVariable/wrong.xml | 8 + .../InvalidClassName/property/wrong.xml | 3 + .../InvalidClassName/qualifier/wrong.xml | 4 + .../InvalidClassName/range/wrong.xml | 3 + .../InvalidClassName/reference/wrong.xml | 9 + .../referenceElement/wrong.xml | 1 + .../relationshipElement/wrong.xml | 1 + .../InvalidClassName/resource/wrong.xml | 3 + .../specificAssetId/wrong.xml | 4 + .../InvalidClassName/submodel/wrong.xml | 3 + .../submodelElementCollection/wrong.xml | 1 + .../submodelElementList/wrong.xml | 3 + .../InvalidClassName/valueList/wrong.xml | 7 + .../valueReferencePair/wrong.xml | 3 + .../assetInformation.xml | 3 + .../assetAdministrationShell/id.xml | 6 + .../assetInformation/assetKind.xml | 3 + .../basicEventElement/direction.xml | 16 + .../basicEventElement/observed.xml | 4 + .../basicEventElement/state.xml | 16 + .../conceptDescription/id.xml | 1 + .../preferredName.xml | 1 + .../dataSpecification.xml | 12 + .../dataSpecificationContent.xml | 11 + .../eventPayload/observableReference.xml | 16 + .../RequiredViolation/eventPayload/source.xml | 12 + .../eventPayload/timeStamp.xml | 24 + .../RequiredViolation/extension/name.xml | 1 + .../RequiredViolation/key/type.xml | 3 + .../RequiredViolation/key/value.xml | 3 + .../language.xml | 3 + .../langStringDefinitionTypeIec61360/text.xml | 3 + .../langStringNameType/language.xml | 3 + .../langStringNameType/text.xml | 3 + .../language.xml | 3 + .../text.xml | 3 + .../language.xml | 3 + .../langStringShortNameTypeIec61360/text.xml | 3 + .../langStringTextType/language.xml | 3 + .../langStringTextType/text.xml | 3 + .../RequiredViolation/levelType/max.xml | 5 + .../RequiredViolation/levelType/min.xml | 5 + .../RequiredViolation/levelType/nom.xml | 5 + .../RequiredViolation/levelType/typ.xml | 5 + .../operationVariable/value.xml | 1 + .../RequiredViolation/property/valueType.xml | 1 + .../RequiredViolation/qualifier/type.xml | 3 + .../RequiredViolation/qualifier/valueType.xml | 3 + .../RequiredViolation/range/valueType.xml | 1 + .../RequiredViolation/reference/keys.xml | 3 + .../RequiredViolation/reference/type.xml | 8 + .../RequiredViolation/resource/path.xml | 1 + .../specificAssetId/name.xml | 3 + .../specificAssetId/value.xml | 3 + .../RequiredViolation/submodel/id.xml | 1 + .../typeValueListElement.xml | 1 + .../valueList/valueReferencePairs.xml | 1 + .../valueReferencePair/value.xml | 1 + .../administrativeInformation/createdAt.xml | 80 + .../administrativeInformation/creator.xml | 64 + .../embeddedDataSpecifications.xml | 17 + .../administrativeInformation/revision.xml | 80 + .../administrativeInformation/templateId.xml | 80 + .../administrativeInformation/updatedAt.xml | 80 + .../administrativeInformation/version.xml | 80 + .../annotations.xml | 159 + .../annotatedRelationshipElement/category.xml | 174 + .../description.xml | 157 + .../displayName.xml | 157 + .../embeddedDataSpecifications.xml | 111 + .../extensions.xml | 159 + .../annotatedRelationshipElement/first.xml | 158 + .../annotatedRelationshipElement/idShort.xml | 174 + .../qualifiers.xml | 153 + .../annotatedRelationshipElement/second.xml | 158 + .../semanticId.xml | 158 + .../supplementalSemanticIds.xml | 138 + .../administration.xml | 123 + .../assetInformation.xml | 120 + .../assetAdministrationShell/category.xml | 131 + .../assetAdministrationShell/derivedFrom.xml | 115 + .../assetAdministrationShell/description.xml | 114 + .../assetAdministrationShell/displayName.xml | 114 + .../embeddedDataSpecifications.xml | 68 + .../assetAdministrationShell/extensions.xml | 116 + .../assetAdministrationShell/id.xml | 131 + .../assetAdministrationShell/idShort.xml | 131 + .../assetAdministrationShell/submodels.xml | 104 + .../assetInformation/assetKind.xml | 30 + .../assetInformation/assetType.xml | 30 + .../assetInformation/defaultThumbnail.xml | 20 + .../assetInformation/globalAssetId.xml | 30 + .../assetInformation/specificAssetIds.xml | 9 + .../basicEventElement/category.xml | 180 + .../basicEventElement/description.xml | 163 + .../basicEventElement/direction.xml | 180 + .../basicEventElement/displayName.xml | 163 + .../embeddedDataSpecifications.xml | 117 + .../basicEventElement/extensions.xml | 165 + .../basicEventElement/idShort.xml | 180 + .../basicEventElement/lastUpdate.xml | 180 + .../basicEventElement/maxInterval.xml | 180 + .../basicEventElement/messageBroker.xml | 160 + .../basicEventElement/messageTopic.xml | 180 + .../basicEventElement/minInterval.xml | 180 + .../basicEventElement/observed.xml | 160 + .../basicEventElement/qualifiers.xml | 159 + .../basicEventElement/semanticId.xml | 164 + .../TypeViolation/basicEventElement/state.xml | 180 + .../supplementalSemanticIds.xml | 144 + .../TypeViolation/blob/category.xml | 150 + .../TypeViolation/blob/contentType.xml | 150 + .../TypeViolation/blob/description.xml | 133 + .../TypeViolation/blob/displayName.xml | 133 + .../blob/embeddedDataSpecifications.xml | 87 + .../TypeViolation/blob/extensions.xml | 135 + .../TypeViolation/blob/idShort.xml | 150 + .../TypeViolation/blob/qualifiers.xml | 129 + .../TypeViolation/blob/semanticId.xml | 134 + .../blob/supplementalSemanticIds.xml | 114 + .../TypeViolation/blob/value.xml | 150 + .../TypeViolation/capability/category.xml | 148 + .../TypeViolation/capability/description.xml | 131 + .../TypeViolation/capability/displayName.xml | 131 + .../capability/embeddedDataSpecifications.xml | 85 + .../TypeViolation/capability/extensions.xml | 133 + .../TypeViolation/capability/idShort.xml | 148 + .../TypeViolation/capability/qualifiers.xml | 127 + .../TypeViolation/capability/semanticId.xml | 132 + .../capability/supplementalSemanticIds.xml | 112 + .../conceptDescription/administration.xml | 113 + .../conceptDescription/category.xml | 121 + .../conceptDescription/description.xml | 104 + .../conceptDescription/displayName.xml | 104 + .../embeddedDataSpecifications.xml | 46 + .../conceptDescription/extensions.xml | 106 + .../TypeViolation/conceptDescription/id.xml | 121 + .../conceptDescription/idShort.xml | 121 + .../conceptDescription/isCaseOf.xml | 103 + .../dataSpecificationIec61360/dataType.xml | 49 + .../dataSpecificationIec61360/definition.xml | 36 + .../dataSpecificationIec61360/levelType.xml | 36 + .../preferredName.xml | 36 + .../dataSpecificationIec61360/shortName.xml | 36 + .../sourceOfDefinition.xml | 49 + .../dataSpecificationIec61360/symbol.xml | 49 + .../dataSpecificationIec61360/unit.xml | 49 + .../dataSpecificationIec61360/unitId.xml | 33 + .../dataSpecificationIec61360/value.xml | 49 + .../dataSpecificationIec61360/valueFormat.xml | 49 + .../dataSpecification.xml | 17 + .../dataSpecificationContent.xml | 12 + .../TypeViolation/entity/category.xml | 169 + .../TypeViolation/entity/description.xml | 152 + .../TypeViolation/entity/displayName.xml | 152 + .../entity/embeddedDataSpecifications.xml | 106 + .../TypeViolation/entity/entityType.xml | 169 + .../TypeViolation/entity/extensions.xml | 154 + .../TypeViolation/entity/globalAssetId.xml | 169 + .../TypeViolation/entity/idShort.xml | 169 + .../TypeViolation/entity/qualifiers.xml | 148 + .../TypeViolation/entity/semanticId.xml | 153 + .../TypeViolation/entity/specificAssetIds.xml | 148 + .../TypeViolation/entity/statements.xml | 157 + .../entity/supplementalSemanticIds.xml | 133 + .../environment/assetAdministrationShells.xml | 13 + .../environment/conceptDescriptions.xml | 24 + .../TypeViolation/environment/submodels.xml | 24 + .../eventPayload/observableReference.xml | 46 + .../eventPayload/observableSemanticId.xml | 46 + .../TypeViolation/eventPayload/payload.xml | 62 + .../TypeViolation/eventPayload/source.xml | 42 + .../eventPayload/sourceSemanticId.xml | 46 + .../TypeViolation/eventPayload/subjectId.xml | 46 + .../TypeViolation/eventPayload/timeStamp.xml | 62 + .../TypeViolation/eventPayload/topic.xml | 62 + .../TypeViolation/extension/name.xml | 71 + .../TypeViolation/extension/refersTo.xml | 44 + .../TypeViolation/extension/semanticId.xml | 55 + .../extension/supplementalSemanticIds.xml | 35 + .../TypeViolation/extension/value.xml | 71 + .../TypeViolation/extension/valueType.xml | 71 + .../TypeViolation/file/category.xml | 150 + .../TypeViolation/file/contentType.xml | 150 + .../TypeViolation/file/description.xml | 133 + .../TypeViolation/file/displayName.xml | 133 + .../file/embeddedDataSpecifications.xml | 87 + .../TypeViolation/file/extensions.xml | 135 + .../TypeViolation/file/idShort.xml | 150 + .../TypeViolation/file/qualifiers.xml | 129 + .../TypeViolation/file/semanticId.xml | 134 + .../file/supplementalSemanticIds.xml | 114 + .../TypeViolation/file/value.xml | 150 + .../Unserializable/TypeViolation/key/type.xml | 12 + .../TypeViolation/key/value.xml | 12 + .../language.xml | 12 + .../langStringDefinitionTypeIec61360/text.xml | 12 + .../langStringNameType/language.xml | 12 + .../TypeViolation/langStringNameType/text.xml | 12 + .../language.xml | 12 + .../text.xml | 12 + .../language.xml | 12 + .../langStringShortNameTypeIec61360/text.xml | 12 + .../langStringTextType/language.xml | 12 + .../TypeViolation/langStringTextType/text.xml | 12 + .../TypeViolation/levelType/max.xml | 14 + .../TypeViolation/levelType/min.xml | 14 + .../TypeViolation/levelType/nom.xml | 14 + .../TypeViolation/levelType/typ.xml | 14 + .../multiLanguageProperty/category.xml | 167 + .../multiLanguageProperty/description.xml | 150 + .../multiLanguageProperty/displayName.xml | 150 + .../embeddedDataSpecifications.xml | 104 + .../multiLanguageProperty/extensions.xml | 152 + .../multiLanguageProperty/idShort.xml | 167 + .../multiLanguageProperty/qualifiers.xml | 146 + .../multiLanguageProperty/semanticId.xml | 151 + .../supplementalSemanticIds.xml | 131 + .../multiLanguageProperty/value.xml | 150 + .../multiLanguageProperty/valueId.xml | 151 + .../TypeViolation/operation/category.xml | 197 + .../TypeViolation/operation/description.xml | 180 + .../TypeViolation/operation/displayName.xml | 180 + .../operation/embeddedDataSpecifications.xml | 134 + .../TypeViolation/operation/extensions.xml | 182 + .../TypeViolation/operation/idShort.xml | 197 + .../operation/inoutputVariables.xml | 166 + .../operation/inputVariables.xml | 181 + .../operation/outputVariables.xml | 174 + .../TypeViolation/operation/qualifiers.xml | 176 + .../TypeViolation/operation/semanticId.xml | 181 + .../operation/supplementalSemanticIds.xml | 161 + .../TypeViolation/operationVariable/value.xml | 3 + .../TypeViolation/property/category.xml | 159 + .../TypeViolation/property/description.xml | 142 + .../TypeViolation/property/displayName.xml | 142 + .../property/embeddedDataSpecifications.xml | 96 + .../TypeViolation/property/extensions.xml | 144 + .../TypeViolation/property/idShort.xml | 159 + .../TypeViolation/property/qualifiers.xml | 138 + .../TypeViolation/property/semanticId.xml | 143 + .../property/supplementalSemanticIds.xml | 123 + .../TypeViolation/property/value.xml | 159 + .../TypeViolation/property/valueId.xml | 143 + .../TypeViolation/property/valueType.xml | 159 + .../TypeViolation/qualifier/kind.xml | 61 + .../TypeViolation/qualifier/semanticId.xml | 45 + .../qualifier/supplementalSemanticIds.xml | 25 + .../TypeViolation/qualifier/type.xml | 61 + .../TypeViolation/qualifier/value.xml | 61 + .../TypeViolation/qualifier/valueId.xml | 45 + .../TypeViolation/qualifier/valueType.xml | 61 + .../TypeViolation/range/category.xml | 151 + .../TypeViolation/range/description.xml | 134 + .../TypeViolation/range/displayName.xml | 134 + .../range/embeddedDataSpecifications.xml | 88 + .../TypeViolation/range/extensions.xml | 136 + .../TypeViolation/range/idShort.xml | 151 + .../TypeViolation/range/max.xml | 151 + .../TypeViolation/range/min.xml | 151 + .../TypeViolation/range/qualifiers.xml | 130 + .../TypeViolation/range/semanticId.xml | 135 + .../range/supplementalSemanticIds.xml | 115 + .../TypeViolation/range/valueType.xml | 151 + .../TypeViolation/reference/keys.xml | 13 + .../reference/referredSemanticId.xml | 10 + .../TypeViolation/reference/type.xml | 26 + .../referenceElement/category.xml | 157 + .../referenceElement/description.xml | 140 + .../referenceElement/displayName.xml | 140 + .../embeddedDataSpecifications.xml | 94 + .../referenceElement/extensions.xml | 142 + .../referenceElement/idShort.xml | 157 + .../referenceElement/qualifiers.xml | 136 + .../referenceElement/semanticId.xml | 141 + .../supplementalSemanticIds.xml | 121 + .../TypeViolation/referenceElement/value.xml | 141 + .../relationshipElement/category.xml | 166 + .../relationshipElement/description.xml | 149 + .../relationshipElement/displayName.xml | 149 + .../embeddedDataSpecifications.xml | 103 + .../relationshipElement/extensions.xml | 151 + .../relationshipElement/first.xml | 150 + .../relationshipElement/idShort.xml | 166 + .../relationshipElement/qualifiers.xml | 145 + .../relationshipElement/second.xml | 150 + .../relationshipElement/semanticId.xml | 150 + .../supplementalSemanticIds.xml | 130 + .../TypeViolation/resource/contentType.xml | 12 + .../TypeViolation/resource/path.xml | 12 + .../specificAssetId/externalSubjectId.xml | 43 + .../TypeViolation/specificAssetId/name.xml | 59 + .../specificAssetId/semanticId.xml | 43 + .../supplementalSemanticIds.xml | 23 + .../TypeViolation/specificAssetId/value.xml | 59 + .../TypeViolation/submodel/administration.xml | 152 + .../TypeViolation/submodel/category.xml | 160 + .../TypeViolation/submodel/description.xml | 143 + .../TypeViolation/submodel/displayName.xml | 143 + .../submodel/embeddedDataSpecifications.xml | 97 + .../TypeViolation/submodel/extensions.xml | 145 + .../TypeViolation/submodel/id.xml | 160 + .../TypeViolation/submodel/idShort.xml | 160 + .../TypeViolation/submodel/kind.xml | 160 + .../TypeViolation/submodel/qualifiers.xml | 139 + .../TypeViolation/submodel/semanticId.xml | 144 + .../submodel/submodelElements.xml | 144 + .../submodel/supplementalSemanticIds.xml | 124 + .../submodelElementCollection/category.xml | 171 + .../submodelElementCollection/description.xml | 154 + .../submodelElementCollection/displayName.xml | 154 + .../embeddedDataSpecifications.xml | 108 + .../submodelElementCollection/extensions.xml | 156 + .../submodelElementCollection/idShort.xml | 171 + .../submodelElementCollection/qualifiers.xml | 150 + .../submodelElementCollection/semanticId.xml | 155 + .../supplementalSemanticIds.xml | 135 + .../submodelElementCollection/value.xml | 141 + .../submodelElementList/category.xml | 186 + .../submodelElementList/description.xml | 169 + .../submodelElementList/displayName.xml | 169 + .../embeddedDataSpecifications.xml | 123 + .../submodelElementList/extensions.xml | 171 + .../submodelElementList/idShort.xml | 186 + .../submodelElementList/orderRelevant.xml | 186 + .../submodelElementList/qualifiers.xml | 165 + .../submodelElementList/semanticId.xml | 170 + .../semanticIdListElement.xml | 170 + .../supplementalSemanticIds.xml | 150 + .../typeValueListElement.xml | 186 + .../submodelElementList/value.xml | 153 + .../valueTypeListElement.xml | 186 + .../valueList/valueReferencePairs.xml | 3 + .../valueReferencePair/value.xml | 20 + .../valueReferencePair/valueId.xml | 4 + .../administrativeInformation/instance.xml | 3 + .../annotatedRelationshipElement/instance.xml | 3 + .../assetAdministrationShell/instance.xml | 8 + .../assetInformation/instance.xml | 5 + .../basicEventElement/instance.xml | 18 + .../blob/instance.xml | 3 + .../capability/instance.xml | 3 + .../conceptDescription/instance.xml | 4 + .../dataSpecificationIec61360/instance.xml | 9 + .../embeddedDataSpecification/instance.xml | 22 + .../entity/instance.xml | 3 + .../environment/instance.xml | 3 + .../eventPayload/instance.xml | 26 + .../extension/instance.xml | 4 + .../file/instance.xml | 3 + .../key/instance.xml | 5 + .../instance.xml | 5 + .../langStringNameType/instance.xml | 5 + .../instance.xml | 5 + .../instance.xml | 5 + .../langStringTextType/instance.xml | 5 + .../levelType/instance.xml | 7 + .../multiLanguageProperty/instance.xml | 3 + .../operation/instance.xml | 3 + .../operationVariable/instance.xml | 9 + .../property/instance.xml | 4 + .../qualifier/instance.xml | 5 + .../range/instance.xml | 4 + .../reference/instance.xml | 10 + .../referenceElement/instance.xml | 3 + .../relationshipElement/instance.xml | 3 + .../resource/instance.xml | 4 + .../specificAssetId/instance.xml | 5 + .../submodel/instance.xml | 4 + .../submodelElementCollection/instance.xml | 3 + .../submodelElementList/instance.xml | 4 + .../valueList/instance.xml | 8 + .../valueReferencePair/instance.xml | 4 + .../maximal.xml.trace | 16 + .../maximal.xml.trace | 37 + .../maximal.xml.trace | 28 + .../assetInformation/maximal.xml.trace | 5 + .../basicEventElement/maximal.xml.trace | 37 + .../blob/maximal.xml.trace | 31 + .../capability/maximal.xml.trace | 31 + .../conceptDescription/maximal.xml.trace | 25 + .../maximal.xml.trace | 7 + .../maximal.xml.trace | 6 + .../entity/maximal.xml.trace | 35 + .../environment/maximal.xml.trace | 7 + .../eventPayload/maximal.xml.trace | 12 + .../extension/maximal.xml.trace | 13 + .../file/maximal.xml.trace | 31 + .../key/maximal.xml.trace | 1 + .../maximal.xml.trace | 1 + .../langStringNameType/maximal.xml.trace | 1 + .../maximal.xml.trace | 1 + .../maximal.xml.trace | 1 + .../langStringTextType/maximal.xml.trace | 1 + .../levelType/maximal.xml.trace | 1 + .../multiLanguageProperty/maximal.xml.trace | 35 + .../operation/maximal.xml.trace | 43 + .../operationVariable/maximal.xml.trace | 2 + .../property/maximal.xml.trace | 33 + .../qualifier/maximal.xml.trace | 11 + .../range/maximal.xml.trace | 31 + .../reference/maximal.xml.trace | 4 + .../referenceElement/maximal.xml.trace | 33 + .../relationshipElement/maximal.xml.trace | 35 + .../resource/maximal.xml.trace | 1 + .../specificAssetId/maximal.xml.trace | 11 + .../submodel/maximal.xml.trace | 34 + .../maximal.xml.trace | 36 + .../submodelElementList/maximal.xml.trace | 39 + .../valueList/maximal.xml.trace | 2 + .../valueReferencePair/maximal.xml.trace | 3 + .../maximal.xml.trace | 4 + .../maximal.xml.trace | 20 + .../maximal.xml.trace | 14 + .../assetInformation/maximal.xml.trace | 5 + .../basicEventElement/maximal.xml.trace | 18 + .../descend_once/blob/maximal.xml.trace | 16 + .../descend_once/capability/maximal.xml.trace | 16 + .../conceptDescription/maximal.xml.trace | 11 + .../maximal.xml.trace | 6 + .../maximal.xml.trace | 3 + .../descend_once/entity/maximal.xml.trace | 20 + .../environment/maximal.xml.trace | 5 + .../eventPayload/maximal.xml.trace | 6 + .../descend_once/extension/maximal.xml.trace | 7 + .../descend_once/file/maximal.xml.trace | 16 + .../descend_once/key/maximal.xml.trace | 1 + .../maximal.xml.trace | 1 + .../langStringNameType/maximal.xml.trace | 1 + .../maximal.xml.trace | 1 + .../maximal.xml.trace | 1 + .../langStringTextType/maximal.xml.trace | 1 + .../descend_once/levelType/maximal.xml.trace | 1 + .../multiLanguageProperty/maximal.xml.trace | 19 + .../descend_once/operation/maximal.xml.trace | 22 + .../operationVariable/maximal.xml.trace | 2 + .../descend_once/property/maximal.xml.trace | 17 + .../descend_once/qualifier/maximal.xml.trace | 6 + .../descend_once/range/maximal.xml.trace | 16 + .../descend_once/reference/maximal.xml.trace | 3 + .../referenceElement/maximal.xml.trace | 17 + .../relationshipElement/maximal.xml.trace | 18 + .../descend_once/resource/maximal.xml.trace | 1 + .../specificAssetId/maximal.xml.trace | 6 + .../descend_once/submodel/maximal.xml.trace | 19 + .../maximal.xml.trace | 18 + .../submodelElementList/maximal.xml.trace | 19 + .../descend_once/valueList/maximal.xml.trace | 2 + .../valueReferencePair/maximal.xml.trace | 2 + dev/test_data/source.json | 4 + .../value_type_or_default.trace | 2 + .../value_type_or_default.trace | 2 + .../on_maximal.xml/kind_or_default.trace | 2 + .../on_minimal.xml/kind_or_default.trace | 2 + .../on_maximal.xml/kind_or_default.trace | 2 + .../on_minimal.xml/kind_or_default.trace | 2 + .../order_relevant_or_default.trace | 2 + .../order_relevant_or_default.trace | 2 + ...mbedded_data_specifications_or_empty.trace | 5 + ...mbedded_data_specifications_or_empty.trace | 2 + .../over_annotations_or_empty.trace | 5 + .../over_description_or_empty.trace | 5 + .../over_display_name_or_empty.trace | 5 + ...mbedded_data_specifications_or_empty.trace | 5 + .../over_extensions_or_empty.trace | 5 + .../over_qualifiers_or_empty.trace | 6 + ...r_supplemental_semantic_ids_or_empty.trace | 6 + .../over_annotations_or_empty.trace | 2 + .../over_description_or_empty.trace | 2 + .../over_display_name_or_empty.trace | 2 + ...mbedded_data_specifications_or_empty.trace | 2 + .../over_extensions_or_empty.trace | 2 + .../over_qualifiers_or_empty.trace | 2 + ...r_supplemental_semantic_ids_or_empty.trace | 2 + .../over_description_or_empty.trace | 5 + .../over_display_name_or_empty.trace | 5 + ...mbedded_data_specifications_or_empty.trace | 5 + .../over_extensions_or_empty.trace | 5 + .../over_submodels_or_empty.trace | 5 + .../over_description_or_empty.trace | 2 + .../over_display_name_or_empty.trace | 2 + ...mbedded_data_specifications_or_empty.trace | 2 + .../over_extensions_or_empty.trace | 2 + .../over_submodels_or_empty.trace | 2 + .../over_specific_asset_ids_or_empty.trace | 6 + .../over_specific_asset_ids_or_empty.trace | 2 + .../over_description_or_empty.trace | 5 + .../over_display_name_or_empty.trace | 5 + ...mbedded_data_specifications_or_empty.trace | 5 + .../over_extensions_or_empty.trace | 5 + .../over_qualifiers_or_empty.trace | 6 + ...r_supplemental_semantic_ids_or_empty.trace | 6 + .../over_description_or_empty.trace | 2 + .../over_display_name_or_empty.trace | 2 + ...mbedded_data_specifications_or_empty.trace | 2 + .../over_extensions_or_empty.trace | 2 + .../over_qualifiers_or_empty.trace | 2 + ...r_supplemental_semantic_ids_or_empty.trace | 2 + .../over_description_or_empty.trace | 5 + .../over_display_name_or_empty.trace | 5 + ...mbedded_data_specifications_or_empty.trace | 5 + .../over_extensions_or_empty.trace | 5 + .../over_qualifiers_or_empty.trace | 6 + ...r_supplemental_semantic_ids_or_empty.trace | 6 + .../over_description_or_empty.trace | 2 + .../over_display_name_or_empty.trace | 2 + ...mbedded_data_specifications_or_empty.trace | 2 + .../over_extensions_or_empty.trace | 2 + .../over_qualifiers_or_empty.trace | 2 + ...r_supplemental_semantic_ids_or_empty.trace | 2 + .../over_description_or_empty.trace | 5 + .../over_display_name_or_empty.trace | 5 + ...mbedded_data_specifications_or_empty.trace | 5 + .../over_extensions_or_empty.trace | 5 + .../over_qualifiers_or_empty.trace | 6 + ...r_supplemental_semantic_ids_or_empty.trace | 6 + .../over_description_or_empty.trace | 2 + .../over_display_name_or_empty.trace | 2 + ...mbedded_data_specifications_or_empty.trace | 2 + .../over_extensions_or_empty.trace | 2 + .../over_qualifiers_or_empty.trace | 2 + ...r_supplemental_semantic_ids_or_empty.trace | 2 + .../over_description_or_empty.trace | 5 + .../over_display_name_or_empty.trace | 5 + ...mbedded_data_specifications_or_empty.trace | 5 + .../over_extensions_or_empty.trace | 5 + .../over_is_case_of_or_empty.trace | 4 + .../over_description_or_empty.trace | 2 + .../over_display_name_or_empty.trace | 2 + ...mbedded_data_specifications_or_empty.trace | 2 + .../over_extensions_or_empty.trace | 2 + .../over_is_case_of_or_empty.trace | 2 + .../over_definition_or_empty.trace | 4 + .../over_short_name_or_empty.trace | 4 + .../over_definition_or_empty.trace | 2 + .../over_short_name_or_empty.trace | 2 + .../over_description_or_empty.trace | 5 + .../over_display_name_or_empty.trace | 5 + ...mbedded_data_specifications_or_empty.trace | 5 + .../over_extensions_or_empty.trace | 5 + .../over_qualifiers_or_empty.trace | 6 + .../over_specific_asset_ids_or_empty.trace | 6 + .../over_statements_or_empty.trace | 4 + ...r_supplemental_semantic_ids_or_empty.trace | 6 + .../over_description_or_empty.trace | 2 + .../over_display_name_or_empty.trace | 2 + ...mbedded_data_specifications_or_empty.trace | 2 + .../over_extensions_or_empty.trace | 2 + .../over_qualifiers_or_empty.trace | 2 + .../over_specific_asset_ids_or_empty.trace | 2 + .../over_statements_or_empty.trace | 2 + ...r_supplemental_semantic_ids_or_empty.trace | 2 + ...asset_administration_shells_or_empty.trace | 5 + .../over_concept_descriptions_or_empty.trace | 4 + .../over_submodels_or_empty.trace | 4 + ...asset_administration_shells_or_empty.trace | 2 + .../over_concept_descriptions_or_empty.trace | 2 + .../over_submodels_or_empty.trace | 2 + .../over_refers_to_or_empty.trace | 5 + ...r_supplemental_semantic_ids_or_empty.trace | 6 + .../over_refers_to_or_empty.trace | 2 + ...r_supplemental_semantic_ids_or_empty.trace | 2 + .../over_description_or_empty.trace | 5 + .../over_display_name_or_empty.trace | 5 + ...mbedded_data_specifications_or_empty.trace | 5 + .../over_extensions_or_empty.trace | 5 + .../over_qualifiers_or_empty.trace | 6 + ...r_supplemental_semantic_ids_or_empty.trace | 6 + .../over_description_or_empty.trace | 2 + .../over_display_name_or_empty.trace | 2 + ...mbedded_data_specifications_or_empty.trace | 2 + .../over_extensions_or_empty.trace | 2 + .../over_qualifiers_or_empty.trace | 2 + ...r_supplemental_semantic_ids_or_empty.trace | 2 + .../over_description_or_empty.trace | 5 + .../over_display_name_or_empty.trace | 5 + ...mbedded_data_specifications_or_empty.trace | 5 + .../over_extensions_or_empty.trace | 5 + .../over_qualifiers_or_empty.trace | 6 + ...r_supplemental_semantic_ids_or_empty.trace | 6 + .../on_maximal.xml/over_value_or_empty.trace | 5 + .../over_description_or_empty.trace | 2 + .../over_display_name_or_empty.trace | 2 + ...mbedded_data_specifications_or_empty.trace | 2 + .../over_extensions_or_empty.trace | 2 + .../over_qualifiers_or_empty.trace | 2 + ...r_supplemental_semantic_ids_or_empty.trace | 2 + .../on_minimal.xml/over_value_or_empty.trace | 2 + .../over_description_or_empty.trace | 5 + .../over_display_name_or_empty.trace | 5 + ...mbedded_data_specifications_or_empty.trace | 5 + .../over_extensions_or_empty.trace | 5 + .../over_inoutput_variables_or_empty.trace | 6 + .../over_input_variables_or_empty.trace | 4 + .../over_output_variables_or_empty.trace | 5 + .../over_qualifiers_or_empty.trace | 6 + ...r_supplemental_semantic_ids_or_empty.trace | 6 + .../over_description_or_empty.trace | 2 + .../over_display_name_or_empty.trace | 2 + ...mbedded_data_specifications_or_empty.trace | 2 + .../over_extensions_or_empty.trace | 2 + .../over_inoutput_variables_or_empty.trace | 2 + .../over_input_variables_or_empty.trace | 2 + .../over_output_variables_or_empty.trace | 2 + .../over_qualifiers_or_empty.trace | 2 + ...r_supplemental_semantic_ids_or_empty.trace | 2 + .../over_description_or_empty.trace | 5 + .../over_display_name_or_empty.trace | 5 + ...mbedded_data_specifications_or_empty.trace | 5 + .../over_extensions_or_empty.trace | 5 + .../over_qualifiers_or_empty.trace | 6 + ...r_supplemental_semantic_ids_or_empty.trace | 6 + .../over_description_or_empty.trace | 2 + .../over_display_name_or_empty.trace | 2 + ...mbedded_data_specifications_or_empty.trace | 2 + .../over_extensions_or_empty.trace | 2 + .../over_qualifiers_or_empty.trace | 2 + ...r_supplemental_semantic_ids_or_empty.trace | 2 + ...r_supplemental_semantic_ids_or_empty.trace | 6 + ...r_supplemental_semantic_ids_or_empty.trace | 2 + .../over_description_or_empty.trace | 5 + .../over_display_name_or_empty.trace | 5 + ...mbedded_data_specifications_or_empty.trace | 5 + .../over_extensions_or_empty.trace | 5 + .../over_qualifiers_or_empty.trace | 6 + ...r_supplemental_semantic_ids_or_empty.trace | 6 + .../over_description_or_empty.trace | 2 + .../over_display_name_or_empty.trace | 2 + ...mbedded_data_specifications_or_empty.trace | 2 + .../over_extensions_or_empty.trace | 2 + .../over_qualifiers_or_empty.trace | 2 + ...r_supplemental_semantic_ids_or_empty.trace | 2 + .../over_description_or_empty.trace | 5 + .../over_display_name_or_empty.trace | 5 + ...mbedded_data_specifications_or_empty.trace | 5 + .../over_extensions_or_empty.trace | 5 + .../over_qualifiers_or_empty.trace | 6 + ...r_supplemental_semantic_ids_or_empty.trace | 6 + .../over_description_or_empty.trace | 2 + .../over_display_name_or_empty.trace | 2 + ...mbedded_data_specifications_or_empty.trace | 2 + .../over_extensions_or_empty.trace | 2 + .../over_qualifiers_or_empty.trace | 2 + ...r_supplemental_semantic_ids_or_empty.trace | 2 + .../over_description_or_empty.trace | 5 + .../over_display_name_or_empty.trace | 5 + ...mbedded_data_specifications_or_empty.trace | 5 + .../over_extensions_or_empty.trace | 5 + .../over_qualifiers_or_empty.trace | 6 + ...r_supplemental_semantic_ids_or_empty.trace | 6 + .../over_description_or_empty.trace | 2 + .../over_display_name_or_empty.trace | 2 + ...mbedded_data_specifications_or_empty.trace | 2 + .../over_extensions_or_empty.trace | 2 + .../over_qualifiers_or_empty.trace | 2 + ...r_supplemental_semantic_ids_or_empty.trace | 2 + ...r_supplemental_semantic_ids_or_empty.trace | 6 + ...r_supplemental_semantic_ids_or_empty.trace | 2 + .../over_description_or_empty.trace | 5 + .../over_display_name_or_empty.trace | 5 + ...mbedded_data_specifications_or_empty.trace | 5 + .../over_extensions_or_empty.trace | 5 + .../over_qualifiers_or_empty.trace | 6 + .../over_submodel_elements_or_empty.trace | 5 + ...r_supplemental_semantic_ids_or_empty.trace | 6 + .../over_description_or_empty.trace | 2 + .../over_display_name_or_empty.trace | 2 + ...mbedded_data_specifications_or_empty.trace | 2 + .../over_extensions_or_empty.trace | 2 + .../over_qualifiers_or_empty.trace | 2 + .../over_submodel_elements_or_empty.trace | 2 + ...r_supplemental_semantic_ids_or_empty.trace | 2 + .../over_description_or_empty.trace | 5 + .../over_display_name_or_empty.trace | 5 + ...mbedded_data_specifications_or_empty.trace | 5 + .../over_extensions_or_empty.trace | 5 + .../over_qualifiers_or_empty.trace | 6 + ...r_supplemental_semantic_ids_or_empty.trace | 6 + .../on_maximal.xml/over_value_or_empty.trace | 5 + .../over_description_or_empty.trace | 2 + .../over_display_name_or_empty.trace | 2 + ...mbedded_data_specifications_or_empty.trace | 2 + .../over_extensions_or_empty.trace | 2 + .../over_qualifiers_or_empty.trace | 2 + ...r_supplemental_semantic_ids_or_empty.trace | 2 + .../on_minimal.xml/over_value_or_empty.trace | 2 + .../over_description_or_empty.trace | 5 + .../over_display_name_or_empty.trace | 5 + ...mbedded_data_specifications_or_empty.trace | 5 + .../over_extensions_or_empty.trace | 5 + .../over_qualifiers_or_empty.trace | 6 + ...r_supplemental_semantic_ids_or_empty.trace | 6 + .../on_maximal.xml/over_value_or_empty.trace | 5 + .../over_description_or_empty.trace | 2 + .../over_display_name_or_empty.trace | 2 + ...mbedded_data_specifications_or_empty.trace | 2 + .../over_extensions_or_empty.trace | 2 + .../over_qualifiers_or_empty.trace | 2 + ...r_supplemental_semantic_ids_or_empty.trace | 2 + .../on_minimal.xml/over_value_or_empty.trace | 2 + dev/tests/__init__.py | 0 dev/tests/common.py | 147 + dev/tests/common_jsonization.py | 454 + dev/tests/common_xmlization.py | 181 + dev/tests/test_arithmetic.py | 92 + .../test_descend_and_pass_through_visitor.py | 98 + dev/tests/test_descend_once.py | 44 + dev/tests/test_for_over_x_or_empty.py | 7770 +++ dev/tests/test_for_x_or_default.py | 173 + dev/tests/test_json_value_verification.py | 183 + ...jsonization_of_classes_with_descendants.py | 393 + .../test_jsonization_of_concrete_classes.py | 3028 + dev/tests/test_jsonization_of_enums.py | 356 + dev/tests/test_parse_int.py | 133 + dev/tests/test_string_helpers.py | 347 + dev/tests/test_verification.py | 8295 +++ dev/tests/test_xml_rpc.py | 284 + ..._xmlization_of_classes_with_descendants.py | 1296 + .../test_xmlization_of_concrete_classes.py | 7500 +++ docs/how-to-build-docs.md | 32 + docs/requirements.txt | 5 + docs/source/changelog.rst | 6 + docs/source/conf.py | 191 + docs/source/contributing.rst | 99 + docs/source/design_decisions.rst | 125 + .../source/getting_started/create_get_set.rst | 78 + docs/source/getting_started/index.rst | 23 + docs/source/getting_started/install.rst | 11 + .../getting_started/iterate_and_transform.rst | 183 + docs/source/getting_started/jsonize.rst | 117 + docs/source/getting_started/verify.rst | 73 + docs/source/getting_started/xmlize.rst | 205 + docs/source/index.rst | 27 + docs/source/introduction.rst | 19 + pyproject.toml | 39 + 13225 files changed, 334141 insertions(+) create mode 100644 .github/workflows/build-test-docs.yml create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/publish-to-pypi.yml create mode 100644 .gitignore create mode 100644 .readthedocs.yml create mode 100644 README.rst create mode 100644 aas_core3_2/__init__.py create mode 100644 aas_core3_2/common.py create mode 100644 aas_core3_2/constants.py create mode 100644 aas_core3_2/jsonization.py create mode 100644 aas_core3_2/jsonvalueverification.py create mode 100644 aas_core3_2/py.typed create mode 100644 aas_core3_2/reporting.py create mode 100644 aas_core3_2/stringification.py create mode 100644 aas_core3_2/types.py create mode 100644 aas_core3_2/verification.py create mode 100644 aas_core3_2/xmlcommon.py create mode 100644 aas_core3_2/xmlization.py create mode 100644 aas_core3_2/xmlrpc.py create mode 100644 dev/continuous_integration/__init__.py create mode 100644 dev/continuous_integration/check_init_and_pyproject_toml_consistent.py create mode 100644 dev/continuous_integration/common.py create mode 100644 dev/continuous_integration/mypy.ini create mode 100755 dev/continuous_integration/precommit.py create mode 100644 dev/continuous_integration/ruff.toml create mode 100644 dev/dev_scripts/.python-version create mode 100644 dev/dev_scripts/__init__.py create mode 100644 dev/dev_scripts/codegen/meta_model.py create mode 100644 dev/dev_scripts/codegen/snippets/qualified_module_name.txt create mode 100644 dev/dev_scripts/common.py create mode 100644 dev/dev_scripts/download_aas_core_meta_model.py create mode 100644 dev/dev_scripts/download_latest_test_data.py create mode 100644 dev/dev_scripts/regenerate_code.py create mode 100644 dev/dev_scripts/rerecord_tests.py create mode 100644 dev/dev_scripts/update_all.py create mode 100644 dev/pyproject.toml create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/midnight_with_24_hours.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/midnight_with_zeros.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/minus_zero_offset.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/plus_zero_offset.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/random_positive.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/very_large_year.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/very_long_fractional_second.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/year_1_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/year_5_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/maximal.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/minimal.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/revisionOverPatternExamples/four_digits.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/revisionOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/revisionOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/revisionOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/revisionOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/revisionOverPatternExamples/one.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/revisionOverPatternExamples/three_digits.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/revisionOverPatternExamples/two_digits.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/revisionOverPatternExamples/zero.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/templateIdOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/templateIdOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/templateIdOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/templateIdOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/templateIdOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/templateIdOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/templateIdOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/templateIdOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/templateIdOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/templateIdOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/updatedAtOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/updatedAtOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/updatedAtOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/updatedAtOverPatternExamples/midnight_with_24_hours.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/updatedAtOverPatternExamples/midnight_with_zeros.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/updatedAtOverPatternExamples/minus_zero_offset.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/updatedAtOverPatternExamples/plus_zero_offset.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/updatedAtOverPatternExamples/random_positive.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/updatedAtOverPatternExamples/very_large_year.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/updatedAtOverPatternExamples/very_long_fractional_second.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/updatedAtOverPatternExamples/year_1_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/updatedAtOverPatternExamples/year_5_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/versionOverPatternExamples/four_digits.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/versionOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/versionOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/versionOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/versionOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/versionOverPatternExamples/one.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/versionOverPatternExamples/three_digits.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/versionOverPatternExamples/two_digits.json create mode 100644 dev/test_data/Json/Expected/AdministrativeInformation/versionOverPatternExamples/zero.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/categoryOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/categoryOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/categoryOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/categoryOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/categoryOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/categoryOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/categoryOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/categoryOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/categoryOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/categoryOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/alternating_hyphen_underscore.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/ends_with_underscore.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/hyphen_then_underscore.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/many_internal_hyphens.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/many_underscores.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/minimal_digit.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/minimal_lower.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/minimal_underscore.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/minimal_upper.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/single_internal_hyphen.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/idShortOverPatternExamples/underscore_after_first.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/maximal.json create mode 100644 dev/test_data/Json/Expected/AnnotatedRelationshipElement/minimal.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/categoryOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/categoryOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/categoryOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/categoryOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/categoryOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/categoryOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/categoryOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/categoryOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/categoryOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/categoryOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/alternating_hyphen_underscore.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/ends_with_underscore.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/hyphen_then_underscore.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/many_internal_hyphens.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/many_underscores.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/minimal_digit.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/minimal_lower.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/minimal_underscore.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/minimal_upper.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/single_internal_hyphen.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/idShortOverPatternExamples/underscore_after_first.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/maximal.json create mode 100644 dev/test_data/Json/Expected/AssetAdministrationShell/minimal.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/assetTypeOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/assetTypeOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/assetTypeOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/assetTypeOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/assetTypeOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/assetTypeOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/assetTypeOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/assetTypeOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/assetTypeOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/assetTypeOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/globalAssetIdOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/globalAssetIdOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/globalAssetIdOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/globalAssetIdOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/globalAssetIdOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/globalAssetIdOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/globalAssetIdOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/globalAssetIdOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/globalAssetIdOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/globalAssetIdOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/maximal.json create mode 100644 dev/test_data/Json/Expected/AssetInformation/minimal.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/categoryOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/categoryOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/categoryOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/categoryOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/categoryOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/categoryOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/categoryOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/categoryOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/categoryOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/categoryOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/alternating_hyphen_underscore.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/ends_with_underscore.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/hyphen_then_underscore.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/many_internal_hyphens.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/many_underscores.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/minimal_digit.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/minimal_lower.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/minimal_underscore.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/minimal_upper.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/single_internal_hyphen.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/idShortOverPatternExamples/underscore_after_first.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/lastUpdateOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/lastUpdateOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/lastUpdateOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/lastUpdateOverPatternExamples/midnight_with_24_hours.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/lastUpdateOverPatternExamples/midnight_with_zeros.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/lastUpdateOverPatternExamples/minus_zero_offset.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/lastUpdateOverPatternExamples/plus_zero_offset.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/lastUpdateOverPatternExamples/random_positive.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/lastUpdateOverPatternExamples/very_large_year.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/lastUpdateOverPatternExamples/very_long_fractional_second.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/lastUpdateOverPatternExamples/year_1_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/lastUpdateOverPatternExamples/year_5_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/maxIntervalOverPatternExamples/day_seconds.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/maxIntervalOverPatternExamples/full.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/maxIntervalOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/maxIntervalOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/maxIntervalOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/maxIntervalOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/maxIntervalOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/maxIntervalOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/maxIntervalOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/maxIntervalOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/maxIntervalOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/maxIntervalOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/maxIntervalOverPatternExamples/long_second_fractal.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/maxIntervalOverPatternExamples/many_many_seconds.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/maxIntervalOverPatternExamples/month_seconds.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/maxIntervalOverPatternExamples/only_seconds.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/maxIntervalOverPatternExamples/only_year.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/maximal.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/messageTopicOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/messageTopicOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/messageTopicOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/messageTopicOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/messageTopicOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/messageTopicOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/messageTopicOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/messageTopicOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/messageTopicOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/messageTopicOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/minIntervalOverPatternExamples/day_seconds.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/minIntervalOverPatternExamples/full.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/minIntervalOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/minIntervalOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/minIntervalOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/minIntervalOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/minIntervalOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/minIntervalOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/minIntervalOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/minIntervalOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/minIntervalOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/minIntervalOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/minIntervalOverPatternExamples/long_second_fractal.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/minIntervalOverPatternExamples/many_many_seconds.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/minIntervalOverPatternExamples/month_seconds.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/minIntervalOverPatternExamples/only_seconds.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/minIntervalOverPatternExamples/only_year.json create mode 100644 dev/test_data/Json/Expected/BasicEventElement/minimal.json create mode 100644 dev/test_data/Json/Expected/Blob/categoryOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Blob/categoryOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Blob/categoryOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Blob/categoryOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Blob/categoryOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Blob/categoryOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Blob/categoryOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Blob/categoryOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Blob/categoryOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Blob/categoryOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Blob/contentTypeOverPatternExamples/dash.json create mode 100644 dev/test_data/Json/Expected/Blob/contentTypeOverPatternExamples/dots.json create mode 100644 dev/test_data/Json/Expected/Blob/contentTypeOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Blob/contentTypeOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Blob/contentTypeOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Blob/contentTypeOverPatternExamples/number prefix and suffix.json create mode 100644 dev/test_data/Json/Expected/Blob/contentTypeOverPatternExamples/only_letters.json create mode 100644 dev/test_data/Json/Expected/Blob/contentTypeOverPatternExamples/plus.json create mode 100644 dev/test_data/Json/Expected/Blob/contentTypeOverPatternExamples/random_common_MIME_type.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/alternating_hyphen_underscore.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/ends_with_underscore.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/hyphen_then_underscore.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/many_internal_hyphens.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/many_underscores.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/minimal_digit.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/minimal_lower.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/minimal_underscore.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/minimal_upper.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/single_internal_hyphen.json create mode 100644 dev/test_data/Json/Expected/Blob/idShortOverPatternExamples/underscore_after_first.json create mode 100644 dev/test_data/Json/Expected/Blob/maximal.json create mode 100644 dev/test_data/Json/Expected/Blob/minimal.json create mode 100644 dev/test_data/Json/Expected/Capability/categoryOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Capability/categoryOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Capability/categoryOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Capability/categoryOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Capability/categoryOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Capability/categoryOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Capability/categoryOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Capability/categoryOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Capability/categoryOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Capability/categoryOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/alternating_hyphen_underscore.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/ends_with_underscore.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/hyphen_then_underscore.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/many_internal_hyphens.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/many_underscores.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/minimal_digit.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/minimal_lower.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/minimal_underscore.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/minimal_upper.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/single_internal_hyphen.json create mode 100644 dev/test_data/Json/Expected/Capability/idShortOverPatternExamples/underscore_after_first.json create mode 100644 dev/test_data/Json/Expected/Capability/maximal.json create mode 100644 dev/test_data/Json/Expected/Capability/minimal.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/categoryOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/categoryOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/categoryOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/categoryOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/categoryOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/categoryOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/categoryOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/categoryOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/categoryOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/categoryOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/alternating_hyphen_underscore.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/ends_with_underscore.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/hyphen_then_underscore.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/many_internal_hyphens.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/many_underscores.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/minimal_digit.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/minimal_lower.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/minimal_underscore.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/minimal_upper.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/single_internal_hyphen.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/idShortOverPatternExamples/underscore_after_first.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/maximal.json create mode 100644 dev/test_data/Json/Expected/ConceptDescription/minimal.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/maximal.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/minimal.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/symbolOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/symbolOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/symbolOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/symbolOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/symbolOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/symbolOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/symbolOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/symbolOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/symbolOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/symbolOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/unitOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/unitOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/unitOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/unitOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/unitOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/unitOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/unitOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/unitOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/unitOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/unitOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/valueOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/valueOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/valueOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/valueOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/valueOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/valueOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/valueOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/valueOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/valueOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/DataSpecificationIec61360/valueOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/EmbeddedDataSpecification/maximal.json create mode 100644 dev/test_data/Json/Expected/EmbeddedDataSpecification/minimal.json create mode 100644 dev/test_data/Json/Expected/Entity/categoryOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Entity/categoryOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Entity/categoryOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Entity/categoryOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Entity/categoryOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Entity/categoryOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Entity/categoryOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Entity/categoryOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Entity/categoryOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Entity/categoryOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Entity/globalAssetIdOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Entity/globalAssetIdOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Entity/globalAssetIdOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Entity/globalAssetIdOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Entity/globalAssetIdOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Entity/globalAssetIdOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Entity/globalAssetIdOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Entity/globalAssetIdOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Entity/globalAssetIdOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Entity/globalAssetIdOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/alternating_hyphen_underscore.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/ends_with_underscore.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/hyphen_then_underscore.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/many_internal_hyphens.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/many_underscores.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/minimal_digit.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/minimal_lower.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/minimal_underscore.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/minimal_upper.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/single_internal_hyphen.json create mode 100644 dev/test_data/Json/Expected/Entity/idShortOverPatternExamples/underscore_after_first.json create mode 100644 dev/test_data/Json/Expected/Entity/maximal.json create mode 100644 dev/test_data/Json/Expected/Entity/minimal.json create mode 100644 dev/test_data/Json/Expected/Environment/maximal.json create mode 100644 dev/test_data/Json/Expected/Environment/minimal.json create mode 100644 dev/test_data/Json/Expected/EventPayload/maximal.json create mode 100644 dev/test_data/Json/Expected/EventPayload/minimal.json create mode 100644 dev/test_data/Json/Expected/EventPayload/timeStampOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/EventPayload/timeStampOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/EventPayload/timeStampOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/EventPayload/timeStampOverPatternExamples/midnight_with_24_hours.json create mode 100644 dev/test_data/Json/Expected/EventPayload/timeStampOverPatternExamples/midnight_with_zeros.json create mode 100644 dev/test_data/Json/Expected/EventPayload/timeStampOverPatternExamples/minus_zero_offset.json create mode 100644 dev/test_data/Json/Expected/EventPayload/timeStampOverPatternExamples/plus_zero_offset.json create mode 100644 dev/test_data/Json/Expected/EventPayload/timeStampOverPatternExamples/random_positive.json create mode 100644 dev/test_data/Json/Expected/EventPayload/timeStampOverPatternExamples/very_large_year.json create mode 100644 dev/test_data/Json/Expected/EventPayload/timeStampOverPatternExamples/very_long_fractional_second.json create mode 100644 dev/test_data/Json/Expected/EventPayload/timeStampOverPatternExamples/year_1_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/EventPayload/timeStampOverPatternExamples/year_5_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/EventPayload/topicOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/EventPayload/topicOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/EventPayload/topicOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/EventPayload/topicOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/EventPayload/topicOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/EventPayload/topicOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/EventPayload/topicOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/EventPayload/topicOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/EventPayload/topicOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/EventPayload/topicOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/maximal.json create mode 100644 dev/test_data/Json/Expected/Extension/minimal.json create mode 100644 dev/test_data/Json/Expected/Extension/nameOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/nameOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/nameOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/nameOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/nameOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/nameOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/nameOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/nameOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/nameOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/nameOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Any_URI_URI.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Any_URI_absolute_path_without_scheme.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Any_URI_empty.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Any_URI_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Any_URI_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Any_URI_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Any_URI_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Any_URI_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Any_URI_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Any_URI_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Any_URI_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Any_URI_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Any_URI_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Any_URI_integer.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Any_URI_relative_path_without_scheme.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Base_64_binary_an_empty_value_is_valid.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Base_64_binary_equals_signs_are_used_for_padding.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Base_64_binary_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Base_64_binary_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Base_64_binary_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Base_64_binary_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Base_64_binary_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Base_64_binary_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Base_64_binary_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Base_64_binary_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Base_64_binary_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Base_64_binary_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Base_64_binary_whitespace_is_allowed_anywhere_in_the_value.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Base_64_binary_without_space_lowercase.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Base_64_binary_without_space_uppercase.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Boolean_false_as_number.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Boolean_false_in_letters.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Boolean_true_as_number.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Boolean_true_in_letters.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Byte_common_example.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Byte_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Byte_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Byte_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Byte_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Byte_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Byte_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Byte_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Byte_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Byte_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Byte_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Byte_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Byte_max.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Byte_min.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Byte_negative.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Byte_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Byte_zero.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Byte_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_date.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_date_with_large_negative_year.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_date_with_large_positive_year.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_date_with_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_date_with_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_date_with_utc.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_date_with_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_date_time_with_UTC.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_date_time_with_large_negative_year.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_date_time_with_large_positive_year.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_date_time_with_long_fractional_seconds.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_date_time_with_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_date_time_with_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_date_time_with_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_date_time_without_zone.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_midnight_with_24_hours.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_midnight_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_year_1_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_time_year_5_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_year_1_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Date_year_5_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Decimal_decimal.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Decimal_decimal_with_long_fractional.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Decimal_decimal_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Decimal_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Decimal_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Decimal_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Decimal_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Decimal_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Decimal_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Decimal_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Decimal_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Decimal_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Decimal_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Decimal_integer.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Decimal_integer_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Decimal_very_large_decimal.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_double.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_inf.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_integer.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_integer_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_loss_of_precision_is_not_detected_by_design.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_lowest.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_max.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_minus_inf.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_nan.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_scientific_notation.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_scientific_notation_negative.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_scientific_notation_negative_exponent.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_scientific_notation_positive.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_scientific_notation_positive_exponent.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_very_large_normal.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_very_precise_subnormal.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Double_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Duration_day_seconds.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Duration_full.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Duration_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Duration_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Duration_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Duration_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Duration_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Duration_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Duration_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Duration_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Duration_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Duration_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Duration_long_second_fractal.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Duration_many_many_seconds.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Duration_month_seconds.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Duration_only_seconds.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Duration_only_year.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_float.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_inf.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_integer.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_integer_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_largest_normal.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_largest_number_less_than_one.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_largest_subnormal.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_loss_of_precision_is_not_detected_by_design.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_nan.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_negative_inf.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_scientific_notation.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_scientific_notation_negative.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_scientific_notation_negative_exponent.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_scientific_notation_positive.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_scientific_notation_positive_exponent.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_smallest_number_larger_than_one.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_smallest_positive_normal.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_smallest_positive_subnormal.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Float_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_day_day_not_existing_in_all_months_without_zone.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_day_double_digit_day_without_zone.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_day_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_day_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_day_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_day_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_day_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_day_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_day_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_day_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_day_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_day_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_day_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_day_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_day_single_digit_day_without_zone.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_day_utc_zone.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_day_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_day_double_digit_month_double_digit_day_without_zone.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_day_double_digit_month_single_digit_day_without_zone.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_day_february_29th_which_does_not_exist_in_all_years.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_day_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_day_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_day_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_day_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_day_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_day_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_day_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_day_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_day_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_day_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_day_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_day_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_day_single_digit_month_single_digit_day_without_zone.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_day_utc_zone.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_day_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_double_digit_month_without_zone.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_single_digit_month_without_zone.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_utc_zone.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_month_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_five_digit_negative_year.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_five_digit_year.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_month_common_year_month.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_month_five_digit_negative_year.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_month_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_month_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_month_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_month_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_month_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_month_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_month_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_month_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_month_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_month_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_month_negative_year.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_month_very_large_negative_year.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_month_very_large_positive_year.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_month_with_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_month_with_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_month_with_utc_zone.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_month_with_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_negative_year.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_utc_zone.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_very_large_negative_year.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_very_large_positive_year.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_year_without_zone.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/G_year_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Hex_binary_empty.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Hex_binary_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Hex_binary_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Hex_binary_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Hex_binary_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Hex_binary_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Hex_binary_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Hex_binary_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Hex_binary_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Hex_binary_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Hex_binary_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Hex_binary_long_random_hex.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Hex_binary_one_one.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Hex_binary_one_two.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Hex_binary_one_two_three_four.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Int_common_example.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Int_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Int_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Int_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Int_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Int_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Int_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Int_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Int_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Int_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Int_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Int_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Int_max.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Int_min.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Int_negative.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Int_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Int_zero.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Int_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Integer_common_example.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Integer_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Integer_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Integer_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Integer_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Integer_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Integer_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Integer_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Integer_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Integer_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Integer_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Integer_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Integer_negative.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Integer_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Integer_very_large.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Integer_zero.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Integer_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Long_common_example.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Long_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Long_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Long_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Long_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Long_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Long_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Long_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Long_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Long_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Long_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Long_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Long_max.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Long_min.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Long_negative.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Long_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Long_zero.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Long_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Negative_integer_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Negative_integer_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Negative_integer_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Negative_integer_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Negative_integer_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Negative_integer_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Negative_integer_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Negative_integer_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Negative_integer_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Negative_integer_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Negative_integer_negative.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Negative_integer_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Negative_integer_very_large.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_negative_integer_common_example.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_negative_integer_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_negative_integer_explicitly_positive_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_negative_integer_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_negative_integer_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_negative_integer_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_negative_integer_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_negative_integer_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_negative_integer_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_negative_integer_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_negative_integer_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_negative_integer_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_negative_integer_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_negative_integer_minus_zero.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_negative_integer_positive_zero.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_negative_integer_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_negative_integer_very_large.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_negative_integer_zero.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_negative_integer_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_positive_integer_explicitly_positive_zero.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_positive_integer_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_positive_integer_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_positive_integer_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_positive_integer_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_positive_integer_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_positive_integer_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_positive_integer_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_positive_integer_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_positive_integer_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_positive_integer_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_positive_integer_negative.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_positive_integer_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_positive_integer_very_large.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Non_positive_integer_zero.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Positive_integer_common_example.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Positive_integer_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Positive_integer_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Positive_integer_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Positive_integer_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Positive_integer_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Positive_integer_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Positive_integer_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Positive_integer_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Positive_integer_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Positive_integer_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Positive_integer_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Positive_integer_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Positive_integer_very_large.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Short_common_example.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Short_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Short_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Short_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Short_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Short_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Short_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Short_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Short_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Short_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Short_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Short_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Short_max.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Short_min.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Short_negative.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Short_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Short_zero.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Short_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/String_empty.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/String_free_form_text.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/String_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/String_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/String_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/String_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/String_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/String_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/String_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/String_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/String_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/String_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Time_common_example.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Time_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Time_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Time_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Time_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Time_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Time_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Time_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Time_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Time_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Time_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Time_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Time_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Time_with_long_second_fractional.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Time_with_second_fractional.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Time_with_utc_timezone.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Time_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_byte_common_example.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_byte_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_byte_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_byte_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_byte_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_byte_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_byte_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_byte_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_byte_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_byte_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_byte_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_byte_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_byte_max.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_byte_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_byte_zero.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_byte_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_int_common_example.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_int_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_int_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_int_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_int_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_int_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_int_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_int_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_int_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_int_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_int_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_int_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_int_max.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_int_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_int_zero.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_int_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_long_common_example.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_long_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_long_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_long_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_long_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_long_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_long_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_long_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_long_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_long_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_long_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_long_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_long_max.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_long_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_long_zero.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_long_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_short_common_example.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_short_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_short_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_short_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_short_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_short_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_short_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_short_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_short_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_short_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_short_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_short_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_short_max.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_short_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_short_zero.json create mode 100644 dev/test_data/Json/Expected/Extension/valueOverValueExamples/Unsigned_short_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/File/categoryOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/File/categoryOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/File/categoryOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/File/categoryOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/File/categoryOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/File/categoryOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/File/categoryOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/File/categoryOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/File/categoryOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/File/categoryOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/File/contentTypeOverPatternExamples/dash.json create mode 100644 dev/test_data/Json/Expected/File/contentTypeOverPatternExamples/dots.json create mode 100644 dev/test_data/Json/Expected/File/contentTypeOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/File/contentTypeOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/File/contentTypeOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/File/contentTypeOverPatternExamples/number prefix and suffix.json create mode 100644 dev/test_data/Json/Expected/File/contentTypeOverPatternExamples/only_letters.json create mode 100644 dev/test_data/Json/Expected/File/contentTypeOverPatternExamples/plus.json create mode 100644 dev/test_data/Json/Expected/File/contentTypeOverPatternExamples/random_common_MIME_type.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/alternating_hyphen_underscore.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/ends_with_underscore.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/hyphen_then_underscore.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/many_internal_hyphens.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/many_underscores.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/minimal_digit.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/minimal_lower.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/minimal_underscore.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/minimal_upper.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/single_internal_hyphen.json create mode 100644 dev/test_data/Json/Expected/File/idShortOverPatternExamples/underscore_after_first.json create mode 100644 dev/test_data/Json/Expected/File/maximal.json create mode 100644 dev/test_data/Json/Expected/File/minimal.json create mode 100644 dev/test_data/Json/Expected/File/valueOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/File/valueOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/File/valueOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/File/valueOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/File/valueOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/File/valueOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/File/valueOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/File/valueOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/File/valueOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/File/valueOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/File/valueOverPatternExamples/made_up_01.json create mode 100644 dev/test_data/Json/Expected/File/valueOverPatternExamples/made_up_02.json create mode 100644 dev/test_data/Json/Expected/File/valueOverPatternExamples/made_up_03.json create mode 100644 dev/test_data/Json/Expected/File/valueOverPatternExamples/made_up_04.json create mode 100644 dev/test_data/Json/Expected/File/valueOverPatternExamples/made_up_05.json create mode 100644 dev/test_data/Json/Expected/Key/maximal.json create mode 100644 dev/test_data/Json/Expected/Key/minimal.json create mode 100644 dev/test_data/Json/Expected/Key/valueOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Key/valueOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Key/valueOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Key/valueOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Key/valueOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Key/valueOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Key/valueOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Key/valueOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Key/valueOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Key/valueOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/extended_language_subtags_1.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/extended_language_subtags_2.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/extended_language_subtags_3.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/extended_language_subtags_4.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_1.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_2.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_3.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_variant_1.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_variant_2.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/language_script_region_1.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/language_script_region_2.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/language_script_region_variant.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_1.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_2.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_3.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_4.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/language_variant_1.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/language_variant_2.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/language_variant_3.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_1.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_2.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_3.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_4.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_5.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_subtags_1.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_subtags_2.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/simple_language_subtag_1.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/simple_language_subtag_2.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/simple_language_subtag_3.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/tag_with_extension_1.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/tag_with_extension_2.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/languageOverPatternExamples/tag_with_extension_3.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/maximal.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/minimal.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/LangStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/extended_language_subtags_1.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/extended_language_subtags_2.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/extended_language_subtags_3.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/extended_language_subtags_4.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/language_region_1.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/language_region_2.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/language_region_3.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/language_region_variant_1.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/language_region_variant_2.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/language_script_region_1.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/language_script_region_2.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/language_script_region_variant.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/language_subtag_plus_script_subtag_1.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/language_subtag_plus_script_subtag_2.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/language_subtag_plus_script_subtag_3.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/language_subtag_plus_script_subtag_4.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/language_variant_1.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/language_variant_2.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/language_variant_3.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/private_use_registry_values_1.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/private_use_registry_values_2.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/private_use_registry_values_3.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/private_use_registry_values_4.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/private_use_registry_values_5.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/private_use_subtags_1.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/private_use_subtags_2.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/simple_language_subtag_1.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/simple_language_subtag_2.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/simple_language_subtag_3.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/tag_with_extension_1.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/tag_with_extension_2.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/languageOverPatternExamples/tag_with_extension_3.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/maximal.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/minimal.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/textOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/textOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/textOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/textOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/textOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/textOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/textOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/textOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/textOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/LangStringNameType/textOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_1.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_2.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_3.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_4.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_1.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_2.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_3.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_variant_1.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_variant_2.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/language_script_region_1.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/language_script_region_2.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/language_script_region_variant.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_1.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_2.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_3.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_4.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/language_variant_1.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/language_variant_2.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/language_variant_3.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_1.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_2.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_3.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_4.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_5.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_subtags_1.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_subtags_2.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_1.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_2.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_3.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/tag_with_extension_1.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/tag_with_extension_2.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/languageOverPatternExamples/tag_with_extension_3.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/maximal.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/minimal.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/LangStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_1.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_2.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_3.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_4.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/language_region_1.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/language_region_2.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/language_region_3.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/language_region_variant_1.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/language_region_variant_2.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/language_script_region_1.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/language_script_region_2.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/language_script_region_variant.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_1.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_2.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_3.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_4.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/language_variant_1.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/language_variant_2.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/language_variant_3.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_1.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_2.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_3.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_4.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_5.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/private_use_subtags_1.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/private_use_subtags_2.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_1.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_2.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_3.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/tag_with_extension_1.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/tag_with_extension_2.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/languageOverPatternExamples/tag_with_extension_3.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/maximal.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/minimal.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/LangStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/extended_language_subtags_1.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/extended_language_subtags_2.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/extended_language_subtags_3.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/extended_language_subtags_4.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/language_region_1.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/language_region_2.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/language_region_3.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/language_region_variant_1.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/language_region_variant_2.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/language_script_region_1.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/language_script_region_2.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/language_script_region_variant.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/language_subtag_plus_script_subtag_1.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/language_subtag_plus_script_subtag_2.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/language_subtag_plus_script_subtag_3.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/language_subtag_plus_script_subtag_4.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/language_variant_1.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/language_variant_2.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/language_variant_3.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/private_use_registry_values_1.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/private_use_registry_values_2.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/private_use_registry_values_3.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/private_use_registry_values_4.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/private_use_registry_values_5.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/private_use_subtags_1.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/private_use_subtags_2.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/simple_language_subtag_1.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/simple_language_subtag_2.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/simple_language_subtag_3.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/tag_with_extension_1.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/tag_with_extension_2.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/languageOverPatternExamples/tag_with_extension_3.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/maximal.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/minimal.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/textOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/textOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/textOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/textOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/textOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/textOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/textOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/textOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/textOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/LangStringTextType/textOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/LevelType/maximal.json create mode 100644 dev/test_data/Json/Expected/LevelType/minimal.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/categoryOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/categoryOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/categoryOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/categoryOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/categoryOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/categoryOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/categoryOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/categoryOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/categoryOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/categoryOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/alternating_hyphen_underscore.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/ends_with_underscore.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/hyphen_then_underscore.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/many_internal_hyphens.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/many_underscores.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/minimal_digit.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/minimal_lower.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/minimal_underscore.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/minimal_upper.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/single_internal_hyphen.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/idShortOverPatternExamples/underscore_after_first.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/maximal.json create mode 100644 dev/test_data/Json/Expected/MultiLanguageProperty/minimal.json create mode 100644 dev/test_data/Json/Expected/Operation/categoryOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Operation/categoryOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Operation/categoryOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Operation/categoryOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Operation/categoryOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Operation/categoryOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Operation/categoryOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Operation/categoryOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Operation/categoryOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Operation/categoryOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/alternating_hyphen_underscore.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/ends_with_underscore.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/hyphen_then_underscore.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/many_internal_hyphens.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/many_underscores.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/minimal_digit.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/minimal_lower.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/minimal_underscore.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/minimal_upper.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/single_internal_hyphen.json create mode 100644 dev/test_data/Json/Expected/Operation/idShortOverPatternExamples/underscore_after_first.json create mode 100644 dev/test_data/Json/Expected/Operation/maximal.json create mode 100644 dev/test_data/Json/Expected/Operation/minimal.json create mode 100644 dev/test_data/Json/Expected/OperationVariable/maximal.json create mode 100644 dev/test_data/Json/Expected/OperationVariable/minimal.json create mode 100644 dev/test_data/Json/Expected/Property/categoryOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/categoryOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/categoryOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/categoryOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/categoryOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/categoryOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/categoryOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/categoryOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/categoryOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/categoryOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/alternating_hyphen_underscore.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/ends_with_underscore.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/hyphen_then_underscore.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/many_internal_hyphens.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/many_underscores.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/minimal_digit.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/minimal_lower.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/minimal_underscore.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/minimal_upper.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/single_internal_hyphen.json create mode 100644 dev/test_data/Json/Expected/Property/idShortOverPatternExamples/underscore_after_first.json create mode 100644 dev/test_data/Json/Expected/Property/maximal.json create mode 100644 dev/test_data/Json/Expected/Property/minimal.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Any_URI_URI.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Any_URI_absolute_path_without_scheme.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Any_URI_empty.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Any_URI_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Any_URI_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Any_URI_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Any_URI_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Any_URI_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Any_URI_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Any_URI_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Any_URI_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Any_URI_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Any_URI_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Any_URI_integer.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Any_URI_relative_path_without_scheme.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Base_64_binary_an_empty_value_is_valid.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Base_64_binary_equals_signs_are_used_for_padding.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Base_64_binary_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Base_64_binary_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Base_64_binary_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Base_64_binary_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Base_64_binary_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Base_64_binary_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Base_64_binary_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Base_64_binary_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Base_64_binary_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Base_64_binary_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Base_64_binary_whitespace_is_allowed_anywhere_in_the_value.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Base_64_binary_without_space_lowercase.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Base_64_binary_without_space_uppercase.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Boolean_false_as_number.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Boolean_false_in_letters.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Boolean_true_as_number.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Boolean_true_in_letters.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Byte_common_example.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Byte_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Byte_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Byte_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Byte_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Byte_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Byte_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Byte_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Byte_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Byte_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Byte_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Byte_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Byte_max.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Byte_min.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Byte_negative.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Byte_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Byte_zero.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Byte_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_date.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_date_with_large_negative_year.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_date_with_large_positive_year.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_date_with_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_date_with_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_date_with_utc.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_date_with_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_date_time_with_UTC.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_date_time_with_large_negative_year.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_date_time_with_large_positive_year.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_date_time_with_long_fractional_seconds.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_date_time_with_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_date_time_with_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_date_time_with_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_date_time_without_zone.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_midnight_with_24_hours.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_midnight_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_year_1_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_time_year_5_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_year_1_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Date_year_5_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Decimal_decimal.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Decimal_decimal_with_long_fractional.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Decimal_decimal_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Decimal_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Decimal_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Decimal_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Decimal_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Decimal_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Decimal_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Decimal_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Decimal_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Decimal_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Decimal_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Decimal_integer.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Decimal_integer_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Decimal_very_large_decimal.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_double.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_inf.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_integer.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_integer_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_loss_of_precision_is_not_detected_by_design.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_lowest.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_max.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_minus_inf.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_nan.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_scientific_notation.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_scientific_notation_negative.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_scientific_notation_negative_exponent.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_scientific_notation_positive.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_scientific_notation_positive_exponent.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_very_large_normal.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_very_precise_subnormal.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Double_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Duration_day_seconds.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Duration_full.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Duration_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Duration_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Duration_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Duration_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Duration_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Duration_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Duration_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Duration_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Duration_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Duration_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Duration_long_second_fractal.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Duration_many_many_seconds.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Duration_month_seconds.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Duration_only_seconds.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Duration_only_year.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_float.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_inf.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_integer.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_integer_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_largest_normal.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_largest_number_less_than_one.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_largest_subnormal.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_loss_of_precision_is_not_detected_by_design.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_nan.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_negative_inf.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_scientific_notation.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_scientific_notation_negative.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_scientific_notation_negative_exponent.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_scientific_notation_positive.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_scientific_notation_positive_exponent.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_smallest_number_larger_than_one.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_smallest_positive_normal.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_smallest_positive_subnormal.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Float_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_day_day_not_existing_in_all_months_without_zone.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_day_double_digit_day_without_zone.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_day_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_day_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_day_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_day_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_day_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_day_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_day_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_day_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_day_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_day_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_day_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_day_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_day_single_digit_day_without_zone.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_day_utc_zone.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_day_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_day_double_digit_month_double_digit_day_without_zone.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_day_double_digit_month_single_digit_day_without_zone.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_day_february_29th_which_does_not_exist_in_all_years.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_day_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_day_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_day_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_day_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_day_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_day_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_day_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_day_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_day_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_day_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_day_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_day_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_day_single_digit_month_single_digit_day_without_zone.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_day_utc_zone.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_day_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_double_digit_month_without_zone.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_single_digit_month_without_zone.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_utc_zone.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_month_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_five_digit_negative_year.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_five_digit_year.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_month_common_year_month.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_month_five_digit_negative_year.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_month_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_month_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_month_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_month_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_month_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_month_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_month_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_month_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_month_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_month_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_month_negative_year.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_month_very_large_negative_year.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_month_very_large_positive_year.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_month_with_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_month_with_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_month_with_utc_zone.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_month_with_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_negative_year.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_utc_zone.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_very_large_negative_year.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_very_large_positive_year.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_year_without_zone.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/G_year_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Hex_binary_empty.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Hex_binary_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Hex_binary_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Hex_binary_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Hex_binary_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Hex_binary_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Hex_binary_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Hex_binary_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Hex_binary_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Hex_binary_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Hex_binary_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Hex_binary_long_random_hex.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Hex_binary_one_one.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Hex_binary_one_two.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Hex_binary_one_two_three_four.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Int_common_example.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Int_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Int_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Int_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Int_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Int_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Int_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Int_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Int_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Int_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Int_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Int_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Int_max.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Int_min.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Int_negative.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Int_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Int_zero.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Int_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Integer_common_example.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Integer_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Integer_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Integer_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Integer_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Integer_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Integer_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Integer_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Integer_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Integer_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Integer_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Integer_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Integer_negative.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Integer_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Integer_very_large.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Integer_zero.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Integer_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Long_common_example.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Long_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Long_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Long_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Long_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Long_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Long_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Long_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Long_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Long_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Long_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Long_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Long_max.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Long_min.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Long_negative.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Long_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Long_zero.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Long_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Negative_integer_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Negative_integer_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Negative_integer_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Negative_integer_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Negative_integer_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Negative_integer_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Negative_integer_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Negative_integer_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Negative_integer_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Negative_integer_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Negative_integer_negative.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Negative_integer_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Negative_integer_very_large.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_negative_integer_common_example.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_negative_integer_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_negative_integer_explicitly_positive_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_negative_integer_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_negative_integer_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_negative_integer_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_negative_integer_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_negative_integer_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_negative_integer_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_negative_integer_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_negative_integer_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_negative_integer_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_negative_integer_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_negative_integer_minus_zero.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_negative_integer_positive_zero.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_negative_integer_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_negative_integer_very_large.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_negative_integer_zero.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_negative_integer_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_positive_integer_explicitly_positive_zero.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_positive_integer_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_positive_integer_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_positive_integer_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_positive_integer_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_positive_integer_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_positive_integer_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_positive_integer_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_positive_integer_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_positive_integer_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_positive_integer_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_positive_integer_negative.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_positive_integer_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_positive_integer_very_large.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Non_positive_integer_zero.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Positive_integer_common_example.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Positive_integer_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Positive_integer_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Positive_integer_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Positive_integer_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Positive_integer_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Positive_integer_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Positive_integer_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Positive_integer_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Positive_integer_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Positive_integer_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Positive_integer_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Positive_integer_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Positive_integer_very_large.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Short_common_example.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Short_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Short_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Short_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Short_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Short_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Short_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Short_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Short_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Short_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Short_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Short_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Short_max.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Short_min.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Short_negative.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Short_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Short_zero.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Short_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/String_empty.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/String_free_form_text.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Time_common_example.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Time_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Time_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Time_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Time_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Time_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Time_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Time_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Time_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Time_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Time_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Time_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Time_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Time_with_long_second_fractional.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Time_with_second_fractional.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Time_with_utc_timezone.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Time_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_byte_common_example.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_byte_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_byte_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_byte_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_byte_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_byte_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_byte_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_byte_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_byte_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_byte_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_byte_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_byte_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_byte_max.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_byte_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_byte_zero.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_byte_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_int_common_example.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_int_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_int_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_int_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_int_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_int_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_int_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_int_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_int_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_int_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_int_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_int_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_int_max.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_int_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_int_zero.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_int_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_long_common_example.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_long_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_long_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_long_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_long_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_long_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_long_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_long_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_long_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_long_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_long_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_long_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_long_max.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_long_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_long_zero.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_long_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_short_common_example.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_short_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_short_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_short_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_short_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_short_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_short_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_short_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_short_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_short_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_short_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_short_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_short_max.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_short_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_short_zero.json create mode 100644 dev/test_data/Json/Expected/Property/valueOverValueExamples/Unsigned_short_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/maximal.json create mode 100644 dev/test_data/Json/Expected/Qualifier/minimal.json create mode 100644 dev/test_data/Json/Expected/Qualifier/typeOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/typeOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/typeOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/typeOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/typeOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/typeOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/typeOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/typeOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/typeOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/typeOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Any_URI_URI.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Any_URI_absolute_path_without_scheme.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Any_URI_empty.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Any_URI_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Any_URI_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Any_URI_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Any_URI_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Any_URI_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Any_URI_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Any_URI_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Any_URI_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Any_URI_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Any_URI_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Any_URI_integer.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Any_URI_relative_path_without_scheme.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Base_64_binary_an_empty_value_is_valid.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Base_64_binary_equals_signs_are_used_for_padding.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Base_64_binary_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Base_64_binary_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Base_64_binary_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Base_64_binary_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Base_64_binary_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Base_64_binary_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Base_64_binary_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Base_64_binary_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Base_64_binary_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Base_64_binary_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Base_64_binary_whitespace_is_allowed_anywhere_in_the_value.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Base_64_binary_without_space_lowercase.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Base_64_binary_without_space_uppercase.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Boolean_false_as_number.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Boolean_false_in_letters.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Boolean_true_as_number.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Boolean_true_in_letters.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Byte_common_example.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Byte_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Byte_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Byte_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Byte_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Byte_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Byte_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Byte_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Byte_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Byte_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Byte_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Byte_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Byte_max.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Byte_min.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Byte_negative.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Byte_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Byte_zero.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Byte_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_date.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_date_with_large_negative_year.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_date_with_large_positive_year.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_date_with_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_date_with_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_date_with_utc.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_date_with_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_date_time_with_UTC.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_date_time_with_large_negative_year.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_date_time_with_large_positive_year.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_date_time_with_long_fractional_seconds.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_date_time_with_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_date_time_with_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_date_time_with_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_date_time_without_zone.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_midnight_with_24_hours.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_midnight_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_year_1_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_time_year_5_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_year_1_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Date_year_5_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Decimal_decimal.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Decimal_decimal_with_long_fractional.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Decimal_decimal_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Decimal_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Decimal_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Decimal_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Decimal_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Decimal_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Decimal_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Decimal_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Decimal_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Decimal_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Decimal_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Decimal_integer.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Decimal_integer_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Decimal_very_large_decimal.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_double.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_inf.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_integer.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_integer_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_loss_of_precision_is_not_detected_by_design.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_lowest.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_max.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_minus_inf.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_nan.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_scientific_notation.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_scientific_notation_negative.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_scientific_notation_negative_exponent.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_scientific_notation_positive.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_scientific_notation_positive_exponent.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_very_large_normal.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_very_precise_subnormal.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Double_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Duration_day_seconds.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Duration_full.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Duration_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Duration_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Duration_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Duration_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Duration_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Duration_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Duration_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Duration_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Duration_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Duration_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Duration_long_second_fractal.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Duration_many_many_seconds.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Duration_month_seconds.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Duration_only_seconds.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Duration_only_year.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_float.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_inf.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_integer.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_integer_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_largest_normal.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_largest_number_less_than_one.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_largest_subnormal.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_loss_of_precision_is_not_detected_by_design.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_nan.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_negative_inf.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_scientific_notation.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_scientific_notation_negative.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_scientific_notation_negative_exponent.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_scientific_notation_positive.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_scientific_notation_positive_exponent.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_smallest_number_larger_than_one.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_smallest_positive_normal.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_smallest_positive_subnormal.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Float_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_day_day_not_existing_in_all_months_without_zone.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_day_double_digit_day_without_zone.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_day_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_day_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_day_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_day_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_day_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_day_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_day_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_day_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_day_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_day_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_day_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_day_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_day_single_digit_day_without_zone.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_day_utc_zone.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_day_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_day_double_digit_month_double_digit_day_without_zone.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_day_double_digit_month_single_digit_day_without_zone.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_day_february_29th_which_does_not_exist_in_all_years.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_day_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_day_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_day_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_day_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_day_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_day_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_day_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_day_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_day_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_day_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_day_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_day_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_day_single_digit_month_single_digit_day_without_zone.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_day_utc_zone.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_day_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_double_digit_month_without_zone.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_single_digit_month_without_zone.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_utc_zone.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_month_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_five_digit_negative_year.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_five_digit_year.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_month_common_year_month.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_month_five_digit_negative_year.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_month_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_month_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_month_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_month_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_month_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_month_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_month_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_month_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_month_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_month_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_month_negative_year.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_month_very_large_negative_year.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_month_very_large_positive_year.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_month_with_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_month_with_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_month_with_utc_zone.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_month_with_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_negative_year.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_utc_zone.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_very_large_negative_year.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_very_large_positive_year.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_year_without_zone.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/G_year_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Hex_binary_empty.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Hex_binary_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Hex_binary_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Hex_binary_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Hex_binary_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Hex_binary_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Hex_binary_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Hex_binary_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Hex_binary_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Hex_binary_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Hex_binary_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Hex_binary_long_random_hex.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Hex_binary_one_one.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Hex_binary_one_two.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Hex_binary_one_two_three_four.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Int_common_example.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Int_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Int_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Int_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Int_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Int_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Int_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Int_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Int_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Int_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Int_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Int_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Int_max.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Int_min.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Int_negative.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Int_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Int_zero.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Int_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Integer_common_example.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Integer_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Integer_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Integer_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Integer_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Integer_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Integer_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Integer_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Integer_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Integer_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Integer_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Integer_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Integer_negative.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Integer_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Integer_very_large.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Integer_zero.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Integer_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Long_common_example.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Long_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Long_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Long_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Long_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Long_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Long_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Long_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Long_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Long_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Long_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Long_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Long_max.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Long_min.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Long_negative.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Long_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Long_zero.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Long_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Negative_integer_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Negative_integer_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Negative_integer_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Negative_integer_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Negative_integer_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Negative_integer_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Negative_integer_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Negative_integer_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Negative_integer_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Negative_integer_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Negative_integer_negative.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Negative_integer_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Negative_integer_very_large.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_negative_integer_common_example.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_negative_integer_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_negative_integer_explicitly_positive_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_negative_integer_minus_zero.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_negative_integer_positive_zero.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_negative_integer_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_negative_integer_very_large.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_negative_integer_zero.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_negative_integer_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_positive_integer_explicitly_positive_zero.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_positive_integer_negative.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_positive_integer_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_positive_integer_very_large.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Non_positive_integer_zero.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Positive_integer_common_example.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Positive_integer_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Positive_integer_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Positive_integer_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Positive_integer_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Positive_integer_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Positive_integer_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Positive_integer_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Positive_integer_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Positive_integer_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Positive_integer_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Positive_integer_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Positive_integer_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Positive_integer_very_large.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Short_common_example.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Short_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Short_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Short_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Short_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Short_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Short_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Short_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Short_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Short_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Short_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Short_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Short_max.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Short_min.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Short_negative.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Short_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Short_zero.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Short_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_empty.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_free_form_text.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Time_common_example.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Time_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Time_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Time_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Time_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Time_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Time_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Time_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Time_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Time_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Time_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Time_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Time_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Time_with_long_second_fractional.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Time_with_second_fractional.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Time_with_utc_timezone.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Time_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_byte_common_example.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_byte_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_byte_max.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_byte_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_byte_zero.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_byte_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_int_common_example.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_int_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_int_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_int_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_int_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_int_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_int_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_int_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_int_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_int_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_int_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_int_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_int_max.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_int_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_int_zero.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_int_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_long_common_example.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_long_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_long_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_long_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_long_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_long_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_long_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_long_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_long_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_long_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_long_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_long_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_long_max.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_long_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_long_zero.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_long_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_short_common_example.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_short_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_short_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_short_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_short_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_short_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_short_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_short_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_short_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_short_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_short_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_short_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_short_max.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_short_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_short_zero.json create mode 100644 dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/Unsigned_short_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/categoryOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/categoryOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/categoryOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/categoryOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/categoryOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/categoryOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/categoryOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/categoryOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/categoryOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/categoryOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/alternating_hyphen_underscore.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/ends_with_underscore.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/hyphen_then_underscore.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/many_internal_hyphens.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/many_underscores.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/minimal_digit.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/minimal_lower.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/minimal_underscore.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/minimal_upper.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/single_internal_hyphen.json create mode 100644 dev/test_data/Json/Expected/Range/idShortOverPatternExamples/underscore_after_first.json create mode 100644 dev/test_data/Json/Expected/Range/maximal.json create mode 100644 dev/test_data/Json/Expected/Range/minimal.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Any_URI_URI.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Any_URI_absolute_path_without_scheme.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Any_URI_empty.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Any_URI_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Any_URI_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Any_URI_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Any_URI_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Any_URI_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Any_URI_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Any_URI_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Any_URI_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Any_URI_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Any_URI_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Any_URI_integer.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Any_URI_relative_path_without_scheme.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Base_64_binary_an_empty_value_is_valid.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Base_64_binary_equals_signs_are_used_for_padding.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Base_64_binary_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Base_64_binary_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Base_64_binary_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Base_64_binary_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Base_64_binary_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Base_64_binary_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Base_64_binary_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Base_64_binary_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Base_64_binary_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Base_64_binary_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Base_64_binary_whitespace_is_allowed_anywhere_in_the_value.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Base_64_binary_without_space_lowercase.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Base_64_binary_without_space_uppercase.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Boolean_false_as_number.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Boolean_false_in_letters.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Boolean_true_as_number.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Boolean_true_in_letters.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Byte_common_example.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Byte_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Byte_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Byte_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Byte_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Byte_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Byte_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Byte_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Byte_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Byte_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Byte_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Byte_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Byte_max.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Byte_min.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Byte_negative.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Byte_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Byte_zero.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Byte_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_date.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_date_with_large_negative_year.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_date_with_large_positive_year.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_date_with_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_date_with_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_date_with_utc.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_date_with_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_date_time_with_UTC.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_date_time_with_large_negative_year.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_date_time_with_large_positive_year.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_date_time_with_long_fractional_seconds.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_date_time_with_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_date_time_with_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_date_time_with_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_date_time_without_zone.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_midnight_with_24_hours.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_midnight_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_year_1_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_time_year_5_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_year_1_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Date_year_5_bce_is_a_leap_year.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Decimal_decimal.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Decimal_decimal_with_long_fractional.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Decimal_decimal_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Decimal_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Decimal_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Decimal_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Decimal_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Decimal_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Decimal_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Decimal_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Decimal_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Decimal_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Decimal_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Decimal_integer.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Decimal_integer_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Decimal_very_large_decimal.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_double.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_inf.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_integer.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_integer_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_loss_of_precision_is_not_detected_by_design.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_lowest.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_max.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_minus_inf.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_nan.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_scientific_notation.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_scientific_notation_negative.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_scientific_notation_negative_exponent.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_scientific_notation_positive.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_scientific_notation_positive_exponent.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_very_large_normal.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_very_precise_subnormal.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Double_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Duration_day_seconds.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Duration_full.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Duration_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Duration_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Duration_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Duration_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Duration_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Duration_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Duration_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Duration_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Duration_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Duration_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Duration_long_second_fractal.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Duration_many_many_seconds.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Duration_month_seconds.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Duration_only_seconds.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Duration_only_year.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_float.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_inf.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_integer.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_integer_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_largest_normal.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_largest_number_less_than_one.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_largest_subnormal.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_loss_of_precision_is_not_detected_by_design.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_nan.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_negative_inf.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_scientific_notation.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_scientific_notation_negative.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_scientific_notation_negative_exponent.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_scientific_notation_positive.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_scientific_notation_positive_exponent.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_smallest_number_larger_than_one.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_smallest_positive_normal.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_smallest_positive_subnormal.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Float_with_preceding_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_day_day_not_existing_in_all_months_without_zone.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_day_double_digit_day_without_zone.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_day_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_day_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_day_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_day_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_day_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_day_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_day_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_day_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_day_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_day_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_day_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_day_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_day_single_digit_day_without_zone.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_day_utc_zone.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_day_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_day_double_digit_month_double_digit_day_without_zone.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_day_double_digit_month_single_digit_day_without_zone.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_day_february_29th_which_does_not_exist_in_all_years.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_day_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_day_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_day_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_day_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_day_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_day_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_day_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_day_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_day_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_day_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_day_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_day_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_day_single_digit_month_single_digit_day_without_zone.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_day_utc_zone.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_day_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_double_digit_month_without_zone.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_single_digit_month_without_zone.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_utc_zone.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_month_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_five_digit_negative_year.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_five_digit_year.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_month_common_year_month.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_month_five_digit_negative_year.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_month_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_month_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_month_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_month_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_month_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_month_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_month_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_month_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_month_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_month_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_month_negative_year.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_month_very_large_negative_year.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_month_very_large_positive_year.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_month_with_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_month_with_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_month_with_utc_zone.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_month_with_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_negative_year.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_utc_zone.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_very_large_negative_year.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_very_large_positive_year.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_year_without_zone.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/G_year_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Hex_binary_empty.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Hex_binary_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Hex_binary_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Hex_binary_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Hex_binary_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Hex_binary_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Hex_binary_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Hex_binary_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Hex_binary_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Hex_binary_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Hex_binary_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Hex_binary_long_random_hex.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Hex_binary_one_one.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Hex_binary_one_two.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Hex_binary_one_two_three_four.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Int_common_example.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Int_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Int_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Int_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Int_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Int_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Int_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Int_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Int_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Int_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Int_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Int_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Int_max.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Int_min.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Int_negative.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Int_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Int_zero.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Int_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Integer_common_example.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Integer_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Integer_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Integer_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Integer_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Integer_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Integer_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Integer_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Integer_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Integer_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Integer_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Integer_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Integer_negative.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Integer_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Integer_very_large.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Integer_zero.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Integer_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Long_common_example.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Long_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Long_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Long_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Long_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Long_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Long_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Long_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Long_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Long_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Long_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Long_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Long_max.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Long_min.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Long_negative.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Long_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Long_zero.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Long_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Negative_integer_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Negative_integer_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Negative_integer_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Negative_integer_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Negative_integer_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Negative_integer_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Negative_integer_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Negative_integer_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Negative_integer_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Negative_integer_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Negative_integer_negative.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Negative_integer_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Negative_integer_very_large.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_negative_integer_common_example.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_negative_integer_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_negative_integer_explicitly_positive_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_negative_integer_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_negative_integer_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_negative_integer_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_negative_integer_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_negative_integer_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_negative_integer_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_negative_integer_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_negative_integer_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_negative_integer_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_negative_integer_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_negative_integer_minus_zero.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_negative_integer_positive_zero.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_negative_integer_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_negative_integer_very_large.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_negative_integer_zero.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_negative_integer_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_positive_integer_explicitly_positive_zero.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_positive_integer_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_positive_integer_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_positive_integer_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_positive_integer_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_positive_integer_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_positive_integer_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_positive_integer_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_positive_integer_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_positive_integer_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_positive_integer_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_positive_integer_negative.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_positive_integer_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_positive_integer_very_large.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Non_positive_integer_zero.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Positive_integer_common_example.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Positive_integer_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Positive_integer_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Positive_integer_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Positive_integer_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Positive_integer_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Positive_integer_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Positive_integer_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Positive_integer_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Positive_integer_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Positive_integer_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Positive_integer_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Positive_integer_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Positive_integer_very_large.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Short_common_example.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Short_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Short_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Short_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Short_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Short_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Short_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Short_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Short_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Short_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Short_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Short_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Short_max.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Short_min.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Short_negative.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Short_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Short_zero.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Short_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/String_empty.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/String_free_form_text.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Time_common_example.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Time_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Time_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Time_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Time_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Time_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Time_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Time_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Time_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Time_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Time_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Time_negative_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Time_positive_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Time_with_long_second_fractional.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Time_with_second_fractional.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Time_with_utc_timezone.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Time_zero_offset.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_byte_common_example.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_byte_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_byte_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_byte_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_byte_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_byte_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_byte_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_byte_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_byte_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_byte_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_byte_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_byte_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_byte_max.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_byte_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_byte_zero.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_byte_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_int_common_example.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_int_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_int_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_int_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_int_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_int_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_int_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_int_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_int_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_int_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_int_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_int_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_int_max.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_int_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_int_zero.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_int_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_long_common_example.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_long_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_long_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_long_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_long_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_long_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_long_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_long_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_long_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_long_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_long_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_long_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_long_max.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_long_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_long_zero.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_long_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_short_common_example.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_short_explicitly_positive.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_short_fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_short_fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_short_fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_short_fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_short_fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_short_fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_short_fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_short_fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_short_fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_short_fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_short_max.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_short_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_short_zero.json create mode 100644 dev/test_data/Json/Expected/Range/overMinMaxExamples/Unsigned_short_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Expected/Reference/external_reference_first_key_in_generic_globally_identifiables.json create mode 100644 dev/test_data/Json/Expected/Reference/external_reference_last_key_in_generic_fragment_keys.json create mode 100644 dev/test_data/Json/Expected/Reference/external_reference_last_key_in_generic_globally_identifiable.json create mode 100644 dev/test_data/Json/Expected/Reference/maximal.json create mode 100644 dev/test_data/Json/Expected/Reference/minimal.json create mode 100644 dev/test_data/Json/Expected/Reference/model_reference_first_key_in_globally_and_aas_identifiables.json create mode 100644 dev/test_data/Json/Expected/Reference/model_reference_fragment_after_blob.json create mode 100644 dev/test_data/Json/Expected/Reference/model_reference_valid_key_value_after_list.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/categoryOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/categoryOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/categoryOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/categoryOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/categoryOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/categoryOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/categoryOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/categoryOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/categoryOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/categoryOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/alternating_hyphen_underscore.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/ends_with_underscore.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/hyphen_then_underscore.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/many_internal_hyphens.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/many_underscores.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/minimal_digit.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/minimal_lower.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/minimal_underscore.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/minimal_upper.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/single_internal_hyphen.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/idShortOverPatternExamples/underscore_after_first.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/maximal.json create mode 100644 dev/test_data/Json/Expected/ReferenceElement/minimal.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/categoryOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/categoryOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/categoryOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/categoryOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/categoryOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/categoryOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/categoryOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/categoryOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/categoryOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/categoryOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/alternating_hyphen_underscore.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/ends_with_underscore.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/hyphen_then_underscore.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/many_internal_hyphens.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/many_underscores.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/minimal_digit.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/minimal_lower.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/minimal_underscore.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/minimal_upper.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/single_internal_hyphen.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/idShortOverPatternExamples/underscore_after_first.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/maximal.json create mode 100644 dev/test_data/Json/Expected/RelationshipElement/minimal.json create mode 100644 dev/test_data/Json/Expected/Resource/contentTypeOverPatternExamples/dash.json create mode 100644 dev/test_data/Json/Expected/Resource/contentTypeOverPatternExamples/dots.json create mode 100644 dev/test_data/Json/Expected/Resource/contentTypeOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Resource/contentTypeOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Resource/contentTypeOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Resource/contentTypeOverPatternExamples/number prefix and suffix.json create mode 100644 dev/test_data/Json/Expected/Resource/contentTypeOverPatternExamples/only_letters.json create mode 100644 dev/test_data/Json/Expected/Resource/contentTypeOverPatternExamples/plus.json create mode 100644 dev/test_data/Json/Expected/Resource/contentTypeOverPatternExamples/random_common_MIME_type.json create mode 100644 dev/test_data/Json/Expected/Resource/maximal.json create mode 100644 dev/test_data/Json/Expected/Resource/minimal.json create mode 100644 dev/test_data/Json/Expected/Resource/pathOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Resource/pathOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Resource/pathOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Resource/pathOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Resource/pathOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Resource/pathOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Resource/pathOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Resource/pathOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Resource/pathOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Resource/pathOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Resource/pathOverPatternExamples/made_up_01.json create mode 100644 dev/test_data/Json/Expected/Resource/pathOverPatternExamples/made_up_02.json create mode 100644 dev/test_data/Json/Expected/Resource/pathOverPatternExamples/made_up_03.json create mode 100644 dev/test_data/Json/Expected/Resource/pathOverPatternExamples/made_up_04.json create mode 100644 dev/test_data/Json/Expected/Resource/pathOverPatternExamples/made_up_05.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/maximal.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/minimal.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/nameOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/nameOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/nameOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/nameOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/nameOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/nameOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/nameOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/nameOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/nameOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/nameOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/valueOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/valueOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/valueOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/valueOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/valueOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/valueOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/valueOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/valueOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/valueOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/SpecificAssetId/valueOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Submodel/categoryOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Submodel/categoryOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Submodel/categoryOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Submodel/categoryOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Submodel/categoryOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Submodel/categoryOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Submodel/categoryOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Submodel/categoryOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Submodel/categoryOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Submodel/categoryOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Submodel/idOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Submodel/idOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Submodel/idOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Submodel/idOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Submodel/idOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Submodel/idOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Submodel/idOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Submodel/idOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Submodel/idOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Submodel/idOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/alternating_hyphen_underscore.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/ends_with_underscore.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/hyphen_then_underscore.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/many_internal_hyphens.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/many_underscores.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/minimal_digit.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/minimal_lower.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/minimal_underscore.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/minimal_upper.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/single_internal_hyphen.json create mode 100644 dev/test_data/Json/Expected/Submodel/idShortOverPatternExamples/underscore_after_first.json create mode 100644 dev/test_data/Json/Expected/Submodel/maximal.json create mode 100644 dev/test_data/Json/Expected/Submodel/minimal.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/categoryOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/categoryOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/categoryOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/categoryOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/categoryOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/categoryOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/categoryOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/categoryOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/categoryOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/categoryOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/alternating_hyphen_underscore.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/ends_with_underscore.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/hyphen_then_underscore.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/many_internal_hyphens.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/many_underscores.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/minimal_digit.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/minimal_lower.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/minimal_underscore.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/minimal_upper.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/single_internal_hyphen.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/idShortOverPatternExamples/underscore_after_first.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/maximal.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementCollection/minimal.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/categoryOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/categoryOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/categoryOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/categoryOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/categoryOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/categoryOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/categoryOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/categoryOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/categoryOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/categoryOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/alternating_hyphen_underscore.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/ends_with_underscore.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/hyphen_then_underscore.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/many_internal_hyphens.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/many_underscores.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/minimal_digit.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/minimal_lower.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/minimal_underscore.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/minimal_upper.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/single_internal_hyphen.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/idShortOverPatternExamples/underscore_after_first.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/list_id_short_in_value.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/list_no_semantic_id_list_element.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/list_one_child_without_semantic_id.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/list_two_properties.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/maximal.json create mode 100644 dev/test_data/Json/Expected/SubmodelElementList/minimal.json create mode 100644 dev/test_data/Json/Expected/ValueList/maximal.json create mode 100644 dev/test_data/Json/Expected/ValueList/minimal.json create mode 100644 dev/test_data/Json/Expected/ValueReferencePair/maximal.json create mode 100644 dev/test_data/Json/Expected/ValueReferencePair/minimal.json create mode 100644 dev/test_data/Json/Expected/ValueReferencePair/valueOverPatternExamples/fuzzed_01.json create mode 100644 dev/test_data/Json/Expected/ValueReferencePair/valueOverPatternExamples/fuzzed_02.json create mode 100644 dev/test_data/Json/Expected/ValueReferencePair/valueOverPatternExamples/fuzzed_03.json create mode 100644 dev/test_data/Json/Expected/ValueReferencePair/valueOverPatternExamples/fuzzed_04.json create mode 100644 dev/test_data/Json/Expected/ValueReferencePair/valueOverPatternExamples/fuzzed_05.json create mode 100644 dev/test_data/Json/Expected/ValueReferencePair/valueOverPatternExamples/fuzzed_06.json create mode 100644 dev/test_data/Json/Expected/ValueReferencePair/valueOverPatternExamples/fuzzed_07.json create mode 100644 dev/test_data/Json/Expected/ValueReferencePair/valueOverPatternExamples/fuzzed_08.json create mode 100644 dev/test_data/Json/Expected/ValueReferencePair/valueOverPatternExamples/fuzzed_09.json create mode 100644 dev/test_data/Json/Expected/ValueReferencePair/valueOverPatternExamples/fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/ConstraintViolation/Reference/external_reference_violation_first_key_not_in_globally_identifiables.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/ConstraintViolation/Reference/external_reference_violation_invalid_last_key.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/ConstraintViolation/Reference/model_reference_violation_first_key_not_in_aas_identifiables.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/ConstraintViolation/Reference/model_reference_violation_first_key_not_in_globally_identifiables.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/ConstraintViolation/Reference/model_reference_violation_fragment_reference_in_the_middle.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/ConstraintViolation/Reference/model_reference_violation_fragment_reference_not_after_file_or_blob.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/ConstraintViolation/Reference/model_reference_violation_invalid_key_value_after_list.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/ConstraintViolation/Reference/model_reference_violation_second_key_not_in_fragment_keys.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/ConstraintViolation/SubmodelElementList/list_violation_of_semantic_id_list_element.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/ConstraintViolation/SubmodelElementList/list_violation_of_type_value_list_element.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/ConstraintViolation/SubmodelElementList/list_violation_of_value_type_list_element.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/ConstraintViolation/SubmodelElementList/list_violation_semantic_id_mismatch_between_elements.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/AdministrativeInformation/createdAt.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/AdministrativeInformation/updatedAt.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/BasicEventElement/lastUpdate.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/EventPayload/timeStamp.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_too_many_fragments.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_an_odd_number_of_characters_is_not_valid.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_equals_signs_may_only_appear_at_the_end.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_false_as_number_with_leading_zeros.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_false_in_camelcase.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_false_in_uppercase.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_true_as_number_with_leading_zeros.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_true_in_camelcase.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_true_in_uppercase.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Byte_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Byte_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Byte_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Byte_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Byte_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Byte_min_minus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Byte_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_date_time_with_UTC.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_date_time_with_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_date_time_without_zone.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_date_with_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_date_with_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_date_with_seconds_in_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_non_existing_february_29th.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_date.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_date_time_with_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_date_time_with_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_date_time_with_seconds_in_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_date_time_with_unexpected_prefix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_date_time_with_unexpected_suffix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_date_with_time_zone.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_non_existing_february_29th.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_without_minutes.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_without_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_year_4_bce_february_29th.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_year_zero_doesnt_exist.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_year_4_bce_february_29th.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_year_zero_doesnt_exist.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Decimal_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Decimal_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Double_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Double_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Double_inf_case_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Double_nan_case_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Double_no_fraction_in_scientific_notation.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Double_plus_inf.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Double_too_large.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Duration_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Duration_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Duration_integer.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Duration_leading_P_missing.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Duration_negative_years.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Duration_positive_year_negative_months.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Duration_separator_T_missing.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Duration_the_order_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Float_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Float_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Float_inf_case_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Float_nan_case_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Float_no_fraction_in_scientific_notation.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Float_plus_inf.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Float_too_large.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_day_day_outside_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_day_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_day_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_day_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_day_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_day_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_day_missing_leading_dashes.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_day_missing_leading_digit.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_day_unexpected_suffix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_day_day_outside_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_day_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_day_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_day_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_day_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_day_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_day_missing_leading_dashes.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_day_missing_leading_digit.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_day_non_existing_april_31st.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_day_unexpected_prefix_and_suffix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_missing_leading_dashes.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_missing_leading_digit.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_month_outside_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_unexpected_prefix_and_suffix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_missing_century.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_month_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_month_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_month_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_month_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_month_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_month_missing_century.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_month_missing_month.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_month_month_out_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_unexpected_month.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Hex_binary_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Hex_binary_odd_number_of_digits.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Hex_binary_single_digit.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Int_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Int_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Int_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Int_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Int_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Int_min_minus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Int_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Integer_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Integer_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Integer_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Integer_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Integer_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Long_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Long_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Long_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Long_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Long_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Long_min_minus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Long_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Negative_integer_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Negative_integer_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Negative_integer_explicitly_positive.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Negative_integer_explicitly_positive_zero.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Negative_integer_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Negative_integer_implicitly_positive.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Negative_integer_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Negative_integer_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Negative_integer_zero.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Negative_integer_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_negative_integer_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_negative_integer_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_negative_integer_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_negative_integer_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_positive_integer_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_positive_integer_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_positive_integer_explicitly_positive.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_positive_integer_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_positive_integer_implicitly_positive.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_positive_integer_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_positive_integer_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Positive_integer_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Positive_integer_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Positive_integer_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Positive_integer_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Positive_integer_zero.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Positive_integer_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Short_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Short_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Short_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Short_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Short_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Short_min_minus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Short_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_NUL_as_utf16.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_NUL_as_utf32.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_NUL_as_x.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_hour_out_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_minute_out_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_missing_padded_zeros.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_missing_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_second_out_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_too_many_fragments.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_false_as_number_with_leading_zeros.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_false_in_camelcase.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_false_in_uppercase.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_true_as_number_with_leading_zeros.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_true_in_camelcase.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_true_in_uppercase.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Byte_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Byte_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Byte_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Byte_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Byte_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Byte_min_minus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Byte_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_date_time_with_UTC.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_date_time_with_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_date_time_without_zone.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_date_with_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_date_with_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_date_with_seconds_in_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_non_existing_february_29th.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_date.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_date_time_with_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_date_time_with_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_date_time_with_seconds_in_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_date_time_with_unexpected_prefix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_date_time_with_unexpected_suffix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_date_with_time_zone.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_non_existing_february_29th.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_without_minutes.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_without_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_year_4_bce_february_29th.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_year_zero_doesnt_exist.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_year_4_bce_february_29th.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_year_zero_doesnt_exist.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Decimal_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Decimal_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Double_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Double_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Double_inf_case_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Double_nan_case_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Double_no_fraction_in_scientific_notation.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Double_plus_inf.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Double_too_large.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Duration_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Duration_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Duration_integer.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Duration_leading_P_missing.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Duration_negative_years.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Duration_positive_year_negative_months.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Duration_separator_T_missing.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Duration_the_order_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Float_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Float_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Float_inf_case_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Float_nan_case_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Float_no_fraction_in_scientific_notation.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Float_plus_inf.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Float_too_large.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_day_day_outside_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_day_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_day_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_day_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_day_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_day_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_day_missing_leading_dashes.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_day_missing_leading_digit.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_day_unexpected_suffix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_day_day_outside_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_day_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_day_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_day_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_day_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_day_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_day_missing_leading_dashes.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_day_missing_leading_digit.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_day_non_existing_april_31st.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_day_unexpected_prefix_and_suffix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_missing_leading_dashes.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_missing_leading_digit.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_month_outside_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_unexpected_prefix_and_suffix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_missing_century.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_month_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_month_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_month_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_month_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_month_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_month_missing_century.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_month_missing_month.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_month_month_out_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_unexpected_month.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Hex_binary_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Hex_binary_odd_number_of_digits.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Hex_binary_single_digit.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Int_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Int_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Int_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Int_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Int_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Int_min_minus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Int_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Integer_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Integer_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Integer_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Integer_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Integer_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Long_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Long_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Long_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Long_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Long_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Long_min_minus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Long_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Negative_integer_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Negative_integer_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Negative_integer_explicitly_positive.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Negative_integer_explicitly_positive_zero.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Negative_integer_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Negative_integer_implicitly_positive.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Negative_integer_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Negative_integer_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Negative_integer_zero.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Negative_integer_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_negative_integer_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_negative_integer_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_negative_integer_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_negative_integer_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_positive_integer_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_positive_integer_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_positive_integer_explicitly_positive.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_positive_integer_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_positive_integer_implicitly_positive.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_positive_integer_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_positive_integer_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Positive_integer_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Positive_integer_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Positive_integer_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Positive_integer_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Positive_integer_zero.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Positive_integer_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Short_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Short_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Short_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Short_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Short_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Short_min_minus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Short_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_NUL_as_utf16.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_NUL_as_utf32.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_NUL_as_x.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_hour_out_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_minute_out_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_missing_padded_zeros.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_missing_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_second_out_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_byte_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_byte_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_byte_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_byte_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_byte_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_byte_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_byte_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_int_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_int_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_int_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_int_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_int_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_int_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_int_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_long_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_long_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_long_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_long_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_long_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_long_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_long_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_short_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_short_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_short_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_short_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_short_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_short_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_short_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_too_many_fragments.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_false_as_number_with_leading_zeros.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_false_in_camelcase.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_false_in_uppercase.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_true_as_number_with_leading_zeros.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_true_in_camelcase.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_true_in_uppercase.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Byte_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Byte_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Byte_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Byte_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Byte_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Byte_min_minus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Byte_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_date_time_with_UTC.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_date_time_with_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_date_time_without_zone.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_date_with_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_date_with_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_date_with_seconds_in_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_non_existing_february_29th.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_date.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_date_time_with_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_date_time_with_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_date_time_with_seconds_in_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_date_time_with_unexpected_prefix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_date_time_with_unexpected_suffix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_date_with_time_zone.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_non_existing_february_29th.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_without_minutes.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_without_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_year_4_bce_february_29th.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_year_zero_doesnt_exist.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_year_4_bce_february_29th.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_year_zero_doesnt_exist.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Decimal_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Decimal_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Double_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Double_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Double_inf_case_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Double_nan_case_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Double_no_fraction_in_scientific_notation.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Double_plus_inf.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Double_too_large.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Duration_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Duration_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Duration_integer.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Duration_leading_P_missing.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Duration_negative_years.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Duration_positive_year_negative_months.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Duration_separator_T_missing.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Duration_the_order_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Float_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Float_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Float_inf_case_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Float_nan_case_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Float_no_fraction_in_scientific_notation.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Float_plus_inf.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Float_too_large.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_day_day_outside_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_day_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_day_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_day_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_day_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_day_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_day_missing_leading_dashes.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_day_missing_leading_digit.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_day_unexpected_suffix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_day_day_outside_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_day_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_day_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_day_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_day_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_day_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_day_missing_leading_dashes.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_day_missing_leading_digit.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_day_non_existing_april_31st.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_day_unexpected_prefix_and_suffix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_missing_leading_dashes.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_missing_leading_digit.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_month_outside_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_unexpected_prefix_and_suffix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_missing_century.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_month_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_month_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_month_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_month_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_month_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_month_missing_century.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_month_missing_month.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_month_month_out_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_unexpected_month.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Hex_binary_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Hex_binary_odd_number_of_digits.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Hex_binary_single_digit.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Int_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Int_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Int_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Int_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Int_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Int_min_minus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Int_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Integer_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Integer_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Integer_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Integer_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Integer_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Long_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Long_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Long_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Long_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Long_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Long_min_minus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Long_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Negative_integer_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Negative_integer_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Negative_integer_explicitly_positive.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Negative_integer_explicitly_positive_zero.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Negative_integer_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Negative_integer_implicitly_positive.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Negative_integer_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Negative_integer_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Negative_integer_zero.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Negative_integer_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_negative_integer_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_negative_integer_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_negative_integer_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_negative_integer_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_positive_integer_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_positive_integer_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_positive_integer_explicitly_positive.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_positive_integer_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_positive_integer_implicitly_positive.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_positive_integer_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_positive_integer_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Positive_integer_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Positive_integer_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Positive_integer_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Positive_integer_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Positive_integer_zero.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Positive_integer_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Short_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Short_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Short_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Short_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Short_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Short_min_minus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Short_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_NUL_as_utf16.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_NUL_as_utf32.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_NUL_as_x.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_hour_out_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_minute_out_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_missing_padded_zeros.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_missing_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_second_out_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_too_many_fragments.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_false_as_number_with_leading_zeros.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_false_in_camelcase.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_false_in_uppercase.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_true_as_number_with_leading_zeros.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_true_in_camelcase.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_true_in_uppercase.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_min_minus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_time_with_UTC.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_time_with_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_time_without_zone.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_with_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_with_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_with_seconds_in_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_non_existing_february_29th.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_seconds_in_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_unexpected_prefix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_unexpected_suffix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_with_time_zone.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_non_existing_february_29th.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_without_minutes.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_without_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_year_4_bce_february_29th.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_year_zero_doesnt_exist.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_year_4_bce_february_29th.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_year_zero_doesnt_exist.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Decimal_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Decimal_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_inf_case_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_nan_case_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_no_fraction_in_scientific_notation.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_plus_inf.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_too_large.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_integer.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_leading_P_missing.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_negative_years.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_positive_year_negative_months.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_separator_T_missing.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_the_order_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_inf_case_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_nan_case_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_no_fraction_in_scientific_notation.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_plus_inf.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_too_large.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_day_outside_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_missing_leading_dashes.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_missing_leading_digit.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_unexpected_suffix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_day_outside_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_missing_leading_dashes.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_missing_leading_digit.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_non_existing_april_31st.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_unexpected_prefix_and_suffix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_missing_leading_dashes.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_missing_leading_digit.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_month_outside_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_unexpected_prefix_and_suffix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_missing_century.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_missing_century.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_missing_month.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_month_out_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_unexpected_month.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Hex_binary_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Hex_binary_odd_number_of_digits.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Hex_binary_single_digit.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_min_minus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_min_minus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_explicitly_positive.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_explicitly_positive_zero.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_implicitly_positive.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_zero.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_negative_integer_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_negative_integer_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_negative_integer_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_negative_integer_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_explicitly_positive.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_implicitly_positive.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_zero.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_zero_prefixed_with_zeros.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_min_minus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_NUL_as_utf16.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_NUL_as_utf32.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_NUL_as_x.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_hour_out_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_invalid_negative_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_invalid_offset_with_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_invalid_positive_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_minute_out_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_missing_padded_zeros.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_missing_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_second_out_of_range.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_decimal.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_mathematical_formula.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_max_plus_one.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_scientific.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/AdministrativeInformation/revision.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/AdministrativeInformation/templateId.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/AdministrativeInformation/version.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/AnnotatedRelationshipElement/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/AnnotatedRelationshipElement/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/AssetAdministrationShell/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/AssetAdministrationShell/id.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/AssetAdministrationShell/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/AssetInformation/assetType.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/AssetInformation/globalAssetId.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/BasicEventElement/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/BasicEventElement/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/BasicEventElement/messageTopic.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Blob/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Blob/contentType.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Blob/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Capability/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Capability/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/ConceptDescription/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/ConceptDescription/id.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/ConceptDescription/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/DataSpecificationIec61360/value.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Entity/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Entity/globalAssetId.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Entity/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/EventPayload/topic.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Extension/name.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/File/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/File/contentType.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/File/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/File/value.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Key/value.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/LangStringDefinitionTypeIec61360/text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/LangStringNameType/text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/LangStringPreferredNameTypeIec61360/text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/LangStringShortNameTypeIec61360/text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/LangStringTextType/text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/MultiLanguageProperty/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/MultiLanguageProperty/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Operation/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Operation/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Property/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Property/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Qualifier/type.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Range/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Range/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/ReferenceElement/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/ReferenceElement/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/RelationshipElement/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/RelationshipElement/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Resource/contentType.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Resource/path.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/SpecificAssetId/name.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/SpecificAssetId/value.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Submodel/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Submodel/id.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/Submodel/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/SubmodelElementCollection/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/SubmodelElementCollection/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/SubmodelElementList/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/SubmodelElementList/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/ValueReferencePair/value.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AdministrativeInformation/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AdministrativeInformation/revision.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AdministrativeInformation/templateId.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AdministrativeInformation/version.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AnnotatedRelationshipElement/annotations.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AnnotatedRelationshipElement/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AnnotatedRelationshipElement/description.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AnnotatedRelationshipElement/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AnnotatedRelationshipElement/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AnnotatedRelationshipElement/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AnnotatedRelationshipElement/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AnnotatedRelationshipElement/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AnnotatedRelationshipElement/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AssetAdministrationShell/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AssetAdministrationShell/description.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AssetAdministrationShell/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AssetAdministrationShell/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AssetAdministrationShell/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AssetAdministrationShell/id.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AssetAdministrationShell/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AssetAdministrationShell/submodels.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AssetInformation/assetType.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AssetInformation/globalAssetId.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/AssetInformation/specificAssetIds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/BasicEventElement/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/BasicEventElement/description.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/BasicEventElement/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/BasicEventElement/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/BasicEventElement/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/BasicEventElement/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/BasicEventElement/messageTopic.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/BasicEventElement/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/BasicEventElement/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Blob/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Blob/contentType.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Blob/description.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Blob/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Blob/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Blob/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Blob/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Blob/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Blob/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Capability/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Capability/description.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Capability/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Capability/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Capability/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Capability/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Capability/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Capability/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/ConceptDescription/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/ConceptDescription/description.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/ConceptDescription/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/ConceptDescription/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/ConceptDescription/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/ConceptDescription/id.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/ConceptDescription/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/ConceptDescription/isCaseOf.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/DataSpecificationIec61360/definition.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/DataSpecificationIec61360/preferredName.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/DataSpecificationIec61360/shortName.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/DataSpecificationIec61360/sourceOfDefinition.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/DataSpecificationIec61360/symbol.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/DataSpecificationIec61360/unit.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/DataSpecificationIec61360/value.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/DataSpecificationIec61360/valueFormat.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Entity/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Entity/description.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Entity/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Entity/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Entity/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Entity/globalAssetId.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Entity/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Entity/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Entity/specificAssetIds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Entity/statements.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Entity/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Environment/assetAdministrationShells.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Environment/conceptDescriptions.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Environment/submodels.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/EventPayload/topic.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Extension/name.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Extension/refersTo.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Extension/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/File/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/File/contentType.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/File/description.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/File/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/File/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/File/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/File/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/File/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/File/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/File/value.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Key/value.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/LangStringDefinitionTypeIec61360/text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/LangStringNameType/text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/LangStringPreferredNameTypeIec61360/text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/LangStringShortNameTypeIec61360/text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/LangStringTextType/text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/MultiLanguageProperty/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/MultiLanguageProperty/description.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/MultiLanguageProperty/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/MultiLanguageProperty/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/MultiLanguageProperty/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/MultiLanguageProperty/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/MultiLanguageProperty/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/MultiLanguageProperty/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/MultiLanguageProperty/value.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Operation/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Operation/description.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Operation/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Operation/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Operation/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Operation/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Operation/inoutputVariables.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Operation/inputVariables.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Operation/outputVariables.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Operation/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Operation/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Property/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Property/description.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Property/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Property/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Property/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Property/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Property/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Property/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Qualifier/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Qualifier/type.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Range/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Range/description.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Range/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Range/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Range/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Range/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Range/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Range/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Reference/keys.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/ReferenceElement/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/ReferenceElement/description.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/ReferenceElement/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/ReferenceElement/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/ReferenceElement/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/ReferenceElement/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/ReferenceElement/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/ReferenceElement/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/RelationshipElement/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/RelationshipElement/description.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/RelationshipElement/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/RelationshipElement/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/RelationshipElement/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/RelationshipElement/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/RelationshipElement/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/RelationshipElement/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Resource/contentType.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Resource/path.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SpecificAssetId/name.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SpecificAssetId/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SpecificAssetId/value.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Submodel/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Submodel/description.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Submodel/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Submodel/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Submodel/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Submodel/id.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Submodel/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Submodel/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Submodel/submodelElements.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/Submodel/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementCollection/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementCollection/description.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementCollection/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementCollection/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementCollection/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementCollection/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementCollection/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementCollection/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementCollection/value.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementList/category.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementList/description.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementList/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementList/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementList/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementList/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementList/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementList/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementList/value.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/ValueList/valueReferencePairs.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/MinLengthViolation/ValueReferencePair/value.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/date_time_with_UTC_and_suffix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/date_time_with_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/date_time_without_zone.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/invalid_february_29th.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/only_date.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/only_date_with_time_zone.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/without_minutes.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/without_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/revision/dot.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/revision/letter.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/revision/negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/date_time_with_UTC_and_suffix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/date_time_with_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/date_time_without_zone.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/invalid_february_29th.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/only_date.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/only_date_with_time_zone.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/without_minutes.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/without_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/version/dot.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/version/letter.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/version/negative.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/date_time_with_UTC_and_suffix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/date_time_with_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/date_time_without_zone.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/invalid_february_29th.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/only_date.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/only_date_with_time_zone.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/without_minutes.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/without_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/integer.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/leading_P_missing.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/negative_years.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/positive_year_negative_months.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/separator_T_missing.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/the_order_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/integer.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/leading_P_missing.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/negative_years.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/positive_year_negative_months.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/separator_T_missing.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/the_order_matters.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/number.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/date_time_with_UTC_and_suffix.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/date_time_with_offset.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/date_time_without_zone.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/invalid_february_29th.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/only_date.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/only_date_with_time_zone.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/without_minutes.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/without_seconds.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/number.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_made_up_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_made_up_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/free_form_text.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/empty.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/number.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_made_up_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_made_up_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/category/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/category/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/category/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/category/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/category/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/category/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/category/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/category/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/category/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/category/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/id/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/id/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/id/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/id/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/id/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/id/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/id/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/id/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/id/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/id/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/idShort/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/idShort/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/idShort/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/idShort/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/idShort/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/idShort/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/idShort/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/idShort/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/idShort/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/Submodel/idShort/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/category/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/category/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/category/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/category/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/category/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/category/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/category/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/category/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/category/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/category/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/idShort/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/idShort/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/idShort/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/idShort/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/idShort/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/idShort/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/idShort/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/idShort/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/idShort/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/idShort/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/category/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/category/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/category/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/category/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/category/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/category/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/category/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/category/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/category/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/category/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/idShort/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/idShort/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/idShort/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/idShort/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/idShort/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/idShort/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/idShort/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/idShort/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/idShort/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/idShort/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ValueReferencePair/value/negatively_fuzzed_01.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ValueReferencePair/value/negatively_fuzzed_02.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ValueReferencePair/value/negatively_fuzzed_03.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ValueReferencePair/value/negatively_fuzzed_04.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ValueReferencePair/value/negatively_fuzzed_05.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ValueReferencePair/value/negatively_fuzzed_06.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ValueReferencePair/value/negatively_fuzzed_07.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ValueReferencePair/value/negatively_fuzzed_08.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ValueReferencePair/value/negatively_fuzzed_09.json create mode 100644 dev/test_data/Json/Unexpected/Invalid/PatternViolation/ValueReferencePair/value/negatively_fuzzed_10.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/InvalidModelType/AnnotatedRelationshipElement/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/InvalidModelType/AssetAdministrationShell/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/InvalidModelType/BasicEventElement/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/InvalidModelType/Blob/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/InvalidModelType/Capability/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/InvalidModelType/ConceptDescription/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/InvalidModelType/DataSpecificationIec61360/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/InvalidModelType/Entity/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/InvalidModelType/File/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/InvalidModelType/MultiLanguageProperty/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/InvalidModelType/Operation/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/InvalidModelType/Property/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/InvalidModelType/Range/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/InvalidModelType/ReferenceElement/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/InvalidModelType/RelationshipElement/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/InvalidModelType/Submodel/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/InvalidModelType/SubmodelElementCollection/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/InvalidModelType/SubmodelElementList/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/MissingModelType/AnnotatedRelationshipElement/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/MissingModelType/AssetAdministrationShell/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/MissingModelType/BasicEventElement/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/MissingModelType/Blob/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/MissingModelType/Capability/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/MissingModelType/ConceptDescription/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/MissingModelType/DataSpecificationIec61360/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/MissingModelType/Entity/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/MissingModelType/File/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/MissingModelType/MultiLanguageProperty/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/MissingModelType/Operation/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/MissingModelType/Property/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/MissingModelType/Range/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/MissingModelType/ReferenceElement/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/MissingModelType/RelationshipElement/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/MissingModelType/Submodel/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/MissingModelType/SubmodelElementCollection/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/MissingModelType/SubmodelElementList/wrong.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/AssetAdministrationShell/assetInformation.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/AssetAdministrationShell/id.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/AssetInformation/assetKind.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/BasicEventElement/direction.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/BasicEventElement/observed.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/BasicEventElement/state.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/ConceptDescription/id.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/DataSpecificationIec61360/preferredName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/EmbeddedDataSpecification/dataSpecification.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/EmbeddedDataSpecification/dataSpecificationContent.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/EventPayload/observableReference.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/EventPayload/source.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/EventPayload/timeStamp.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/Extension/name.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/Key/type.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/Key/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/LangStringDefinitionTypeIec61360/language.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/LangStringDefinitionTypeIec61360/text.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/LangStringNameType/language.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/LangStringNameType/text.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/LangStringPreferredNameTypeIec61360/language.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/LangStringPreferredNameTypeIec61360/text.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/LangStringShortNameTypeIec61360/language.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/LangStringShortNameTypeIec61360/text.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/LangStringTextType/language.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/LangStringTextType/text.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/LevelType/max.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/LevelType/min.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/LevelType/nom.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/LevelType/typ.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/OperationVariable/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/Property/valueType.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/Qualifier/type.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/Qualifier/valueType.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/Range/valueType.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/Reference/keys.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/Reference/type.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/Resource/path.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/SpecificAssetId/name.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/SpecificAssetId/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/Submodel/id.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/SubmodelElementList/typeValueListElement.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/ValueList/valueReferencePairs.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/NullViolation/ValueReferencePair/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/AssetAdministrationShell/assetInformation.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/AssetAdministrationShell/id.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/AssetInformation/assetKind.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/BasicEventElement/direction.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/BasicEventElement/observed.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/BasicEventElement/state.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/ConceptDescription/id.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/DataSpecificationIec61360/preferredName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/EmbeddedDataSpecification/dataSpecification.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/EmbeddedDataSpecification/dataSpecificationContent.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/EventPayload/observableReference.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/EventPayload/source.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/EventPayload/timeStamp.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/Extension/name.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/Key/type.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/Key/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/LangStringDefinitionTypeIec61360/language.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/LangStringDefinitionTypeIec61360/text.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/LangStringNameType/language.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/LangStringNameType/text.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/LangStringPreferredNameTypeIec61360/language.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/LangStringPreferredNameTypeIec61360/text.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/LangStringShortNameTypeIec61360/language.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/LangStringShortNameTypeIec61360/text.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/LangStringTextType/language.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/LangStringTextType/text.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/LevelType/max.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/LevelType/min.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/LevelType/nom.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/LevelType/typ.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/OperationVariable/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/Property/valueType.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/Qualifier/type.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/Qualifier/valueType.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/Range/valueType.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/Reference/keys.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/Reference/type.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/Resource/path.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/SpecificAssetId/name.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/SpecificAssetId/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/Submodel/id.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/SubmodelElementList/typeValueListElement.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/ValueList/valueReferencePairs.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/RequiredViolation/ValueReferencePair/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AdministrativeInformation/createdAt.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AdministrativeInformation/creator.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AdministrativeInformation/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AdministrativeInformation/revision.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AdministrativeInformation/templateId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AdministrativeInformation/updatedAt.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AdministrativeInformation/version.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AnnotatedRelationshipElement/annotations.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AnnotatedRelationshipElement/category.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AnnotatedRelationshipElement/description.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AnnotatedRelationshipElement/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AnnotatedRelationshipElement/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AnnotatedRelationshipElement/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AnnotatedRelationshipElement/first.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AnnotatedRelationshipElement/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AnnotatedRelationshipElement/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AnnotatedRelationshipElement/second.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AnnotatedRelationshipElement/semanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AnnotatedRelationshipElement/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AssetAdministrationShell/administration.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AssetAdministrationShell/assetInformation.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AssetAdministrationShell/category.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AssetAdministrationShell/derivedFrom.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AssetAdministrationShell/description.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AssetAdministrationShell/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AssetAdministrationShell/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AssetAdministrationShell/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AssetAdministrationShell/id.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AssetAdministrationShell/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AssetAdministrationShell/submodels.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AssetInformation/assetKind.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AssetInformation/assetType.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AssetInformation/defaultThumbnail.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AssetInformation/globalAssetId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/AssetInformation/specificAssetIds.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/BasicEventElement/category.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/BasicEventElement/description.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/BasicEventElement/direction.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/BasicEventElement/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/BasicEventElement/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/BasicEventElement/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/BasicEventElement/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/BasicEventElement/lastUpdate.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/BasicEventElement/maxInterval.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/BasicEventElement/messageBroker.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/BasicEventElement/messageTopic.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/BasicEventElement/minInterval.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/BasicEventElement/observed.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/BasicEventElement/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/BasicEventElement/semanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/BasicEventElement/state.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/BasicEventElement/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Blob/category.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Blob/contentType.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Blob/description.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Blob/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Blob/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Blob/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Blob/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Blob/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Blob/semanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Blob/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Blob/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Capability/category.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Capability/description.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Capability/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Capability/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Capability/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Capability/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Capability/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Capability/semanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Capability/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ConceptDescription/administration.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ConceptDescription/category.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ConceptDescription/description.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ConceptDescription/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ConceptDescription/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ConceptDescription/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ConceptDescription/id.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ConceptDescription/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ConceptDescription/isCaseOf.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/DataSpecificationIec61360/dataType.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/DataSpecificationIec61360/definition.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/DataSpecificationIec61360/levelType.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/DataSpecificationIec61360/preferredName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/DataSpecificationIec61360/shortName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/DataSpecificationIec61360/sourceOfDefinition.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/DataSpecificationIec61360/symbol.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/DataSpecificationIec61360/unit.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/DataSpecificationIec61360/unitId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/DataSpecificationIec61360/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/DataSpecificationIec61360/valueFormat.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/EmbeddedDataSpecification/dataSpecification.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/EmbeddedDataSpecification/dataSpecificationContent.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Entity/category.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Entity/description.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Entity/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Entity/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Entity/entityType.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Entity/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Entity/globalAssetId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Entity/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Entity/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Entity/semanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Entity/specificAssetIds.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Entity/statements.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Entity/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Environment/assetAdministrationShells.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Environment/conceptDescriptions.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Environment/submodels.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/EventPayload/observableReference.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/EventPayload/observableSemanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/EventPayload/payload.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/EventPayload/source.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/EventPayload/sourceSemanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/EventPayload/subjectId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/EventPayload/timeStamp.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/EventPayload/topic.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Extension/name.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Extension/refersTo.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Extension/semanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Extension/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Extension/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Extension/valueType.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/File/category.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/File/contentType.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/File/description.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/File/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/File/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/File/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/File/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/File/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/File/semanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/File/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/File/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Key/type.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Key/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/LangStringDefinitionTypeIec61360/language.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/LangStringDefinitionTypeIec61360/text.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/LangStringNameType/language.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/LangStringNameType/text.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/LangStringPreferredNameTypeIec61360/language.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/LangStringPreferredNameTypeIec61360/text.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/LangStringShortNameTypeIec61360/language.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/LangStringShortNameTypeIec61360/text.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/LangStringTextType/language.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/LangStringTextType/text.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/LevelType/max.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/LevelType/min.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/LevelType/nom.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/LevelType/typ.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/MultiLanguageProperty/category.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/MultiLanguageProperty/description.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/MultiLanguageProperty/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/MultiLanguageProperty/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/MultiLanguageProperty/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/MultiLanguageProperty/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/MultiLanguageProperty/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/MultiLanguageProperty/semanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/MultiLanguageProperty/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/MultiLanguageProperty/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/MultiLanguageProperty/valueId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Operation/category.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Operation/description.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Operation/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Operation/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Operation/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Operation/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Operation/inoutputVariables.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Operation/inputVariables.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Operation/outputVariables.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Operation/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Operation/semanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Operation/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/OperationVariable/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Property/category.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Property/description.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Property/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Property/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Property/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Property/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Property/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Property/semanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Property/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Property/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Property/valueId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Property/valueType.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Qualifier/kind.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Qualifier/semanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Qualifier/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Qualifier/type.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Qualifier/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Qualifier/valueId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Qualifier/valueType.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Range/category.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Range/description.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Range/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Range/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Range/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Range/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Range/max.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Range/min.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Range/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Range/semanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Range/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Range/valueType.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Reference/keys.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Reference/referredSemanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Reference/type.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ReferenceElement/category.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ReferenceElement/description.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ReferenceElement/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ReferenceElement/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ReferenceElement/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ReferenceElement/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ReferenceElement/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ReferenceElement/semanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ReferenceElement/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ReferenceElement/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/RelationshipElement/category.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/RelationshipElement/description.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/RelationshipElement/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/RelationshipElement/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/RelationshipElement/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/RelationshipElement/first.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/RelationshipElement/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/RelationshipElement/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/RelationshipElement/second.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/RelationshipElement/semanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/RelationshipElement/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Resource/contentType.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Resource/path.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SpecificAssetId/externalSubjectId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SpecificAssetId/name.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SpecificAssetId/semanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SpecificAssetId/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SpecificAssetId/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Submodel/administration.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Submodel/category.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Submodel/description.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Submodel/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Submodel/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Submodel/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Submodel/id.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Submodel/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Submodel/kind.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Submodel/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Submodel/semanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Submodel/submodelElements.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/Submodel/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementCollection/category.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementCollection/description.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementCollection/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementCollection/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementCollection/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementCollection/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementCollection/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementCollection/semanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementCollection/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementCollection/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementList/category.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementList/description.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementList/displayName.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementList/embeddedDataSpecifications.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementList/extensions.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementList/idShort.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementList/orderRelevant.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementList/qualifiers.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementList/semanticId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementList/semanticIdListElement.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementList/supplementalSemanticIds.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementList/typeValueListElement.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementList/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/SubmodelElementList/valueTypeListElement.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ValueList/valueReferencePairs.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ValueReferencePair/value.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/TypeViolation/ValueReferencePair/valueId.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/AdministrativeInformation/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/AnnotatedRelationshipElement/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/AssetAdministrationShell/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/AssetInformation/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/BasicEventElement/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/Blob/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/Capability/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/ConceptDescription/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/DataSpecificationIec61360/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/EmbeddedDataSpecification/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/Entity/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/Environment/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/EventPayload/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/Extension/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/File/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/Key/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/LangStringDefinitionTypeIec61360/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/LangStringNameType/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/LangStringPreferredNameTypeIec61360/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/LangStringShortNameTypeIec61360/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/LangStringTextType/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/LevelType/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/MultiLanguageProperty/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/Operation/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/OperationVariable/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/Property/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/Qualifier/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/Range/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/Reference/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/ReferenceElement/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/RelationshipElement/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/Resource/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/SpecificAssetId/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/Submodel/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/SubmodelElementCollection/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/SubmodelElementList/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/ValueList/instance.json create mode 100644 dev/test_data/Json/Unexpected/Unserializable/UnexpectedAdditionalProperty/ValueReferencePair/instance.json create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/ConstraintViolation/Reference/external_reference_violation_first_key_not_in_globally_identifiables.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/ConstraintViolation/Reference/external_reference_violation_invalid_last_key.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/ConstraintViolation/Reference/model_reference_violation_first_key_not_in_aas_identifiables.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/ConstraintViolation/Reference/model_reference_violation_first_key_not_in_globally_identifiables.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/ConstraintViolation/Reference/model_reference_violation_fragment_reference_in_the_middle.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/ConstraintViolation/Reference/model_reference_violation_fragment_reference_not_after_file_or_blob.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/ConstraintViolation/Reference/model_reference_violation_invalid_key_value_after_list.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/ConstraintViolation/Reference/model_reference_violation_second_key_not_in_fragment_keys.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/ConstraintViolation/SubmodelElementList/list_violation_of_semantic_id_list_element.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/ConstraintViolation/SubmodelElementList/list_violation_of_type_value_list_element.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/ConstraintViolation/SubmodelElementList/list_violation_of_value_type_list_element.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/ConstraintViolation/SubmodelElementList/list_violation_semantic_id_mismatch_between_elements.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/AdministrativeInformation/createdAt.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/AdministrativeInformation/updatedAt.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/BasicEventElement/lastUpdate.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/EventPayload/timeStamp.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Any_URI_too_many_fragments.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_an_odd_number_of_characters_is_not_valid.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_equals_signs_may_only_appear_at_the_end.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Base_64_binary_negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_false_as_number_with_leading_zeros.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_false_in_camelcase.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_false_in_uppercase.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_true_as_number_with_leading_zeros.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_true_in_camelcase.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Boolean_true_in_uppercase.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Byte_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Byte_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Byte_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Byte_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Byte_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Byte_min_minus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Byte_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_date_time_with_UTC.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_date_time_with_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_date_time_without_zone.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_date_with_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_date_with_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_date_with_seconds_in_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_non_existing_february_29th.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_date.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_date_time_with_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_date_time_with_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_date_time_with_seconds_in_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_date_time_with_unexpected_prefix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_date_time_with_unexpected_suffix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_date_with_time_zone.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_non_existing_february_29th.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_without_minutes.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_without_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_year_4_bce_february_29th.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_time_year_zero_doesnt_exist.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_year_4_bce_february_29th.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Date_year_zero_doesnt_exist.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Decimal_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Decimal_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Double_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Double_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Double_inf_case_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Double_nan_case_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Double_no_fraction_in_scientific_notation.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Double_plus_inf.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Double_too_large.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Duration_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Duration_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Duration_integer.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Duration_leading_P_missing.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Duration_negative_years.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Duration_positive_year_negative_months.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Duration_separator_T_missing.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Duration_the_order_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Float_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Float_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Float_inf_case_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Float_nan_case_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Float_no_fraction_in_scientific_notation.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Float_plus_inf.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Float_too_large.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_day_day_outside_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_day_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_day_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_day_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_day_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_day_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_day_missing_leading_dashes.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_day_missing_leading_digit.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_day_unexpected_suffix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_day_day_outside_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_day_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_day_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_day_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_day_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_day_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_day_missing_leading_dashes.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_day_missing_leading_digit.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_day_non_existing_april_31st.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_day_unexpected_prefix_and_suffix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_missing_leading_dashes.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_missing_leading_digit.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_month_outside_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_month_unexpected_prefix_and_suffix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_missing_century.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_month_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_month_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_month_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_month_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_month_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_month_missing_century.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_month_missing_month.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_month_month_out_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/G_year_unexpected_month.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Hex_binary_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Hex_binary_odd_number_of_digits.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Hex_binary_single_digit.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Int_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Int_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Int_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Int_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Int_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Int_min_minus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Int_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Integer_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Integer_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Integer_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Integer_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Integer_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Long_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Long_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Long_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Long_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Long_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Long_min_minus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Long_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Negative_integer_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Negative_integer_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Negative_integer_explicitly_positive.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Negative_integer_explicitly_positive_zero.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Negative_integer_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Negative_integer_implicitly_positive.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Negative_integer_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Negative_integer_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Negative_integer_zero.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Negative_integer_zero_prefixed_with_zeros.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_negative_integer_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_negative_integer_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_negative_integer_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_negative_integer_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_positive_integer_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_positive_integer_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_positive_integer_explicitly_positive.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_positive_integer_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_positive_integer_implicitly_positive.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_positive_integer_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Non_positive_integer_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Positive_integer_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Positive_integer_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Positive_integer_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Positive_integer_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Positive_integer_zero.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Positive_integer_zero_prefixed_with_zeros.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Short_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Short_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Short_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Short_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Short_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Short_min_minus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Short_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_NUL_as_utf16.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_NUL_as_utf32.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_NUL_as_x.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_hour_out_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_minute_out_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_missing_padded_zeros.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_missing_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_second_out_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_too_many_fragments.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Base_64_binary_negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_false_as_number_with_leading_zeros.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_false_in_camelcase.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_false_in_uppercase.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_true_as_number_with_leading_zeros.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_true_in_camelcase.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Boolean_true_in_uppercase.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Byte_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Byte_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Byte_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Byte_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Byte_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Byte_min_minus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Byte_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_date_time_with_UTC.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_date_time_with_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_date_time_without_zone.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_date_with_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_date_with_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_date_with_seconds_in_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_non_existing_february_29th.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_date.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_date_time_with_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_date_time_with_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_date_time_with_seconds_in_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_date_time_with_unexpected_prefix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_date_time_with_unexpected_suffix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_date_with_time_zone.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_non_existing_february_29th.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_without_minutes.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_without_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_year_4_bce_february_29th.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_time_year_zero_doesnt_exist.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_year_4_bce_february_29th.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Date_year_zero_doesnt_exist.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Decimal_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Decimal_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Double_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Double_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Double_inf_case_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Double_nan_case_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Double_no_fraction_in_scientific_notation.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Double_plus_inf.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Double_too_large.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Duration_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Duration_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Duration_integer.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Duration_leading_P_missing.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Duration_negative_years.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Duration_positive_year_negative_months.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Duration_separator_T_missing.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Duration_the_order_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Float_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Float_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Float_inf_case_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Float_nan_case_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Float_no_fraction_in_scientific_notation.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Float_plus_inf.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Float_too_large.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_day_day_outside_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_day_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_day_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_day_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_day_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_day_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_day_missing_leading_dashes.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_day_missing_leading_digit.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_day_unexpected_suffix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_day_day_outside_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_day_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_day_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_day_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_day_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_day_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_day_missing_leading_dashes.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_day_missing_leading_digit.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_day_non_existing_april_31st.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_day_unexpected_prefix_and_suffix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_missing_leading_dashes.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_missing_leading_digit.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_month_outside_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_month_unexpected_prefix_and_suffix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_missing_century.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_month_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_month_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_month_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_month_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_month_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_month_missing_century.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_month_missing_month.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_month_month_out_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/G_year_unexpected_month.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Hex_binary_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Hex_binary_odd_number_of_digits.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Hex_binary_single_digit.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Int_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Int_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Int_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Int_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Int_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Int_min_minus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Int_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Integer_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Integer_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Integer_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Integer_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Integer_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Long_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Long_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Long_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Long_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Long_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Long_min_minus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Long_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Negative_integer_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Negative_integer_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Negative_integer_explicitly_positive.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Negative_integer_explicitly_positive_zero.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Negative_integer_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Negative_integer_implicitly_positive.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Negative_integer_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Negative_integer_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Negative_integer_zero.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Negative_integer_zero_prefixed_with_zeros.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_negative_integer_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_negative_integer_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_negative_integer_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_negative_integer_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_positive_integer_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_positive_integer_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_positive_integer_explicitly_positive.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_positive_integer_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_positive_integer_implicitly_positive.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_positive_integer_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Non_positive_integer_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Positive_integer_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Positive_integer_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Positive_integer_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Positive_integer_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Positive_integer_zero.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Positive_integer_zero_prefixed_with_zeros.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Short_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Short_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Short_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Short_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Short_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Short_min_minus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Short_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_NUL_as_utf16.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_NUL_as_utf32.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_NUL_as_x.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_hour_out_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_minute_out_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_missing_padded_zeros.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_missing_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Time_second_out_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_byte_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_byte_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_byte_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_byte_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_byte_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_byte_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_byte_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_int_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_int_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_int_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_int_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_int_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_int_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_int_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_long_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_long_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_long_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_long_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_long_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_long_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_long_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_short_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_short_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_short_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_short_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_short_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_short_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Unsigned_short_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Any_URI_too_many_fragments.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Base_64_binary_negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_false_as_number_with_leading_zeros.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_false_in_camelcase.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_false_in_uppercase.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_true_as_number_with_leading_zeros.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_true_in_camelcase.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Boolean_true_in_uppercase.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Byte_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Byte_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Byte_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Byte_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Byte_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Byte_min_minus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Byte_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_date_time_with_UTC.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_date_time_with_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_date_time_without_zone.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_date_with_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_date_with_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_date_with_seconds_in_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_non_existing_february_29th.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_date.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_date_time_with_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_date_time_with_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_date_time_with_seconds_in_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_date_time_with_unexpected_prefix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_date_time_with_unexpected_suffix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_date_with_time_zone.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_non_existing_february_29th.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_without_minutes.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_without_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_year_4_bce_february_29th.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_time_year_zero_doesnt_exist.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_year_4_bce_february_29th.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Date_year_zero_doesnt_exist.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Decimal_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Decimal_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Double_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Double_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Double_inf_case_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Double_nan_case_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Double_no_fraction_in_scientific_notation.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Double_plus_inf.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Double_too_large.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Duration_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Duration_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Duration_integer.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Duration_leading_P_missing.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Duration_negative_years.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Duration_positive_year_negative_months.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Duration_separator_T_missing.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Duration_the_order_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Float_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Float_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Float_inf_case_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Float_nan_case_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Float_no_fraction_in_scientific_notation.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Float_plus_inf.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Float_too_large.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_day_day_outside_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_day_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_day_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_day_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_day_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_day_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_day_missing_leading_dashes.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_day_missing_leading_digit.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_day_unexpected_suffix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_day_day_outside_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_day_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_day_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_day_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_day_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_day_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_day_missing_leading_dashes.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_day_missing_leading_digit.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_day_non_existing_april_31st.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_day_unexpected_prefix_and_suffix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_missing_leading_dashes.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_missing_leading_digit.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_month_outside_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_month_unexpected_prefix_and_suffix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_missing_century.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_month_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_month_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_month_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_month_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_month_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_month_missing_century.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_month_missing_month.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_month_month_out_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/G_year_unexpected_month.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Hex_binary_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Hex_binary_odd_number_of_digits.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Hex_binary_single_digit.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Int_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Int_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Int_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Int_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Int_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Int_min_minus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Int_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Integer_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Integer_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Integer_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Integer_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Integer_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Long_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Long_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Long_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Long_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Long_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Long_min_minus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Long_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Negative_integer_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Negative_integer_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Negative_integer_explicitly_positive.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Negative_integer_explicitly_positive_zero.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Negative_integer_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Negative_integer_implicitly_positive.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Negative_integer_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Negative_integer_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Negative_integer_zero.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Negative_integer_zero_prefixed_with_zeros.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_negative_integer_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_negative_integer_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_negative_integer_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_negative_integer_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_positive_integer_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_positive_integer_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_positive_integer_explicitly_positive.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_positive_integer_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_positive_integer_implicitly_positive.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_positive_integer_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Non_positive_integer_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Positive_integer_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Positive_integer_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Positive_integer_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Positive_integer_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Positive_integer_zero.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Positive_integer_zero_prefixed_with_zeros.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Short_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Short_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Short_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Short_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Short_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Short_min_minus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Short_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_NUL_as_utf16.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_NUL_as_utf32.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_NUL_as_x.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_hour_out_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_minute_out_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_missing_padded_zeros.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_missing_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_second_out_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_too_many_fragments.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_false_as_number_with_leading_zeros.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_false_in_camelcase.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_false_in_uppercase.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_true_as_number_with_leading_zeros.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_true_in_camelcase.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_true_in_uppercase.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_min_minus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_time_with_UTC.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_time_with_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_time_without_zone.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_with_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_with_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_with_seconds_in_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_non_existing_february_29th.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_seconds_in_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_unexpected_prefix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_unexpected_suffix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_with_time_zone.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_non_existing_february_29th.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_without_minutes.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_without_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_year_4_bce_february_29th.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_year_zero_doesnt_exist.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_year_4_bce_february_29th.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_year_zero_doesnt_exist.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Decimal_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Decimal_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_inf_case_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_nan_case_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_no_fraction_in_scientific_notation.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_plus_inf.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_too_large.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_integer.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_leading_P_missing.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_negative_years.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_positive_year_negative_months.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_separator_T_missing.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_the_order_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_inf_case_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_nan_case_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_no_fraction_in_scientific_notation.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_plus_inf.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_too_large.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_day_outside_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_missing_leading_dashes.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_missing_leading_digit.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_unexpected_suffix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_day_outside_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_missing_leading_dashes.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_missing_leading_digit.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_non_existing_april_31st.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_unexpected_prefix_and_suffix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_missing_leading_dashes.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_missing_leading_digit.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_month_outside_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_unexpected_prefix_and_suffix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_missing_century.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_missing_century.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_missing_month.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_month_out_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_unexpected_month.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Hex_binary_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Hex_binary_odd_number_of_digits.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Hex_binary_single_digit.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_min_minus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_min_minus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_explicitly_positive.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_explicitly_positive_zero.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_implicitly_positive.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_zero.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_zero_prefixed_with_zeros.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_negative_integer_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_negative_integer_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_negative_integer_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_negative_integer_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_explicitly_positive.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_implicitly_positive.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_zero.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_zero_prefixed_with_zeros.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_min_minus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_NUL_as_utf16.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_NUL_as_utf32.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_NUL_as_x.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_hour_out_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_invalid_negative_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_invalid_offset_with_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_invalid_positive_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_minute_out_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_missing_padded_zeros.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_missing_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_second_out_of_range.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_decimal.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_mathematical_formula.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_max_plus_one.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_scientific.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/AdministrativeInformation/revision.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/AdministrativeInformation/templateId.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/AdministrativeInformation/version.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/AnnotatedRelationshipElement/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/AnnotatedRelationshipElement/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/AssetAdministrationShell/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/AssetAdministrationShell/id.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/AssetAdministrationShell/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/AssetInformation/assetType.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/AssetInformation/globalAssetId.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/BasicEventElement/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/BasicEventElement/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/BasicEventElement/messageTopic.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Blob/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Blob/contentType.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Blob/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Capability/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Capability/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/ConceptDescription/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/ConceptDescription/id.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/ConceptDescription/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/DataSpecificationIec61360/value.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Entity/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Entity/globalAssetId.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Entity/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/EventPayload/topic.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Extension/name.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/File/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/File/contentType.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/File/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/File/value.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Key/value.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/LangStringDefinitionTypeIec61360/text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/LangStringNameType/text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/LangStringPreferredNameTypeIec61360/text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/LangStringShortNameTypeIec61360/text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/LangStringTextType/text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/MultiLanguageProperty/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/MultiLanguageProperty/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Operation/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Operation/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Property/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Property/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Qualifier/type.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Range/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Range/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/ReferenceElement/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/ReferenceElement/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/RelationshipElement/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/RelationshipElement/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Resource/contentType.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Resource/path.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/SpecificAssetId/name.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/SpecificAssetId/value.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Submodel/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Submodel/id.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/Submodel/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/SubmodelElementCollection/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/SubmodelElementCollection/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/SubmodelElementList/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/SubmodelElementList/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MaxLengthViolation/ValueReferencePair/value.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AdministrativeInformation/embeddedDataSpecifications.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AdministrativeInformation/revision.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AdministrativeInformation/templateId.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AdministrativeInformation/version.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AnnotatedRelationshipElement/annotations.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AnnotatedRelationshipElement/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AnnotatedRelationshipElement/description.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AnnotatedRelationshipElement/displayName.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AnnotatedRelationshipElement/embeddedDataSpecifications.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AnnotatedRelationshipElement/extensions.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AnnotatedRelationshipElement/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AnnotatedRelationshipElement/qualifiers.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AnnotatedRelationshipElement/supplementalSemanticIds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AssetAdministrationShell/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AssetAdministrationShell/description.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AssetAdministrationShell/displayName.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AssetAdministrationShell/embeddedDataSpecifications.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AssetAdministrationShell/extensions.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AssetAdministrationShell/id.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AssetAdministrationShell/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AssetAdministrationShell/submodels.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AssetInformation/assetType.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AssetInformation/globalAssetId.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/AssetInformation/specificAssetIds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/BasicEventElement/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/BasicEventElement/description.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/BasicEventElement/displayName.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/BasicEventElement/embeddedDataSpecifications.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/BasicEventElement/extensions.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/BasicEventElement/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/BasicEventElement/messageTopic.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/BasicEventElement/qualifiers.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/BasicEventElement/supplementalSemanticIds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Blob/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Blob/contentType.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Blob/description.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Blob/displayName.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Blob/embeddedDataSpecifications.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Blob/extensions.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Blob/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Blob/qualifiers.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Blob/supplementalSemanticIds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Capability/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Capability/description.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Capability/displayName.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Capability/embeddedDataSpecifications.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Capability/extensions.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Capability/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Capability/qualifiers.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Capability/supplementalSemanticIds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/ConceptDescription/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/ConceptDescription/description.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/ConceptDescription/displayName.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/ConceptDescription/embeddedDataSpecifications.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/ConceptDescription/extensions.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/ConceptDescription/id.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/ConceptDescription/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/ConceptDescription/isCaseOf.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/DataSpecificationIec61360/definition.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/DataSpecificationIec61360/preferredName.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/DataSpecificationIec61360/shortName.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/DataSpecificationIec61360/sourceOfDefinition.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/DataSpecificationIec61360/symbol.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/DataSpecificationIec61360/unit.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/DataSpecificationIec61360/value.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/DataSpecificationIec61360/valueFormat.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Entity/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Entity/description.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Entity/displayName.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Entity/embeddedDataSpecifications.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Entity/extensions.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Entity/globalAssetId.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Entity/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Entity/qualifiers.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Entity/specificAssetIds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Entity/statements.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Entity/supplementalSemanticIds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Environment/assetAdministrationShells.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Environment/conceptDescriptions.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Environment/submodels.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/EventPayload/topic.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Extension/name.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Extension/refersTo.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Extension/supplementalSemanticIds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/File/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/File/contentType.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/File/description.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/File/displayName.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/File/embeddedDataSpecifications.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/File/extensions.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/File/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/File/qualifiers.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/File/supplementalSemanticIds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/File/value.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Key/value.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/LangStringDefinitionTypeIec61360/text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/LangStringNameType/text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/LangStringPreferredNameTypeIec61360/text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/LangStringShortNameTypeIec61360/text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/LangStringTextType/text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/MultiLanguageProperty/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/MultiLanguageProperty/description.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/MultiLanguageProperty/displayName.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/MultiLanguageProperty/embeddedDataSpecifications.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/MultiLanguageProperty/extensions.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/MultiLanguageProperty/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/MultiLanguageProperty/qualifiers.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/MultiLanguageProperty/supplementalSemanticIds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/MultiLanguageProperty/value.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Operation/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Operation/description.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Operation/displayName.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Operation/embeddedDataSpecifications.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Operation/extensions.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Operation/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Operation/inoutputVariables.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Operation/inputVariables.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Operation/outputVariables.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Operation/qualifiers.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Operation/supplementalSemanticIds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Property/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Property/description.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Property/displayName.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Property/embeddedDataSpecifications.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Property/extensions.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Property/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Property/qualifiers.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Property/supplementalSemanticIds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Qualifier/supplementalSemanticIds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Qualifier/type.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Range/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Range/description.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Range/displayName.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Range/embeddedDataSpecifications.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Range/extensions.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Range/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Range/qualifiers.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Range/supplementalSemanticIds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Reference/keys.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/ReferenceElement/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/ReferenceElement/description.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/ReferenceElement/displayName.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/ReferenceElement/embeddedDataSpecifications.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/ReferenceElement/extensions.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/ReferenceElement/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/ReferenceElement/qualifiers.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/ReferenceElement/supplementalSemanticIds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/RelationshipElement/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/RelationshipElement/description.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/RelationshipElement/displayName.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/RelationshipElement/embeddedDataSpecifications.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/RelationshipElement/extensions.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/RelationshipElement/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/RelationshipElement/qualifiers.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/RelationshipElement/supplementalSemanticIds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Resource/contentType.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Resource/path.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SpecificAssetId/name.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SpecificAssetId/supplementalSemanticIds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SpecificAssetId/value.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Submodel/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Submodel/description.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Submodel/displayName.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Submodel/embeddedDataSpecifications.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Submodel/extensions.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Submodel/id.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Submodel/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Submodel/qualifiers.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Submodel/submodelElements.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/Submodel/supplementalSemanticIds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementCollection/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementCollection/description.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementCollection/displayName.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementCollection/embeddedDataSpecifications.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementCollection/extensions.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementCollection/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementCollection/qualifiers.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementCollection/supplementalSemanticIds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementCollection/value.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementList/category.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementList/description.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementList/displayName.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementList/embeddedDataSpecifications.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementList/extensions.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementList/idShort.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementList/qualifiers.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementList/supplementalSemanticIds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/SubmodelElementList/value.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/ValueList/valueReferencePairs.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/MinLengthViolation/ValueReferencePair/value.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/date_time_with_UTC_and_suffix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/date_time_with_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/date_time_without_zone.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/invalid_february_29th.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/only_date.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/only_date_with_time_zone.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/without_minutes.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/without_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/revision/dot.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/revision/letter.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/revision/negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/date_time_with_UTC_and_suffix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/date_time_with_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/date_time_without_zone.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/invalid_february_29th.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/only_date.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/only_date_with_time_zone.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/without_minutes.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/without_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/version/dot.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/version/letter.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/version/negative.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/date_time_with_UTC_and_suffix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/date_time_with_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/date_time_without_zone.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/invalid_february_29th.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/only_date.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/only_date_with_time_zone.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/without_minutes.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/without_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/integer.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/leading_P_missing.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/negative_years.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/positive_year_negative_months.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/separator_T_missing.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/the_order_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/integer.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/leading_P_missing.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/negative_years.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/positive_year_negative_months.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/separator_T_missing.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/the_order_matters.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/number.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/date_time_with_UTC_and_suffix.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/date_time_with_offset.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/date_time_without_zone.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/invalid_february_29th.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/only_date.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/only_date_with_time_zone.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/without_minutes.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/without_seconds.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/contentType/empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/contentType/number.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_made_up_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_made_up_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/free_form_text.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/empty.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/number.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_made_up_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_made_up_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/category/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/category/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/category/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/category/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/category/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/category/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/category/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/category/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/category/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/category/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/id/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/id/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/id/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/id/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/id/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/id/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/id/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/id/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/id/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/id/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/idShort/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/idShort/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/idShort/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/idShort/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/idShort/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/idShort/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/idShort/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/idShort/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/idShort/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/Submodel/idShort/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/category/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/category/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/category/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/category/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/category/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/category/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/category/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/category/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/category/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/category/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/idShort/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/idShort/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/idShort/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/idShort/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/idShort/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/idShort/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/idShort/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/idShort/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/idShort/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementCollection/idShort/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/category/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/category/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/category/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/category/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/category/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/category/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/category/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/category/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/category/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/category/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/idShort/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/idShort/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/idShort/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/idShort/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/idShort/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/idShort/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/idShort/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/idShort/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/idShort/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/SubmodelElementList/idShort/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ValueReferencePair/value/negatively_fuzzed_01.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ValueReferencePair/value/negatively_fuzzed_02.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ValueReferencePair/value/negatively_fuzzed_03.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ValueReferencePair/value/negatively_fuzzed_04.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ValueReferencePair/value/negatively_fuzzed_05.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ValueReferencePair/value/negatively_fuzzed_06.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ValueReferencePair/value/negatively_fuzzed_07.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ValueReferencePair/value/negatively_fuzzed_08.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ValueReferencePair/value/negatively_fuzzed_09.json.errors create mode 100644 dev/test_data/VerificationError/Json/Unexpected/Invalid/PatternViolation/ValueReferencePair/value/negatively_fuzzed_10.json.errors create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/midnight_with_24_hours.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/midnight_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/minus_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/plus_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/random_positive.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/very_large_year.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/very_long_fractional_second.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/year_1_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/year_5_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/maximal.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/minimal.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/four_digits.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/one.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/three_digits.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/two_digits.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/zero.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/midnight_with_24_hours.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/midnight_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/minus_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/plus_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/random_positive.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/very_large_year.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/very_long_fractional_second.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/year_1_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/year_5_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/four_digits.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/one.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/three_digits.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/two_digits.xml create mode 100644 dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/zero.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/alternating_hyphen_underscore.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/ends_with_underscore.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/hyphen_then_underscore.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/many_internal_hyphens.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/many_underscores.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/minimal_digit.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/minimal_lower.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/minimal_underscore.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/minimal_upper.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/single_internal_hyphen.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/underscore_after_first.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/maximal.xml create mode 100644 dev/test_data/Xml/Expected/annotatedRelationshipElement/minimal.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/alternating_hyphen_underscore.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/ends_with_underscore.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/hyphen_then_underscore.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/many_internal_hyphens.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/many_underscores.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/minimal_digit.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/minimal_lower.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/minimal_underscore.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/minimal_upper.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/single_internal_hyphen.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/underscore_after_first.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/maximal.xml create mode 100644 dev/test_data/Xml/Expected/assetAdministrationShell/minimal.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/maximal.xml create mode 100644 dev/test_data/Xml/Expected/assetInformation/minimal.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/alternating_hyphen_underscore.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/ends_with_underscore.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/hyphen_then_underscore.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/many_internal_hyphens.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/many_underscores.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/minimal_digit.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/minimal_lower.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/minimal_underscore.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/minimal_upper.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/single_internal_hyphen.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/underscore_after_first.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/midnight_with_24_hours.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/midnight_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/minus_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/plus_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/random_positive.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/very_large_year.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/very_long_fractional_second.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/year_1_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/year_5_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/day_seconds.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/full.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/long_second_fractal.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/many_many_seconds.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/month_seconds.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/only_seconds.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/only_year.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/maximal.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/day_seconds.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/full.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/long_second_fractal.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/many_many_seconds.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/month_seconds.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/only_seconds.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/only_year.xml create mode 100644 dev/test_data/Xml/Expected/basicEventElement/minimal.xml create mode 100644 dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/dash.xml create mode 100644 dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/dots.xml create mode 100644 dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/number prefix and suffix.xml create mode 100644 dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/only_letters.xml create mode 100644 dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/plus.xml create mode 100644 dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/random_common_MIME_type.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/alternating_hyphen_underscore.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/ends_with_underscore.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/hyphen_then_underscore.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/many_internal_hyphens.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/many_underscores.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/minimal_digit.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/minimal_lower.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/minimal_underscore.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/minimal_upper.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/single_internal_hyphen.xml create mode 100644 dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/underscore_after_first.xml create mode 100644 dev/test_data/Xml/Expected/blob/maximal.xml create mode 100644 dev/test_data/Xml/Expected/blob/minimal.xml create mode 100644 dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/alternating_hyphen_underscore.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/ends_with_underscore.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/hyphen_then_underscore.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/many_internal_hyphens.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/many_underscores.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/minimal_digit.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/minimal_lower.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/minimal_underscore.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/minimal_upper.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/single_internal_hyphen.xml create mode 100644 dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/underscore_after_first.xml create mode 100644 dev/test_data/Xml/Expected/capability/maximal.xml create mode 100644 dev/test_data/Xml/Expected/capability/minimal.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/alternating_hyphen_underscore.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/ends_with_underscore.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/hyphen_then_underscore.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/many_internal_hyphens.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/many_underscores.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/minimal_digit.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/minimal_lower.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/minimal_underscore.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/minimal_upper.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/single_internal_hyphen.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/underscore_after_first.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/maximal.xml create mode 100644 dev/test_data/Xml/Expected/conceptDescription/minimal.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/maximal.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/minimal.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/embeddedDataSpecification/maximal.xml create mode 100644 dev/test_data/Xml/Expected/embeddedDataSpecification/minimal.xml create mode 100644 dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/alternating_hyphen_underscore.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/ends_with_underscore.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/hyphen_then_underscore.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/many_internal_hyphens.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/many_underscores.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/minimal_digit.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/minimal_lower.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/minimal_underscore.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/minimal_upper.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/single_internal_hyphen.xml create mode 100644 dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/underscore_after_first.xml create mode 100644 dev/test_data/Xml/Expected/entity/maximal.xml create mode 100644 dev/test_data/Xml/Expected/entity/minimal.xml create mode 100644 dev/test_data/Xml/Expected/environment/maximal.xml create mode 100644 dev/test_data/Xml/Expected/environment/minimal.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/maximal.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/minimal.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/midnight_with_24_hours.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/midnight_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/minus_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/plus_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/random_positive.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/very_large_year.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/very_long_fractional_second.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/year_1_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/year_5_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/maximal.xml create mode 100644 dev/test_data/Xml/Expected/extension/minimal.xml create mode 100644 dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_URI.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_absolute_path_without_scheme.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_empty.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_integer.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_relative_path_without_scheme.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_an_empty_value_is_valid.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_equals_signs_are_used_for_padding.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_whitespace_is_allowed_anywhere_in_the_value.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_without_space_lowercase.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_without_space_uppercase.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Boolean_false_as_number.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Boolean_false_in_letters.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Boolean_true_as_number.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Boolean_true_in_letters.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_common_example.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_max.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_min.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_negative.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_zero.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_large_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_large_positive_year.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_utc.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_UTC.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_large_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_large_positive_year.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_long_fractional_seconds.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_midnight_with_24_hours.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_midnight_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_year_1_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_year_5_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_year_1_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_year_5_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_decimal.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_decimal_with_long_fractional.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_decimal_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_integer.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_integer_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_very_large_decimal.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_double.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_inf.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_integer.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_integer_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_loss_of_precision_is_not_detected_by_design.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_lowest.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_max.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_minus_inf.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_nan.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_scientific_notation.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_scientific_notation_negative.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_scientific_notation_negative_exponent.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_scientific_notation_positive.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_scientific_notation_positive_exponent.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_very_large_normal.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_very_precise_subnormal.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_day_seconds.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_full.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_long_second_fractal.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_many_many_seconds.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_month_seconds.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_only_seconds.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_only_year.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_float.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_inf.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_integer.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_integer_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_largest_normal.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_largest_number_less_than_one.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_largest_subnormal.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_loss_of_precision_is_not_detected_by_design.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_nan.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_negative_inf.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_scientific_notation.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_scientific_notation_negative.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_scientific_notation_negative_exponent.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_scientific_notation_positive.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_scientific_notation_positive_exponent.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_smallest_number_larger_than_one.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_smallest_positive_normal.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_smallest_positive_subnormal.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_day_not_existing_in_all_months_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_double_digit_day_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_single_digit_day_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_utc_zone.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_double_digit_month_double_digit_day_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_double_digit_month_single_digit_day_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_february_29th_which_does_not_exist_in_all_years.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_single_digit_month_single_digit_day_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_utc_zone.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_double_digit_month_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_single_digit_month_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_utc_zone.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_five_digit_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_five_digit_year.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_common_year_month.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_five_digit_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_very_large_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_very_large_positive_year.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_with_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_with_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_with_utc_zone.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_with_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_utc_zone.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_very_large_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_very_large_positive_year.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_year_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_empty.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_long_random_hex.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_one_one.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_one_two.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_one_two_three_four.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_common_example.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_max.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_min.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_negative.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_zero.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_common_example.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_negative.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_very_large.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_zero.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_common_example.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_max.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_min.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_negative.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_zero.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_negative.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_very_large.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_common_example.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_explicitly_positive_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_minus_zero.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_positive_zero.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_very_large.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_zero.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_explicitly_positive_zero.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_negative.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_very_large.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_zero.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_common_example.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_very_large.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_common_example.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_max.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_min.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_negative.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_zero.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_empty.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_free_form_text.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_common_example.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_with_long_second_fractional.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_with_second_fractional.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_with_utc_timezone.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_common_example.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_max.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_zero.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_common_example.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_max.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_zero.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_common_example.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_max.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_zero.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_common_example.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_max.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_zero.xml create mode 100644 dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/dash.xml create mode 100644 dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/dots.xml create mode 100644 dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/number prefix and suffix.xml create mode 100644 dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/only_letters.xml create mode 100644 dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/plus.xml create mode 100644 dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/random_common_MIME_type.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/alternating_hyphen_underscore.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/ends_with_underscore.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/hyphen_then_underscore.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/many_internal_hyphens.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/many_underscores.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/minimal_digit.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/minimal_lower.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/minimal_underscore.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/minimal_upper.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/single_internal_hyphen.xml create mode 100644 dev/test_data/Xml/Expected/file/idShortOverPatternExamples/underscore_after_first.xml create mode 100644 dev/test_data/Xml/Expected/file/maximal.xml create mode 100644 dev/test_data/Xml/Expected/file/minimal.xml create mode 100644 dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/file/valueOverPatternExamples/made_up_01.xml create mode 100644 dev/test_data/Xml/Expected/file/valueOverPatternExamples/made_up_02.xml create mode 100644 dev/test_data/Xml/Expected/file/valueOverPatternExamples/made_up_03.xml create mode 100644 dev/test_data/Xml/Expected/file/valueOverPatternExamples/made_up_04.xml create mode 100644 dev/test_data/Xml/Expected/file/valueOverPatternExamples/made_up_05.xml create mode 100644 dev/test_data/Xml/Expected/key/maximal.xml create mode 100644 dev/test_data/Xml/Expected/key/minimal.xml create mode 100644 dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/extended_language_subtags_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/extended_language_subtags_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/extended_language_subtags_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/extended_language_subtags_4.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_variant_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_variant_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_script_region_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_script_region_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_script_region_variant.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_4.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_variant_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_variant_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_variant_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_4.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_5.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_subtags_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_subtags_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/simple_language_subtag_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/simple_language_subtag_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/simple_language_subtag_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/tag_with_extension_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/tag_with_extension_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/tag_with_extension_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/maximal.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/minimal.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/extended_language_subtags_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/extended_language_subtags_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/extended_language_subtags_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/extended_language_subtags_4.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_region_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_region_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_region_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_region_variant_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_region_variant_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_script_region_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_script_region_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_script_region_variant.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_subtag_plus_script_subtag_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_subtag_plus_script_subtag_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_subtag_plus_script_subtag_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_subtag_plus_script_subtag_4.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_variant_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_variant_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_variant_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_registry_values_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_registry_values_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_registry_values_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_registry_values_4.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_registry_values_5.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_subtags_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_subtags_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/simple_language_subtag_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/simple_language_subtag_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/simple_language_subtag_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/tag_with_extension_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/tag_with_extension_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/tag_with_extension_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/maximal.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/minimal.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_4.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_variant_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_variant_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_script_region_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_script_region_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_script_region_variant.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_4.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_variant_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_variant_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_variant_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_4.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_5.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_subtags_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_subtags_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/tag_with_extension_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/tag_with_extension_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/tag_with_extension_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/maximal.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/minimal.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_4.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_region_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_region_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_region_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_region_variant_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_region_variant_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_script_region_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_script_region_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_script_region_variant.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_4.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_variant_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_variant_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_variant_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_4.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_5.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_subtags_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_subtags_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/tag_with_extension_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/tag_with_extension_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/tag_with_extension_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/maximal.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/minimal.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/extended_language_subtags_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/extended_language_subtags_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/extended_language_subtags_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/extended_language_subtags_4.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_region_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_region_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_region_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_region_variant_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_region_variant_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_script_region_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_script_region_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_script_region_variant.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_subtag_plus_script_subtag_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_subtag_plus_script_subtag_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_subtag_plus_script_subtag_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_subtag_plus_script_subtag_4.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_variant_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_variant_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_variant_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_registry_values_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_registry_values_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_registry_values_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_registry_values_4.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_registry_values_5.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_subtags_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_subtags_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/simple_language_subtag_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/simple_language_subtag_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/simple_language_subtag_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/tag_with_extension_1.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/tag_with_extension_2.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/tag_with_extension_3.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/maximal.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/minimal.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/levelType/maximal.xml create mode 100644 dev/test_data/Xml/Expected/levelType/minimal.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/alternating_hyphen_underscore.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/ends_with_underscore.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/hyphen_then_underscore.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/many_internal_hyphens.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/many_underscores.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/minimal_digit.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/minimal_lower.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/minimal_underscore.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/minimal_upper.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/single_internal_hyphen.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/underscore_after_first.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/maximal.xml create mode 100644 dev/test_data/Xml/Expected/multiLanguageProperty/minimal.xml create mode 100644 dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/alternating_hyphen_underscore.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/ends_with_underscore.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/hyphen_then_underscore.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/many_internal_hyphens.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/many_underscores.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/minimal_digit.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/minimal_lower.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/minimal_underscore.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/minimal_upper.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/single_internal_hyphen.xml create mode 100644 dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/underscore_after_first.xml create mode 100644 dev/test_data/Xml/Expected/operation/maximal.xml create mode 100644 dev/test_data/Xml/Expected/operation/minimal.xml create mode 100644 dev/test_data/Xml/Expected/operationVariable/maximal.xml create mode 100644 dev/test_data/Xml/Expected/operationVariable/minimal.xml create mode 100644 dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/alternating_hyphen_underscore.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/ends_with_underscore.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/hyphen_then_underscore.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/many_internal_hyphens.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/many_underscores.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/minimal_digit.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/minimal_lower.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/minimal_underscore.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/minimal_upper.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/single_internal_hyphen.xml create mode 100644 dev/test_data/Xml/Expected/property/idShortOverPatternExamples/underscore_after_first.xml create mode 100644 dev/test_data/Xml/Expected/property/maximal.xml create mode 100644 dev/test_data/Xml/Expected/property/minimal.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_URI.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_absolute_path_without_scheme.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_empty.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_integer.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_relative_path_without_scheme.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_an_empty_value_is_valid.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_equals_signs_are_used_for_padding.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_whitespace_is_allowed_anywhere_in_the_value.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_without_space_lowercase.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_without_space_uppercase.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Boolean_false_as_number.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Boolean_false_in_letters.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Boolean_true_as_number.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Boolean_true_in_letters.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_common_example.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_max.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_min.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_negative.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_zero.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_large_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_large_positive_year.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_utc.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_UTC.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_large_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_large_positive_year.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_long_fractional_seconds.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_midnight_with_24_hours.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_midnight_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_year_1_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_year_5_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_year_1_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_year_5_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_decimal.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_decimal_with_long_fractional.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_decimal_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_integer.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_integer_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_very_large_decimal.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_double.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_inf.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_integer.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_integer_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_loss_of_precision_is_not_detected_by_design.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_lowest.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_max.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_minus_inf.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_nan.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_scientific_notation.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_scientific_notation_negative.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_scientific_notation_negative_exponent.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_scientific_notation_positive.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_scientific_notation_positive_exponent.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_very_large_normal.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_very_precise_subnormal.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_day_seconds.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_full.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_long_second_fractal.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_many_many_seconds.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_month_seconds.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_only_seconds.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_only_year.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_float.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_inf.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_integer.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_integer_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_largest_normal.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_largest_number_less_than_one.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_largest_subnormal.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_loss_of_precision_is_not_detected_by_design.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_nan.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_negative_inf.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_scientific_notation.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_scientific_notation_negative.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_scientific_notation_negative_exponent.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_scientific_notation_positive.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_scientific_notation_positive_exponent.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_smallest_number_larger_than_one.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_smallest_positive_normal.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_smallest_positive_subnormal.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_day_not_existing_in_all_months_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_double_digit_day_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_single_digit_day_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_utc_zone.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_double_digit_month_double_digit_day_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_double_digit_month_single_digit_day_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_february_29th_which_does_not_exist_in_all_years.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_single_digit_month_single_digit_day_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_utc_zone.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_double_digit_month_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_single_digit_month_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_utc_zone.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_five_digit_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_five_digit_year.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_common_year_month.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_five_digit_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_very_large_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_very_large_positive_year.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_with_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_with_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_with_utc_zone.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_with_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_utc_zone.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_very_large_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_very_large_positive_year.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_year_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_empty.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_long_random_hex.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_one_one.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_one_two.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_one_two_three_four.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_common_example.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_max.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_min.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_negative.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_zero.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_common_example.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_negative.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_very_large.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_zero.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_common_example.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_max.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_min.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_negative.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_zero.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_negative.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_very_large.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_common_example.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_explicitly_positive_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_minus_zero.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_positive_zero.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_very_large.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_zero.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_explicitly_positive_zero.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_negative.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_very_large.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_zero.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_common_example.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_very_large.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_common_example.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_max.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_min.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_negative.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_zero.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/String_empty.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/String_free_form_text.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_common_example.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_with_long_second_fractional.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_with_second_fractional.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_with_utc_timezone.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_common_example.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_max.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_zero.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_common_example.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_max.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_zero.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_common_example.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_max.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_zero.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_common_example.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_max.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_zero.xml create mode 100644 dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/maximal.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/minimal.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_URI.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_absolute_path_without_scheme.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_empty.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_integer.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_relative_path_without_scheme.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_an_empty_value_is_valid.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_equals_signs_are_used_for_padding.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_whitespace_is_allowed_anywhere_in_the_value.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_without_space_lowercase.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_without_space_uppercase.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Boolean_false_as_number.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Boolean_false_in_letters.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Boolean_true_as_number.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Boolean_true_in_letters.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_common_example.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_max.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_min.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_negative.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_zero.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_large_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_large_positive_year.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_utc.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_UTC.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_large_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_large_positive_year.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_long_fractional_seconds.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_midnight_with_24_hours.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_midnight_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_year_1_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_year_5_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_year_1_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_year_5_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_decimal.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_decimal_with_long_fractional.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_decimal_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_integer.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_integer_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_very_large_decimal.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_double.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_inf.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_integer.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_integer_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_loss_of_precision_is_not_detected_by_design.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_lowest.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_max.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_minus_inf.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_nan.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_scientific_notation.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_scientific_notation_negative.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_scientific_notation_negative_exponent.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_scientific_notation_positive.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_scientific_notation_positive_exponent.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_very_large_normal.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_very_precise_subnormal.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_day_seconds.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_full.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_long_second_fractal.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_many_many_seconds.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_month_seconds.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_only_seconds.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_only_year.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_float.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_inf.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_integer.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_integer_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_largest_normal.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_largest_number_less_than_one.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_largest_subnormal.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_loss_of_precision_is_not_detected_by_design.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_nan.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_negative_inf.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_scientific_notation.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_scientific_notation_negative.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_scientific_notation_negative_exponent.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_scientific_notation_positive.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_scientific_notation_positive_exponent.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_smallest_number_larger_than_one.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_smallest_positive_normal.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_smallest_positive_subnormal.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_day_not_existing_in_all_months_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_double_digit_day_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_single_digit_day_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_utc_zone.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_double_digit_month_double_digit_day_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_double_digit_month_single_digit_day_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_february_29th_which_does_not_exist_in_all_years.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_single_digit_month_single_digit_day_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_utc_zone.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_double_digit_month_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_single_digit_month_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_utc_zone.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_five_digit_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_five_digit_year.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_common_year_month.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_five_digit_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_very_large_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_very_large_positive_year.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_with_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_with_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_with_utc_zone.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_with_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_utc_zone.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_very_large_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_very_large_positive_year.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_year_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_empty.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_long_random_hex.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_one_one.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_one_two.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_one_two_three_four.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_common_example.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_max.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_min.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_negative.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_zero.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_common_example.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_negative.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_very_large.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_zero.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_common_example.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_max.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_min.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_negative.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_zero.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_negative.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_very_large.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_common_example.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_explicitly_positive_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_minus_zero.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_positive_zero.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_very_large.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_zero.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_explicitly_positive_zero.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_negative.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_very_large.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_zero.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_common_example.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_very_large.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_common_example.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_max.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_min.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_negative.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_zero.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_empty.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_free_form_text.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_common_example.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_with_long_second_fractional.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_with_second_fractional.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_with_utc_timezone.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_common_example.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_max.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_zero.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_common_example.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_max.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_zero.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_common_example.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_max.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_zero.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_common_example.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_max.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_zero.xml create mode 100644 dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/alternating_hyphen_underscore.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/ends_with_underscore.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/hyphen_then_underscore.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/many_internal_hyphens.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/many_underscores.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/minimal_digit.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/minimal_lower.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/minimal_underscore.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/minimal_upper.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/single_internal_hyphen.xml create mode 100644 dev/test_data/Xml/Expected/range/idShortOverPatternExamples/underscore_after_first.xml create mode 100644 dev/test_data/Xml/Expected/range/maximal.xml create mode 100644 dev/test_data/Xml/Expected/range/minimal.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_URI.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_absolute_path_without_scheme.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_empty.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_integer.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_relative_path_without_scheme.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_an_empty_value_is_valid.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_equals_signs_are_used_for_padding.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_whitespace_is_allowed_anywhere_in_the_value.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_without_space_lowercase.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_without_space_uppercase.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Boolean_false_as_number.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Boolean_false_in_letters.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Boolean_true_as_number.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Boolean_true_in_letters.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_common_example.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_max.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_min.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_negative.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_zero.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_large_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_large_positive_year.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_utc.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_UTC.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_large_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_large_positive_year.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_long_fractional_seconds.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_midnight_with_24_hours.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_midnight_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_year_1_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_year_5_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_year_1_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_year_5_bce_is_a_leap_year.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_decimal.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_decimal_with_long_fractional.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_decimal_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_integer.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_integer_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_very_large_decimal.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_double.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_inf.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_integer.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_integer_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_loss_of_precision_is_not_detected_by_design.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_lowest.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_max.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_minus_inf.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_nan.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_scientific_notation.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_scientific_notation_negative.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_scientific_notation_negative_exponent.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_scientific_notation_positive.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_scientific_notation_positive_exponent.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_very_large_normal.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_very_precise_subnormal.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_day_seconds.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_full.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_long_second_fractal.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_many_many_seconds.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_month_seconds.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_only_seconds.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_only_year.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_float.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_inf.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_integer.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_integer_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_largest_normal.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_largest_number_less_than_one.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_largest_subnormal.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_loss_of_precision_is_not_detected_by_design.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_nan.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_negative_inf.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_scientific_notation.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_scientific_notation_negative.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_scientific_notation_negative_exponent.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_scientific_notation_positive.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_scientific_notation_positive_exponent.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_smallest_number_larger_than_one.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_smallest_positive_normal.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_smallest_positive_subnormal.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_with_preceding_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_day_not_existing_in_all_months_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_double_digit_day_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_single_digit_day_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_utc_zone.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_double_digit_month_double_digit_day_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_double_digit_month_single_digit_day_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_february_29th_which_does_not_exist_in_all_years.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_single_digit_month_single_digit_day_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_utc_zone.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_double_digit_month_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_single_digit_month_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_utc_zone.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_five_digit_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_five_digit_year.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_common_year_month.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_five_digit_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_very_large_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_very_large_positive_year.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_with_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_with_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_with_utc_zone.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_with_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_utc_zone.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_very_large_negative_year.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_very_large_positive_year.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_year_without_zone.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_empty.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_long_random_hex.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_one_one.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_one_two.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_one_two_three_four.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_common_example.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_max.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_min.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_negative.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_zero.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_common_example.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_negative.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_very_large.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_zero.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_common_example.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_max.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_min.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_negative.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_zero.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_negative.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_very_large.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_common_example.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_explicitly_positive_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_minus_zero.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_positive_zero.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_very_large.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_zero.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_explicitly_positive_zero.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_negative.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_very_large.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_zero.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_common_example.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_very_large.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_common_example.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_max.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_min.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_negative.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_zero.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/String_empty.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/String_free_form_text.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_common_example.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_negative_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_positive_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_with_long_second_fractional.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_with_second_fractional.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_with_utc_timezone.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_zero_offset.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_common_example.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_max.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_zero.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_common_example.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_max.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_zero.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_common_example.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_max.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_zero.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_common_example.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_max.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_zero.xml create mode 100644 dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Expected/reference/external_reference_first_key_in_generic_globally_identifiables.xml create mode 100644 dev/test_data/Xml/Expected/reference/external_reference_last_key_in_generic_fragment_keys.xml create mode 100644 dev/test_data/Xml/Expected/reference/external_reference_last_key_in_generic_globally_identifiable.xml create mode 100644 dev/test_data/Xml/Expected/reference/maximal.xml create mode 100644 dev/test_data/Xml/Expected/reference/minimal.xml create mode 100644 dev/test_data/Xml/Expected/reference/model_reference_first_key_in_globally_and_aas_identifiables.xml create mode 100644 dev/test_data/Xml/Expected/reference/model_reference_fragment_after_blob.xml create mode 100644 dev/test_data/Xml/Expected/reference/model_reference_valid_key_value_after_list.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/alternating_hyphen_underscore.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/ends_with_underscore.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/hyphen_then_underscore.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/many_internal_hyphens.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/many_underscores.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/minimal_digit.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/minimal_lower.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/minimal_underscore.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/minimal_upper.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/single_internal_hyphen.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/underscore_after_first.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/maximal.xml create mode 100644 dev/test_data/Xml/Expected/referenceElement/minimal.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/alternating_hyphen_underscore.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/ends_with_underscore.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/hyphen_then_underscore.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/many_internal_hyphens.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/many_underscores.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/minimal_digit.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/minimal_lower.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/minimal_underscore.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/minimal_upper.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/single_internal_hyphen.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/underscore_after_first.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/maximal.xml create mode 100644 dev/test_data/Xml/Expected/relationshipElement/minimal.xml create mode 100644 dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/dash.xml create mode 100644 dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/dots.xml create mode 100644 dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/number prefix and suffix.xml create mode 100644 dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/only_letters.xml create mode 100644 dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/plus.xml create mode 100644 dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/random_common_MIME_type.xml create mode 100644 dev/test_data/Xml/Expected/resource/maximal.xml create mode 100644 dev/test_data/Xml/Expected/resource/minimal.xml create mode 100644 dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/resource/pathOverPatternExamples/made_up_01.xml create mode 100644 dev/test_data/Xml/Expected/resource/pathOverPatternExamples/made_up_02.xml create mode 100644 dev/test_data/Xml/Expected/resource/pathOverPatternExamples/made_up_03.xml create mode 100644 dev/test_data/Xml/Expected/resource/pathOverPatternExamples/made_up_04.xml create mode 100644 dev/test_data/Xml/Expected/resource/pathOverPatternExamples/made_up_05.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/maximal.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/minimal.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/alternating_hyphen_underscore.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/ends_with_underscore.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/hyphen_then_underscore.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/many_internal_hyphens.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/many_underscores.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/minimal_digit.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/minimal_lower.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/minimal_underscore.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/minimal_upper.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/single_internal_hyphen.xml create mode 100644 dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/underscore_after_first.xml create mode 100644 dev/test_data/Xml/Expected/submodel/maximal.xml create mode 100644 dev/test_data/Xml/Expected/submodel/minimal.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/alternating_hyphen_underscore.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/ends_with_underscore.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/hyphen_then_underscore.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/many_internal_hyphens.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/many_underscores.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/minimal_digit.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/minimal_lower.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/minimal_underscore.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/minimal_upper.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/single_internal_hyphen.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/underscore_after_first.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/maximal.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementCollection/minimal.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/alternating_hyphen_underscore.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/ends_with_underscore.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/hyphen_then_underscore.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/many_internal_hyphens.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/many_underscores.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/minimal_digit.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/minimal_lower.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/minimal_underscore.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/minimal_upper.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/single_internal_hyphen.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/underscore_after_first.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/list_id_short_in_value.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/list_no_semantic_id_list_element.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/list_one_child_without_semantic_id.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/list_two_properties.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/maximal.xml create mode 100644 dev/test_data/Xml/Expected/submodelElementList/minimal.xml create mode 100644 dev/test_data/Xml/Expected/valueList/maximal.xml create mode 100644 dev/test_data/Xml/Expected/valueList/minimal.xml create mode 100644 dev/test_data/Xml/Expected/valueReferencePair/maximal.xml create mode 100644 dev/test_data/Xml/Expected/valueReferencePair/minimal.xml create mode 100644 dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_01.xml create mode 100644 dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_02.xml create mode 100644 dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_03.xml create mode 100644 dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_04.xml create mode 100644 dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_05.xml create mode 100644 dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_06.xml create mode 100644 dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_07.xml create mode 100644 dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_08.xml create mode 100644 dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_09.xml create mode 100644 dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/external_reference_violation_first_key_not_in_globally_identifiables.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/external_reference_violation_invalid_last_key.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_first_key_not_in_aas_identifiables.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_first_key_not_in_globally_identifiables.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_fragment_reference_in_the_middle.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_fragment_reference_not_after_file_or_blob.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_invalid_key_value_after_list.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_second_key_not_in_fragment_keys.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/submodelElementList/list_violation_of_semantic_id_list_element.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/submodelElementList/list_violation_of_type_value_list_element.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/submodelElementList/list_violation_of_value_type_list_element.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/submodelElementList/list_violation_semantic_id_mismatch_between_elements.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/administrativeInformation/createdAt.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/administrativeInformation/updatedAt.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/basicEventElement/lastUpdate.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/eventPayload/timeStamp.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_too_many_fragments.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_an_odd_number_of_characters_is_not_valid.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_equals_signs_may_only_appear_at_the_end.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_false_as_number_with_leading_zeros.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_false_in_camelcase.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_false_in_uppercase.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_true_as_number_with_leading_zeros.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_true_in_camelcase.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_true_in_uppercase.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_min_minus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_time_with_UTC.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_time_with_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_time_without_zone.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_with_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_with_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_with_seconds_in_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_non_existing_february_29th.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_time_with_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_time_with_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_time_with_seconds_in_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_time_with_unexpected_prefix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_time_with_unexpected_suffix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_with_time_zone.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_non_existing_february_29th.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_without_minutes.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_without_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_year_4_bce_february_29th.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_year_zero_doesnt_exist.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_year_4_bce_february_29th.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_year_zero_doesnt_exist.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Decimal_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Decimal_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_inf_case_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_nan_case_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_no_fraction_in_scientific_notation.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_plus_inf.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_too_large.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_integer.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_leading_P_missing.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_negative_years.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_positive_year_negative_months.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_separator_T_missing.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_the_order_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_inf_case_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_nan_case_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_no_fraction_in_scientific_notation.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_plus_inf.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_too_large.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_day_outside_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_missing_leading_dashes.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_missing_leading_digit.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_unexpected_suffix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_day_outside_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_missing_leading_dashes.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_missing_leading_digit.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_non_existing_april_31st.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_unexpected_prefix_and_suffix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_missing_leading_dashes.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_missing_leading_digit.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_month_outside_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_unexpected_prefix_and_suffix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_missing_century.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_missing_century.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_missing_month.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_month_out_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_unexpected_month.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Hex_binary_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Hex_binary_odd_number_of_digits.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Hex_binary_single_digit.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_min_minus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Integer_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Integer_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Integer_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Integer_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Integer_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_min_minus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_explicitly_positive_zero.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_implicitly_positive.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_zero.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_negative_integer_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_negative_integer_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_negative_integer_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_negative_integer_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_implicitly_positive.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_zero.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_min_minus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_hour_out_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_minute_out_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_missing_padded_zeros.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_missing_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_second_out_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_too_many_fragments.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_false_as_number_with_leading_zeros.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_false_in_camelcase.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_false_in_uppercase.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_true_as_number_with_leading_zeros.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_true_in_camelcase.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_true_in_uppercase.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_min_minus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_time_with_UTC.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_time_with_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_time_without_zone.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_with_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_with_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_with_seconds_in_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_non_existing_february_29th.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_time_with_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_time_with_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_time_with_seconds_in_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_time_with_unexpected_prefix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_time_with_unexpected_suffix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_with_time_zone.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_non_existing_february_29th.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_without_minutes.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_without_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_year_4_bce_february_29th.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_year_zero_doesnt_exist.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_year_4_bce_february_29th.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_year_zero_doesnt_exist.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Decimal_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Decimal_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_inf_case_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_nan_case_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_no_fraction_in_scientific_notation.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_plus_inf.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_too_large.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_integer.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_leading_P_missing.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_negative_years.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_positive_year_negative_months.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_separator_T_missing.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_the_order_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_inf_case_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_nan_case_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_no_fraction_in_scientific_notation.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_plus_inf.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_too_large.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_day_outside_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_missing_leading_dashes.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_missing_leading_digit.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_unexpected_suffix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_day_outside_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_missing_leading_dashes.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_missing_leading_digit.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_non_existing_april_31st.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_unexpected_prefix_and_suffix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_missing_leading_dashes.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_missing_leading_digit.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_month_outside_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_unexpected_prefix_and_suffix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_missing_century.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_missing_century.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_missing_month.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_month_out_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_unexpected_month.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Hex_binary_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Hex_binary_odd_number_of_digits.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Hex_binary_single_digit.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_min_minus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Integer_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Integer_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Integer_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Integer_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Integer_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_min_minus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_explicitly_positive_zero.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_implicitly_positive.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_zero.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_negative_integer_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_negative_integer_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_negative_integer_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_negative_integer_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_implicitly_positive.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_zero.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_min_minus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_hour_out_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_minute_out_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_missing_padded_zeros.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_missing_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_second_out_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_too_many_fragments.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_false_as_number_with_leading_zeros.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_false_in_camelcase.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_false_in_uppercase.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_true_as_number_with_leading_zeros.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_true_in_camelcase.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_true_in_uppercase.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_min_minus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_time_with_UTC.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_time_with_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_time_without_zone.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_with_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_with_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_with_seconds_in_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_non_existing_february_29th.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_time_with_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_time_with_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_time_with_seconds_in_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_time_with_unexpected_prefix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_time_with_unexpected_suffix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_with_time_zone.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_non_existing_february_29th.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_without_minutes.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_without_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_year_4_bce_february_29th.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_year_zero_doesnt_exist.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_year_4_bce_february_29th.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_year_zero_doesnt_exist.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Decimal_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Decimal_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_inf_case_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_nan_case_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_no_fraction_in_scientific_notation.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_plus_inf.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_too_large.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_integer.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_leading_P_missing.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_negative_years.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_positive_year_negative_months.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_separator_T_missing.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_the_order_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_inf_case_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_nan_case_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_no_fraction_in_scientific_notation.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_plus_inf.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_too_large.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_day_outside_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_missing_leading_dashes.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_missing_leading_digit.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_unexpected_suffix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_day_outside_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_missing_leading_dashes.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_missing_leading_digit.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_non_existing_april_31st.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_unexpected_prefix_and_suffix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_missing_leading_dashes.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_missing_leading_digit.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_month_outside_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_unexpected_prefix_and_suffix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_missing_century.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_missing_century.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_missing_month.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_month_out_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_unexpected_month.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Hex_binary_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Hex_binary_odd_number_of_digits.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Hex_binary_single_digit.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_min_minus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Integer_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Integer_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Integer_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Integer_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Integer_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_min_minus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_explicitly_positive_zero.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_implicitly_positive.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_zero.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_negative_integer_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_negative_integer_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_negative_integer_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_negative_integer_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_implicitly_positive.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_zero.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_min_minus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_hour_out_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_minute_out_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_missing_padded_zeros.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_missing_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_second_out_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_too_many_fragments.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_false_as_number_with_leading_zeros.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_false_in_camelcase.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_false_in_uppercase.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_true_as_number_with_leading_zeros.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_true_in_camelcase.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_true_in_uppercase.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_min_minus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_time_with_UTC.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_time_with_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_time_without_zone.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_with_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_with_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_with_seconds_in_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_non_existing_february_29th.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_time_with_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_time_with_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_time_with_seconds_in_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_time_with_unexpected_prefix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_time_with_unexpected_suffix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_with_time_zone.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_non_existing_february_29th.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_without_minutes.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_without_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_year_4_bce_february_29th.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_year_zero_doesnt_exist.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_year_4_bce_february_29th.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_year_zero_doesnt_exist.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Decimal_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Decimal_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_inf_case_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_nan_case_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_no_fraction_in_scientific_notation.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_plus_inf.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_too_large.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_integer.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_leading_P_missing.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_negative_years.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_positive_year_negative_months.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_separator_T_missing.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_the_order_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_inf_case_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_nan_case_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_no_fraction_in_scientific_notation.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_plus_inf.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_too_large.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_day_outside_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_missing_leading_dashes.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_missing_leading_digit.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_unexpected_suffix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_day_outside_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_missing_leading_dashes.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_missing_leading_digit.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_non_existing_april_31st.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_unexpected_prefix_and_suffix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_missing_leading_dashes.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_missing_leading_digit.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_month_outside_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_unexpected_prefix_and_suffix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_missing_century.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_missing_century.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_missing_month.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_month_out_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_unexpected_month.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Hex_binary_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Hex_binary_odd_number_of_digits.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Hex_binary_single_digit.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_min_minus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Integer_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Integer_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Integer_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Integer_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Integer_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_min_minus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_explicitly_positive_zero.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_implicitly_positive.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_zero.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_negative_integer_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_negative_integer_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_negative_integer_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_negative_integer_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_explicitly_positive.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_implicitly_positive.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_zero.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_zero_prefixed_with_zeros.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_min_minus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_hour_out_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_invalid_negative_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_invalid_offset_with_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_invalid_positive_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_minute_out_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_missing_padded_zeros.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_missing_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_second_out_of_range.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_decimal.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_mathematical_formula.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_max_plus_one.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_scientific.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/administrativeInformation/revision.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/administrativeInformation/templateId.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/administrativeInformation/version.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/annotatedRelationshipElement/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/annotatedRelationshipElement/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/assetAdministrationShell/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/assetAdministrationShell/id.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/assetAdministrationShell/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/assetInformation/assetType.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/assetInformation/globalAssetId.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/basicEventElement/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/basicEventElement/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/basicEventElement/messageTopic.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/blob/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/blob/contentType.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/blob/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/capability/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/capability/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/conceptDescription/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/conceptDescription/id.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/conceptDescription/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/dataSpecificationIec61360/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/entity/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/entity/globalAssetId.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/entity/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/eventPayload/topic.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/extension/name.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/file/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/file/contentType.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/file/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/file/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/key/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/langStringDefinitionTypeIec61360/text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/langStringNameType/text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/langStringPreferredNameTypeIec61360/text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/langStringShortNameTypeIec61360/text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/langStringTextType/text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/multiLanguageProperty/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/multiLanguageProperty/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/operation/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/operation/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/property/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/property/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/qualifier/type.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/range/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/range/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/referenceElement/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/referenceElement/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/relationshipElement/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/relationshipElement/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/resource/contentType.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/resource/path.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/specificAssetId/name.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/specificAssetId/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodel/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodel/id.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodel/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodelElementCollection/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodelElementCollection/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodelElementList/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodelElementList/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/valueReferencePair/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/administrativeInformation/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/administrativeInformation/revision.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/administrativeInformation/templateId.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/administrativeInformation/version.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/annotations.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/id.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/submodels.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetInformation/assetType.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetInformation/globalAssetId.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetInformation/specificAssetIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/messageTopic.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/contentType.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/id.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/isCaseOf.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/definition.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/preferredName.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/shortName.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/sourceOfDefinition.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/symbol.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/unit.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/valueFormat.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/globalAssetId.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/specificAssetIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/statements.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/environment/assetAdministrationShells.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/environment/conceptDescriptions.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/environment/submodels.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/eventPayload/topic.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/extension/name.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/extension/refersTo.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/extension/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/contentType.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/key/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/langStringDefinitionTypeIec61360/text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/langStringNameType/text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/langStringPreferredNameTypeIec61360/text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/langStringShortNameTypeIec61360/text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/langStringTextType/text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/inoutputVariables.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/inputVariables.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/outputVariables.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/qualifier/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/qualifier/type.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/reference/keys.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/resource/contentType.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/resource/path.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/specificAssetId/name.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/specificAssetId/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/specificAssetId/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/id.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/submodelElements.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/valueList/valueReferencePairs.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/valueReferencePair/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/date_time_with_UTC_and_suffix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/date_time_with_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/date_time_without_zone.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/invalid_february_29th.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/only_date.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/only_date_with_time_zone.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/without_minutes.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/without_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/revision/dot.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/revision/letter.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/revision/negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/date_time_with_UTC_and_suffix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/date_time_with_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/date_time_without_zone.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/invalid_february_29th.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/only_date.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/only_date_with_time_zone.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/without_minutes.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/without_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/version/dot.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/version/letter.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/version/negative.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/annotatedRelationshipElement/idShort/negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/annotatedRelationshipElement/idShort/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/annotatedRelationshipElement/idShort/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/annotatedRelationshipElement/idShort/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/annotatedRelationshipElement/idShort/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/assetAdministrationShell/idShort/negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/assetAdministrationShell/idShort/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/assetAdministrationShell/idShort/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/assetAdministrationShell/idShort/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/assetAdministrationShell/idShort/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/idShort/negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/idShort/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/idShort/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/idShort/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/idShort/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/date_time_with_UTC_and_suffix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/date_time_with_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/date_time_without_zone.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/invalid_february_29th.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/only_date.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/only_date_with_time_zone.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/without_minutes.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/without_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/integer.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/leading_P_missing.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/negative_years.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/positive_year_negative_months.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/separator_T_missing.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/the_order_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/integer.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/leading_P_missing.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/negative_years.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/positive_year_negative_months.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/separator_T_missing.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/the_order_matters.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/number.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/idShort/negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/idShort/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/idShort/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/idShort/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/idShort/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/capability/idShort/negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/capability/idShort/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/capability/idShort/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/capability/idShort/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/capability/idShort/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/conceptDescription/idShort/negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/conceptDescription/idShort/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/conceptDescription/idShort/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/conceptDescription/idShort/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/conceptDescription/idShort/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/entity/idShort/negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/entity/idShort/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/entity/idShort/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/entity/idShort/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/entity/idShort/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/date_time_with_UTC_and_suffix.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/date_time_with_offset.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/date_time_without_zone.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/invalid_february_29th.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/only_date.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/only_date_with_time_zone.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/without_minutes.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/without_seconds.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/number.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/idShort/negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/idShort/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/idShort/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/idShort/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/idShort/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_made_up_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_made_up_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/free_form_text.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/multiLanguageProperty/idShort/negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/multiLanguageProperty/idShort/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/multiLanguageProperty/idShort/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/multiLanguageProperty/idShort/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/multiLanguageProperty/idShort/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/operation/idShort/negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/operation/idShort/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/operation/idShort/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/operation/idShort/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/operation/idShort/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/property/idShort/negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/property/idShort/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/property/idShort/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/property/idShort/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/property/idShort/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/range/idShort/negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/range/idShort/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/range/idShort/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/range/idShort/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/range/idShort/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/referenceElement/idShort/negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/referenceElement/idShort/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/referenceElement/idShort/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/referenceElement/idShort/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/referenceElement/idShort/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/relationshipElement/idShort/negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/relationshipElement/idShort/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/relationshipElement/idShort/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/relationshipElement/idShort/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/relationshipElement/idShort/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/empty.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/number.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_03.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_07.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_08.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_09.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_10.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_made_up_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_made_up_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodel/idShort/negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodel/idShort/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodel/idShort/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodel/idShort/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodel/idShort/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementCollection/idShort/negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementCollection/idShort/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementCollection/idShort/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementCollection/idShort/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementCollection/idShort/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementList/idShort/negatively_fuzzed_01.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementList/idShort/negatively_fuzzed_02.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementList/idShort/negatively_fuzzed_04.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementList/idShort/negatively_fuzzed_05.xml create mode 100644 dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementList/idShort/negatively_fuzzed_06.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/administrativeInformation/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/annotatedRelationshipElement/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/assetAdministrationShell/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/assetInformation/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/basicEventElement/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/blob/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/capability/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/conceptDescription/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/dataSpecificationIec61360/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/embeddedDataSpecification/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/entity/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/environment/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/eventPayload/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/extension/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/file/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/key/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/langStringDefinitionTypeIec61360/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/langStringNameType/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/langStringPreferredNameTypeIec61360/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/langStringShortNameTypeIec61360/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/langStringTextType/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/levelType/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/multiLanguageProperty/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/operation/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/operationVariable/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/property/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/qualifier/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/range/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/reference/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/referenceElement/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/relationshipElement/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/resource/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/specificAssetId/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/submodel/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/submodelElementCollection/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/submodelElementList/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/valueList/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/valueReferencePair/wrong.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/assetAdministrationShell/assetInformation.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/assetAdministrationShell/id.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/assetInformation/assetKind.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/basicEventElement/direction.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/basicEventElement/observed.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/basicEventElement/state.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/conceptDescription/id.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/dataSpecificationIec61360/preferredName.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/embeddedDataSpecification/dataSpecification.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/embeddedDataSpecification/dataSpecificationContent.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/eventPayload/observableReference.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/eventPayload/source.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/eventPayload/timeStamp.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/extension/name.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/key/type.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/key/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringDefinitionTypeIec61360/language.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringDefinitionTypeIec61360/text.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringNameType/language.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringNameType/text.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringPreferredNameTypeIec61360/language.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringPreferredNameTypeIec61360/text.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringShortNameTypeIec61360/language.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringShortNameTypeIec61360/text.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringTextType/language.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringTextType/text.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/levelType/max.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/levelType/min.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/levelType/nom.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/levelType/typ.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/operationVariable/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/property/valueType.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/qualifier/type.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/qualifier/valueType.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/range/valueType.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/reference/keys.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/reference/type.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/resource/path.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/specificAssetId/name.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/specificAssetId/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/submodel/id.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/submodelElementList/typeValueListElement.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/valueList/valueReferencePairs.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/valueReferencePair/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/createdAt.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/creator.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/revision.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/templateId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/updatedAt.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/version.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/annotations.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/first.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/second.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/semanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/administration.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/assetInformation.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/derivedFrom.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/id.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/submodels.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetInformation/assetKind.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetInformation/assetType.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetInformation/defaultThumbnail.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetInformation/globalAssetId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetInformation/specificAssetIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/direction.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/lastUpdate.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/maxInterval.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/messageBroker.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/messageTopic.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/minInterval.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/observed.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/semanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/state.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/contentType.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/semanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/semanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/administration.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/id.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/isCaseOf.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/dataType.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/definition.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/levelType.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/preferredName.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/shortName.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/sourceOfDefinition.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/symbol.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/unit.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/unitId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/valueFormat.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/embeddedDataSpecification/dataSpecification.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/embeddedDataSpecification/dataSpecificationContent.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/entityType.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/globalAssetId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/semanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/specificAssetIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/statements.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/environment/assetAdministrationShells.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/environment/conceptDescriptions.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/environment/submodels.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/observableReference.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/observableSemanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/payload.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/source.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/sourceSemanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/subjectId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/timeStamp.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/topic.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/name.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/refersTo.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/semanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/valueType.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/contentType.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/semanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/key/type.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/key/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringDefinitionTypeIec61360/language.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringDefinitionTypeIec61360/text.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringNameType/language.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringNameType/text.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringPreferredNameTypeIec61360/language.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringPreferredNameTypeIec61360/text.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringShortNameTypeIec61360/language.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringShortNameTypeIec61360/text.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringTextType/language.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringTextType/text.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/levelType/max.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/levelType/min.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/levelType/nom.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/levelType/typ.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/semanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/valueId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/inoutputVariables.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/inputVariables.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/outputVariables.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/semanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operationVariable/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/semanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/valueId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/valueType.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/kind.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/semanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/type.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/valueId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/valueType.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/max.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/min.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/semanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/valueType.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/reference/keys.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/reference/referredSemanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/reference/type.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/semanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/first.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/second.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/semanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/resource/contentType.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/resource/path.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/specificAssetId/externalSubjectId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/specificAssetId/name.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/specificAssetId/semanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/specificAssetId/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/specificAssetId/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/administration.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/id.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/kind.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/semanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/submodelElements.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/semanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/category.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/description.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/displayName.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/embeddedDataSpecifications.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/extensions.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/idShort.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/orderRelevant.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/qualifiers.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/semanticId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/semanticIdListElement.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/supplementalSemanticIds.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/typeValueListElement.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/valueTypeListElement.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/valueList/valueReferencePairs.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/valueReferencePair/value.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/valueReferencePair/valueId.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/administrativeInformation/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/annotatedRelationshipElement/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/assetAdministrationShell/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/assetInformation/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/basicEventElement/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/blob/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/capability/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/conceptDescription/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/dataSpecificationIec61360/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/embeddedDataSpecification/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/entity/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/environment/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/eventPayload/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/extension/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/file/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/key/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/langStringDefinitionTypeIec61360/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/langStringNameType/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/langStringPreferredNameTypeIec61360/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/langStringShortNameTypeIec61360/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/langStringTextType/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/levelType/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/multiLanguageProperty/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/operation/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/operationVariable/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/property/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/qualifier/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/range/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/reference/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/referenceElement/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/relationshipElement/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/resource/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/specificAssetId/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/submodel/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/submodelElementCollection/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/submodelElementList/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/valueList/instance.xml create mode 100644 dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/valueReferencePair/instance.xml create mode 100644 dev/test_data/descend_and_pass_through_visitor/administrativeInformation/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/annotatedRelationshipElement/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/assetAdministrationShell/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/assetInformation/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/basicEventElement/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/blob/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/capability/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/conceptDescription/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/dataSpecificationIec61360/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/embeddedDataSpecification/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/entity/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/environment/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/eventPayload/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/extension/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/file/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/key/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/langStringDefinitionTypeIec61360/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/langStringNameType/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/langStringPreferredNameTypeIec61360/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/langStringShortNameTypeIec61360/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/langStringTextType/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/levelType/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/multiLanguageProperty/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/operation/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/operationVariable/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/property/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/qualifier/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/range/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/reference/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/referenceElement/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/relationshipElement/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/resource/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/specificAssetId/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/submodel/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/submodelElementCollection/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/submodelElementList/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/valueList/maximal.xml.trace create mode 100644 dev/test_data/descend_and_pass_through_visitor/valueReferencePair/maximal.xml.trace create mode 100644 dev/test_data/descend_once/administrativeInformation/maximal.xml.trace create mode 100644 dev/test_data/descend_once/annotatedRelationshipElement/maximal.xml.trace create mode 100644 dev/test_data/descend_once/assetAdministrationShell/maximal.xml.trace create mode 100644 dev/test_data/descend_once/assetInformation/maximal.xml.trace create mode 100644 dev/test_data/descend_once/basicEventElement/maximal.xml.trace create mode 100644 dev/test_data/descend_once/blob/maximal.xml.trace create mode 100644 dev/test_data/descend_once/capability/maximal.xml.trace create mode 100644 dev/test_data/descend_once/conceptDescription/maximal.xml.trace create mode 100644 dev/test_data/descend_once/dataSpecificationIec61360/maximal.xml.trace create mode 100644 dev/test_data/descend_once/embeddedDataSpecification/maximal.xml.trace create mode 100644 dev/test_data/descend_once/entity/maximal.xml.trace create mode 100644 dev/test_data/descend_once/environment/maximal.xml.trace create mode 100644 dev/test_data/descend_once/eventPayload/maximal.xml.trace create mode 100644 dev/test_data/descend_once/extension/maximal.xml.trace create mode 100644 dev/test_data/descend_once/file/maximal.xml.trace create mode 100644 dev/test_data/descend_once/key/maximal.xml.trace create mode 100644 dev/test_data/descend_once/langStringDefinitionTypeIec61360/maximal.xml.trace create mode 100644 dev/test_data/descend_once/langStringNameType/maximal.xml.trace create mode 100644 dev/test_data/descend_once/langStringPreferredNameTypeIec61360/maximal.xml.trace create mode 100644 dev/test_data/descend_once/langStringShortNameTypeIec61360/maximal.xml.trace create mode 100644 dev/test_data/descend_once/langStringTextType/maximal.xml.trace create mode 100644 dev/test_data/descend_once/levelType/maximal.xml.trace create mode 100644 dev/test_data/descend_once/multiLanguageProperty/maximal.xml.trace create mode 100644 dev/test_data/descend_once/operation/maximal.xml.trace create mode 100644 dev/test_data/descend_once/operationVariable/maximal.xml.trace create mode 100644 dev/test_data/descend_once/property/maximal.xml.trace create mode 100644 dev/test_data/descend_once/qualifier/maximal.xml.trace create mode 100644 dev/test_data/descend_once/range/maximal.xml.trace create mode 100644 dev/test_data/descend_once/reference/maximal.xml.trace create mode 100644 dev/test_data/descend_once/referenceElement/maximal.xml.trace create mode 100644 dev/test_data/descend_once/relationshipElement/maximal.xml.trace create mode 100644 dev/test_data/descend_once/resource/maximal.xml.trace create mode 100644 dev/test_data/descend_once/specificAssetId/maximal.xml.trace create mode 100644 dev/test_data/descend_once/submodel/maximal.xml.trace create mode 100644 dev/test_data/descend_once/submodelElementCollection/maximal.xml.trace create mode 100644 dev/test_data/descend_once/submodelElementList/maximal.xml.trace create mode 100644 dev/test_data/descend_once/valueList/maximal.xml.trace create mode 100644 dev/test_data/descend_once/valueReferencePair/maximal.xml.trace create mode 100644 dev/test_data/source.json create mode 100644 dev/test_data/test_X_or_default/extension/on_maximal.xml/value_type_or_default.trace create mode 100644 dev/test_data/test_X_or_default/extension/on_minimal.xml/value_type_or_default.trace create mode 100644 dev/test_data/test_X_or_default/qualifier/on_maximal.xml/kind_or_default.trace create mode 100644 dev/test_data/test_X_or_default/qualifier/on_minimal.xml/kind_or_default.trace create mode 100644 dev/test_data/test_X_or_default/submodel/on_maximal.xml/kind_or_default.trace create mode 100644 dev/test_data/test_X_or_default/submodel/on_minimal.xml/kind_or_default.trace create mode 100644 dev/test_data/test_X_or_default/submodelElementList/on_maximal.xml/order_relevant_or_default.trace create mode 100644 dev/test_data/test_X_or_default/submodelElementList/on_minimal.xml/order_relevant_or_default.trace create mode 100644 dev/test_data/test_over_X_or_empty/administrativeInformation/on_maximal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/administrativeInformation/on_minimal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_annotations_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_annotations_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_maximal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_maximal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_maximal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_maximal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_maximal.xml/over_submodels_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_minimal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_minimal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_minimal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_minimal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_minimal.xml/over_submodels_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/assetInformation/on_maximal.xml/over_specific_asset_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/assetInformation/on_minimal.xml/over_specific_asset_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/conceptDescription/on_maximal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/conceptDescription/on_maximal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/conceptDescription/on_maximal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/conceptDescription/on_maximal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/conceptDescription/on_maximal.xml/over_is_case_of_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/conceptDescription/on_minimal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/conceptDescription/on_minimal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/conceptDescription/on_minimal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/conceptDescription/on_minimal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/conceptDescription/on_minimal.xml/over_is_case_of_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/dataSpecificationIec61360/on_maximal.xml/over_definition_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/dataSpecificationIec61360/on_maximal.xml/over_short_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/dataSpecificationIec61360/on_minimal.xml/over_definition_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/dataSpecificationIec61360/on_minimal.xml/over_short_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_specific_asset_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_statements_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_specific_asset_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_statements_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/environment/on_maximal.xml/over_asset_administration_shells_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/environment/on_maximal.xml/over_concept_descriptions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/environment/on_maximal.xml/over_submodels_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/environment/on_minimal.xml/over_asset_administration_shells_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/environment/on_minimal.xml/over_concept_descriptions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/environment/on_minimal.xml/over_submodels_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/extension/on_maximal.xml/over_refers_to_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/extension/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/extension/on_minimal.xml/over_refers_to_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/extension/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_value_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_value_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_inoutput_variables_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_input_variables_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_output_variables_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_inoutput_variables_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_input_variables_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_output_variables_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/qualifier/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/qualifier/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/specificAssetId/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/specificAssetId/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_submodel_elements_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_submodel_elements_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_value_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_value_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_value_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_description_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_display_name_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_embedded_data_specifications_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_extensions_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_qualifiers_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace create mode 100644 dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_value_or_empty.trace create mode 100644 dev/tests/__init__.py create mode 100644 dev/tests/common.py create mode 100644 dev/tests/common_jsonization.py create mode 100644 dev/tests/common_xmlization.py create mode 100644 dev/tests/test_arithmetic.py create mode 100644 dev/tests/test_descend_and_pass_through_visitor.py create mode 100644 dev/tests/test_descend_once.py create mode 100644 dev/tests/test_for_over_x_or_empty.py create mode 100644 dev/tests/test_for_x_or_default.py create mode 100644 dev/tests/test_json_value_verification.py create mode 100644 dev/tests/test_jsonization_of_classes_with_descendants.py create mode 100644 dev/tests/test_jsonization_of_concrete_classes.py create mode 100644 dev/tests/test_jsonization_of_enums.py create mode 100644 dev/tests/test_parse_int.py create mode 100644 dev/tests/test_string_helpers.py create mode 100644 dev/tests/test_verification.py create mode 100644 dev/tests/test_xml_rpc.py create mode 100644 dev/tests/test_xmlization_of_classes_with_descendants.py create mode 100644 dev/tests/test_xmlization_of_concrete_classes.py create mode 100644 docs/how-to-build-docs.md create mode 100644 docs/requirements.txt create mode 100644 docs/source/changelog.rst create mode 100644 docs/source/conf.py create mode 100644 docs/source/contributing.rst create mode 100644 docs/source/design_decisions.rst create mode 100644 docs/source/getting_started/create_get_set.rst create mode 100644 docs/source/getting_started/index.rst create mode 100644 docs/source/getting_started/install.rst create mode 100644 docs/source/getting_started/iterate_and_transform.rst create mode 100644 docs/source/getting_started/jsonize.rst create mode 100644 docs/source/getting_started/verify.rst create mode 100644 docs/source/getting_started/xmlize.rst create mode 100644 docs/source/index.rst create mode 100644 docs/source/introduction.rst create mode 100644 pyproject.toml diff --git a/.github/workflows/build-test-docs.yml b/.github/workflows/build-test-docs.yml new file mode 100644 index 0000000..cffd57b --- /dev/null +++ b/.github/workflows/build-test-docs.yml @@ -0,0 +1,37 @@ +name: Build-test docs + +on: + push: + branches: [ master, main ] + tags: [ "**" ] + pull_request: + branches: [ "**" ] + +jobs: + Execute: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ['3.10'] + + steps: + - uses: actions/checkout@master + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip + pip3 install -e . + pip3 install -r docs/requirements.txt + + - name: Build the docs + run: | + sphinx-build docs/source docs/build + + - name: Test the docs + run: | + sphinx-build docs/source docs/build -b doctest diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..815dd76 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,94 @@ +name: CI + +on: + push: + branches: [ master, main ] + tags: [ "**" ] + pull_request: + branches: [ "**" ] + +jobs: + Only-test: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ['3.9', '3.10', '3.11', '3.12'] + + steps: + - uses: actions/checkout@master + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip + pip3 install --upgrade coveralls + pip3 install -e . + pip3 install -e dev/ + + - name: Run tests + run: | + python3 dev/continuous_integration/precommit.py --select test + +# NOTE (mristin, 2026-02-27): +# The coveralls.io seems to be down for a longer time, so we are disabling it +# for the moment. +# - name: Upload Coverage +# run: coveralls --service=github +# env: +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# COVERALLS_FLAG_NAME: ${{ matrix.python-version }} +# COVERALLS_PARALLEL: true + + + Check-and-test: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ['3.10'] + + steps: + - uses: actions/checkout@master + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip + pip3 install --upgrade coveralls + pip3 install -e . + pip3 install -e dev/ + + - name: Run all checks + run: | + python3 dev/continuous_integration/precommit.py + +# NOTE (mristin, 2026-02-27): +# The coveralls.io seems to be down for a longer time, so we are disabling it +# for the moment. +# - name: Upload Coverage +# run: coveralls --service=github +# env: +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# COVERALLS_FLAG_NAME: ${{ matrix.python-version }} +# COVERALLS_PARALLEL: true +# +# +# Finish-Coveralls: +# name: Finish Coveralls +# needs: [Only-test, Check-and-test] +# runs-on: ubuntu-latest +# container: python:3-slim +# steps: +# - name: Finish Coveralls +# run: | +# pip3 install --upgrade coveralls +# coveralls --finish --service=github +# env: +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/publish-to-pypi.yml b/.github/workflows/publish-to-pypi.yml new file mode 100644 index 0000000..b2dbbb7 --- /dev/null +++ b/.github/workflows/publish-to-pypi.yml @@ -0,0 +1,36 @@ +# Based on https://github.com/actions/starter-workflows/blob/main/ci/python-publish.yml +name: Publish to Pypi + +on: + release: + types: [created] + + push: + branches: + - '*/fixed-publishing-to-pypi' + +jobs: + deploy: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.x' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install build setuptools wheel twine + + - name: Build and publish + env: + TWINE_USERNAME: "__token__" + TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }} + run: | + python -m build + twine upload dist/* diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bcb7dc3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,216 @@ +# aas core meta model data + +dev_scripts/code_gen/meta_model.py + +.idea/ +.claude/ + +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[codz] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py.cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# UV +# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +#uv.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock +#poetry.toml + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +# pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python. +# https://pdm-project.org/en/latest/usage/project/#working-with-version-control +#pdm.lock +#pdm.toml +.pdm-python +.pdm-build/ + +# pixi +# Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control. +#pixi.lock +# Pixi creates a virtual environment in the .pixi directory, just like venv module creates one +# in the .venv directory. It is recommended not to include this directory in version control. +.pixi + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.envrc +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ + +# Abstra +# Abstra is an AI-powered process automation framework. +# Ignore directories containing user credentials, local state, and settings. +# Learn more at https://abstra.io/docs +.abstra/ + +# Visual Studio Code +# Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore +# that can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore +# and can be added to the global gitignore or merged into this file. However, if you prefer, +# you could uncomment the following to ignore the entire vscode folder +# .vscode/ + +# Ruff stuff: +.ruff_cache/ + +# PyPI configuration file +.pypirc + +# Cursor +# Cursor is an AI-powered code editor. `.cursorignore` specifies files/directories to +# exclude from AI features like autocomplete and code analysis. Recommended for sensitive data +# refer to https://docs.cursor.com/context/ignore-files +.cursorignore +.cursorindexingignore + +# Marimo +marimo/_static/ +marimo/_lsp/ +__marimo__/ + + diff --git a/.readthedocs.yml b/.readthedocs.yml new file mode 100644 index 0000000..b407e63 --- /dev/null +++ b/.readthedocs.yml @@ -0,0 +1,27 @@ +# .readthedocs.yml +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +# Required +version: 2 + +# Set the version of Python and other tools you might need +build: + os: ubuntu-22.04 + tools: + python: "3.9" + +# Build documentation in the docs/ directory with Sphinx +sphinx: + configuration: docs/source/conf.py + +# Optionally build your docs in additional formats such as PDF +formats: + - pdf + +# Optionally set the version of Python and requirements required to build your docs +python: + install: + - method: pip + path: . + - requirements: docs/requirements.txt diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..01b4f0b --- /dev/null +++ b/README.rst @@ -0,0 +1,34 @@ +************************** +Eclipse aas-core3.2-python +************************** + +.. image:: https://github.com/eclipse-aascw/aas-core3.2-python/actions/workflows/ci.yml/badge.svg + :target: https://github.com/eclipse-aascw/aas-core3.2-python/actions/workflows/ci.yml + :alt: Continuous integration + +.. image:: https://coveralls.io/repos/github/eclipse-aascw/aas-core3.2-python/badge.svg?branch=main + :target: https://coveralls.io/github/eclipse-aascw/aas-core3.2-python?branch=main + :alt: Test coverage + +.. image:: https://badge.fury.io/py/ecplise-aas-core3.2.svg + :target: https://badge.fury.io/py/aas-core3.2 + :alt: PyPI - version + +.. image:: https://img.shields.io/pypi/pyversions/aas-core3.2.svg + :alt: PyPI - Python Version + +.. image:: https://readthedocs.org/projects/aas-core32-python/badge/?version=latest + :target: https://aas-core32-python.readthedocs.io/en/latest/?badge=latest + :alt: Documentation + +This is a software development kit (SDK) to manipulate, verify and de/serialize Asset Administration Shells based on the version 3.2 of the meta-model. + +The documentation is available on: https://aas-core32-python.readthedocs.io/en/latest/. + +The majority of the code has been automatically generated by `aas-core-codegen`_. + +If you want to contribute, see our `contributing guide`_. + +.. _aas-core-codegen: https://github.com/eclipse-aascw/aas-core-codegen + +.. _contributing guide: https://aas-core32-python.readthedocs.io/en/latest/contributing.html diff --git a/aas_core3_2/__init__.py b/aas_core3_2/__init__.py new file mode 100644 index 0000000..00c44dd --- /dev/null +++ b/aas_core3_2/__init__.py @@ -0,0 +1,8 @@ +"""Manipulate, verify and de/serialize Asset Administration Shells v3.2.""" + +# Synchronize with pyproject.toml and changelog.rst! +__version__ = "1.0.0rc1" +__author__ = "Marko Ristin, Tobias Langer" +__copyright__ = "2025 Contributors to aas-core3.2-python" +__license__ = "MIT" +__status__ = "Production/Stable" diff --git a/aas_core3_2/common.py b/aas_core3_2/common.py new file mode 100644 index 0000000..9299bc4 --- /dev/null +++ b/aas_core3_2/common.py @@ -0,0 +1,172 @@ +"""Provide common functions shared among the modules.""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import collections.abc +import re +from typing import Any, NoReturn, Optional, Sequence + + +def assert_never(value: NoReturn) -> NoReturn: + """ + Signal to mypy to perform an exhaustive matching. + + Please see the following page for more details: + https://hakibenita.com/python-mypy-exhaustive-checking + """ + raise AssertionError(f"Unhandled value: {value} ({type(value).__name__})") + + +def try_to_cast_to_array_like(value: Any) -> Optional[Sequence[Any]]: + """ + Try to cast :paramref:`value` to something like a JSON array. + + A mapping and a set are refused, as neither is a JSON array, and so are + a ``str``, a ``bytes`` and a ``bytearray``, which Python counts among + the sequences but JSON does not. + + Only a sequence is admitted, and never an arbitrary iterable. A one-shot + iterable such as a generator is spent by the first walk over it, so + a verification followed by a serialization would silently give an empty + array -- this function is the single place where all the modules agree on + what an array is, so the refusal has to hold for all of them. + + >>> assert try_to_cast_to_array_like(True) is None + + >>> assert try_to_cast_to_array_like(0) is None + + >>> assert try_to_cast_to_array_like(2.2) is None + + >>> assert try_to_cast_to_array_like("hello") is None + + >>> assert try_to_cast_to_array_like(b"hello") is None + + >>> try_to_cast_to_array_like([1, 2]) + [1, 2] + + >>> assert try_to_cast_to_array_like({"a": 3}) is None + + >>> assert try_to_cast_to_array_like(collections.OrderedDict()) is None + + >>> try_to_cast_to_array_like(range(1, 2)) + range(1, 2) + + >>> try_to_cast_to_array_like((1, 2)) + (1, 2) + + >>> assert try_to_cast_to_array_like({1, 2, 3}) is None + + >>> assert try_to_cast_to_array_like(iter([1, 2])) is None + """ + # NOTE (mristin): + # A ``list`` is what :py:mod:`json` gives us, and ``isinstance`` against + # a concrete class costs a fraction of ``isinstance`` against the abstract + # :py:class:`collections.abc.Sequence`, so we shortcut it here. + if isinstance(value, list): + return value + + if isinstance(value, (str, bytes, bytearray)): + return None + + if isinstance(value, collections.abc.Sequence): + return value + + return None + + +#: Match an optional sign followed by the ASCII digits. +#: +#: Mind the explicit ``[0-9]``: ``\d`` would match a digit of any script. +_SAFE_INT_RE = re.compile(r"[-+]?[0-9]+") + + +def parse_safe_int(text: str) -> int: + """ + Parse :paramref:`text` as a safe integer. + + The meta-model calls ``int`` on strings, and this is its transpilation. + We are stricter than the built-in :py:func:`int` so that all the SDKs behave + the same. We accept only an optional sign followed by the ASCII digits, and + only the safe integers, *i.e.*, the integers within ``-(2 ** 53 - 1)`` and + ``2 ** 53 - 1``, which a double-precision floating-point number represents + exactly. + + :param text: to be parsed + :return: parsed integer + :raise: :py:class:`ValueError` if :paramref:`text` is not a safe integer + + >>> parse_safe_int("-0042") + -42 + """ + # NOTE (mristin): + # Mind that it is checked with ``fullmatch`` and not with ``match``: ``$`` + # would also match just before a trailing newline. + if _SAFE_INT_RE.fullmatch(text) is None: + raise ValueError( + f"Expected an optional sign followed by the ASCII digits, " + f"but got: {text!r}" + ) + + # NOTE (mristin): + # We count the significant digits before we call ``int``, as the conversion + # is quadratic in the length of the text, and Python refuses a text of more + # than 4300 digits, leading zeros included. + digits = text.lstrip("+-").lstrip("0") + if len(digits) > 16: + raise ValueError( + f"Expected a safe integer, but got a text out of its range: {text!r}" + ) + + value = int(digits) if len(digits) > 0 else 0 + + # NOTE (mristin): + # This is 2 ** 53 - 1. + if value > 9007199254740991: + raise ValueError( + f"Expected a safe integer, but got a text out of its range: {text!r}" + ) + + return -value if text[0] == "-" else value + + +def try_to_convert_int_to_float(value: int) -> Optional[float]: + """ + Try to convert :paramref:`value` to the ``float`` which JSON prescribes. + + JSON knows a single numeric type, so an ``int`` has to become a ``float`` + on its way into and out of a JSON-able value. The conversion has to be + exact: a ``float`` which does not convert back to :paramref:`value` would + quietly say a different number than the one which was given, so such + a value is refused instead of rounded. + + Mind that a ``bool`` is an ``int`` in Python. The callers all sort out + the booleans before they come here. + + >>> try_to_convert_int_to_float(1) + 1.0 + + >>> try_to_convert_int_to_float(-3) + -3.0 + + >>> assert try_to_convert_int_to_float(2 ** 53 + 1) is None + + >>> assert try_to_convert_int_to_float(10 ** 400) is None + """ + try: + result = float(value) + except OverflowError: + # NOTE (mristin): + # A Python ``int`` is unbounded, so one can be far too large for + # a ``float`` to hold at all. + return None + + if int(result) != value: + return None + + return result + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/aas_core3_2/constants.py b/aas_core3_2/constants.py new file mode 100644 index 0000000..03c96a6 --- /dev/null +++ b/aas_core3_2/constants.py @@ -0,0 +1,195 @@ +"""Provide constant values of the meta-model.""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + +import sys +from typing import AbstractSet + +if sys.version_info >= (3, 8): + from typing import Final +else: + from typing_extensions import Final + +import aas_core3_2.types as our_types + +#: Represent the smallest magnitude of a decimal which overflows an ``xs:double``. +#: +#: The decimals are rounded to the nearest double-precision floating-point number. +#: Hence, the decimals at or beyond the half-way between the largest double, +#: (2 - 2^-52) * 2^1023, and 2^1024 round to infinity. The half-way is the exact +#: integer 2^1024 - 2^970, given here in decimal digits. +XS_DOUBLE_OVERFLOW_THRESHOLD: Final[str] = ( + "179769313486231580793728971405303415079934132710037826936173778980444968292764750946649017977587207096330286416692887910946555547851940402630657488671505820681908902000708383676273854845817711531764475730270069855571366959622842914819860834936475292719074168444365510704342711559699508093042880177904174497792" +) + +#: Represent the smallest magnitude of a decimal which overflows an ``xs:float``. +#: +#: The decimals are rounded to the nearest single-precision floating-point number. +#: Hence, the decimals at or beyond the half-way between the largest float, +#: (2 - 2^-23) * 2^127, and 2^128 round to infinity. The half-way is the exact +#: integer 2^128 - 2^103, given here in decimal digits. +XS_FLOAT_OVERFLOW_THRESHOLD: Final[str] = "340282356779733661637539395458142568448" + +#: Enumeration of all identifiable elements within an asset administration shell. +GENERIC_FRAGMENT_KEYS: Final[AbstractSet[our_types.KeyTypes]] = { + our_types.KeyTypes.FRAGMENT_REFERENCE +} + +#: Enumeration of different key value types within a key. +GENERIC_GLOBALLY_IDENTIFIABLES: Final[AbstractSet[our_types.KeyTypes]] = { + our_types.KeyTypes.GLOBAL_REFERENCE +} + +#: Enumeration of different key value types within a key. +AAS_IDENTIFIABLES: Final[AbstractSet[our_types.KeyTypes]] = { + our_types.KeyTypes.ASSET_ADMINISTRATION_SHELL, + our_types.KeyTypes.CONCEPT_DESCRIPTION, + our_types.KeyTypes.IDENTIFIABLE, + our_types.KeyTypes.SUBMODEL, +} + +#: Enumeration of all submodel elements within an asset administration shell. +AAS_SUBMODEL_ELEMENTS_AS_KEYS: Final[AbstractSet[our_types.KeyTypes]] = { + our_types.KeyTypes.ANNOTATED_RELATIONSHIP_ELEMENT, + our_types.KeyTypes.BASIC_EVENT_ELEMENT, + our_types.KeyTypes.BLOB, + our_types.KeyTypes.CAPABILITY, + our_types.KeyTypes.DATA_ELEMENT, + our_types.KeyTypes.ENTITY, + our_types.KeyTypes.EVENT_ELEMENT, + our_types.KeyTypes.FILE, + our_types.KeyTypes.MULTI_LANGUAGE_PROPERTY, + our_types.KeyTypes.OPERATION, + our_types.KeyTypes.PROPERTY, + our_types.KeyTypes.RANGE, + our_types.KeyTypes.REFERENCE_ELEMENT, + our_types.KeyTypes.RELATIONSHIP_ELEMENT, + our_types.KeyTypes.SUBMODEL_ELEMENT, + our_types.KeyTypes.SUBMODEL_ELEMENT_COLLECTION, + our_types.KeyTypes.SUBMODEL_ELEMENT_LIST, +} + +#: Enumeration of different fragment key value types within a key. +AAS_REFERABLE_NON_IDENTIFIABLES: Final[AbstractSet[our_types.KeyTypes]] = { + our_types.KeyTypes.ANNOTATED_RELATIONSHIP_ELEMENT, + our_types.KeyTypes.BASIC_EVENT_ELEMENT, + our_types.KeyTypes.BLOB, + our_types.KeyTypes.CAPABILITY, + our_types.KeyTypes.DATA_ELEMENT, + our_types.KeyTypes.ENTITY, + our_types.KeyTypes.EVENT_ELEMENT, + our_types.KeyTypes.FILE, + our_types.KeyTypes.MULTI_LANGUAGE_PROPERTY, + our_types.KeyTypes.OPERATION, + our_types.KeyTypes.PROPERTY, + our_types.KeyTypes.RANGE, + our_types.KeyTypes.REFERENCE_ELEMENT, + our_types.KeyTypes.RELATIONSHIP_ELEMENT, + our_types.KeyTypes.SUBMODEL_ELEMENT, + our_types.KeyTypes.SUBMODEL_ELEMENT_COLLECTION, + our_types.KeyTypes.SUBMODEL_ELEMENT_LIST, +} + +#: Enumeration of referables. We need this to check that model references refer to a Referable. For example, the observed attribute of the Basic Event Element object must be a model reference to a Referable. +AAS_REFERABLES: Final[AbstractSet[our_types.KeyTypes]] = { + our_types.KeyTypes.ASSET_ADMINISTRATION_SHELL, + our_types.KeyTypes.CONCEPT_DESCRIPTION, + our_types.KeyTypes.IDENTIFIABLE, + our_types.KeyTypes.SUBMODEL, + our_types.KeyTypes.ANNOTATED_RELATIONSHIP_ELEMENT, + our_types.KeyTypes.BASIC_EVENT_ELEMENT, + our_types.KeyTypes.BLOB, + our_types.KeyTypes.CAPABILITY, + our_types.KeyTypes.DATA_ELEMENT, + our_types.KeyTypes.ENTITY, + our_types.KeyTypes.EVENT_ELEMENT, + our_types.KeyTypes.FILE, + our_types.KeyTypes.MULTI_LANGUAGE_PROPERTY, + our_types.KeyTypes.OPERATION, + our_types.KeyTypes.PROPERTY, + our_types.KeyTypes.RANGE, + our_types.KeyTypes.REFERENCE_ELEMENT, + our_types.KeyTypes.REFERABLE, + our_types.KeyTypes.RELATIONSHIP_ELEMENT, + our_types.KeyTypes.SUBMODEL_ELEMENT, + our_types.KeyTypes.SUBMODEL_ELEMENT_COLLECTION, + our_types.KeyTypes.SUBMODEL_ELEMENT_LIST, +} + +#: Enumeration of all referable elements within an asset administration shell +GLOBALLY_IDENTIFIABLES: Final[AbstractSet[our_types.KeyTypes]] = { + our_types.KeyTypes.GLOBAL_REFERENCE, + our_types.KeyTypes.ASSET_ADMINISTRATION_SHELL, + our_types.KeyTypes.CONCEPT_DESCRIPTION, + our_types.KeyTypes.IDENTIFIABLE, + our_types.KeyTypes.SUBMODEL, +} + +#: Enumeration of different key value types within a key. +FRAGMENT_KEYS: Final[AbstractSet[our_types.KeyTypes]] = { + our_types.KeyTypes.ANNOTATED_RELATIONSHIP_ELEMENT, + our_types.KeyTypes.BASIC_EVENT_ELEMENT, + our_types.KeyTypes.BLOB, + our_types.KeyTypes.CAPABILITY, + our_types.KeyTypes.DATA_ELEMENT, + our_types.KeyTypes.ENTITY, + our_types.KeyTypes.EVENT_ELEMENT, + our_types.KeyTypes.FILE, + our_types.KeyTypes.FRAGMENT_REFERENCE, + our_types.KeyTypes.MULTI_LANGUAGE_PROPERTY, + our_types.KeyTypes.OPERATION, + our_types.KeyTypes.PROPERTY, + our_types.KeyTypes.RANGE, + our_types.KeyTypes.REFERENCE_ELEMENT, + our_types.KeyTypes.RELATIONSHIP_ELEMENT, + our_types.KeyTypes.SUBMODEL_ELEMENT, + our_types.KeyTypes.SUBMODEL_ELEMENT_COLLECTION, + our_types.KeyTypes.SUBMODEL_ELEMENT_LIST, +} + +#: IEC 61360 data types for concept descriptions categorized with PROPERTY or VALUE. +DATA_TYPE_IEC_61360_FOR_PROPERTY_OR_VALUE: Final[ + AbstractSet[our_types.DataTypeIEC61360] +] = { + our_types.DataTypeIEC61360.DATE, + our_types.DataTypeIEC61360.STRING, + our_types.DataTypeIEC61360.STRING_TRANSLATABLE, + our_types.DataTypeIEC61360.INTEGER_MEASURE, + our_types.DataTypeIEC61360.INTEGER_COUNT, + our_types.DataTypeIEC61360.INTEGER_CURRENCY, + our_types.DataTypeIEC61360.REAL_MEASURE, + our_types.DataTypeIEC61360.REAL_COUNT, + our_types.DataTypeIEC61360.REAL_CURRENCY, + our_types.DataTypeIEC61360.BOOLEAN, + our_types.DataTypeIEC61360.RATIONAL, + our_types.DataTypeIEC61360.RATIONAL_MEASURE, + our_types.DataTypeIEC61360.TIME, + our_types.DataTypeIEC61360.TIMESTAMP, +} + +#: IEC 61360 data types for concept descriptions categorized with REFERENCE. +DATA_TYPE_IEC_61360_FOR_REFERENCE: Final[AbstractSet[our_types.DataTypeIEC61360]] = { + our_types.DataTypeIEC61360.STRING, + our_types.DataTypeIEC61360.IRI, + our_types.DataTypeIEC61360.IRDI, +} + +#: IEC 61360 data types for concept descriptions categorized with DOCUMENT. +DATA_TYPE_IEC_61360_FOR_DOCUMENT: Final[AbstractSet[our_types.DataTypeIEC61360]] = { + our_types.DataTypeIEC61360.FILE, + our_types.DataTypeIEC61360.BLOB, + our_types.DataTypeIEC61360.HTML, +} + +#: These data types imply that the unit is defined in the data specification. +IEC_61360_DATA_TYPES_WITH_UNIT: Final[AbstractSet[our_types.DataTypeIEC61360]] = { + our_types.DataTypeIEC61360.INTEGER_MEASURE, + our_types.DataTypeIEC61360.REAL_MEASURE, + our_types.DataTypeIEC61360.RATIONAL_MEASURE, + our_types.DataTypeIEC61360.INTEGER_CURRENCY, + our_types.DataTypeIEC61360.REAL_CURRENCY, +} + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/aas_core3_2/jsonization.py b/aas_core3_2/jsonization.py new file mode 100644 index 0000000..33a8d71 --- /dev/null +++ b/aas_core3_2/jsonization.py @@ -0,0 +1,17656 @@ +""" +Provide de/serialization of meta-model classes to/from JSON. + +We can not use one-pass deserialization for JSON since the object +properties do not have fixed order, and hence we can not read +``modelType`` property ahead of the remaining properties. +""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import base64 +import collections.abc +import json +import math +import re +import sys +from typing import ( + Any, + Callable, + Dict, + Iterable, + List, + Mapping, + MutableMapping, + Optional, + Sequence, + Tuple, + TypeVar, + Union, +) + +if sys.version_info >= (3, 8): + from typing import Final +else: + from typing_extensions import Final + +import aas_core3_2.common as our_common +import aas_core3_2.stringification as our_stringification +import aas_core3_2.types as our_types + +# NOTE (mristin): +# The SDK defines three of these path vocabularies: this one, the one in +# :py:mod:`aas_core3_2.jsonization`, and the one in +# :py:mod:`aas_core3_2.xmlcommon`. +# They look alike, and it is tempting to merge them, but they are not +# interchangeable. +# +# Each of them points into a different thing, and every segment carries +# a back-pointer to the container it stepped through, so the type of that +# back-pointer differs from one to the next: +# +# * This one points into the instances which you built, so a property +# segment holds a class of the meta-model. +# * The jsonization's points into the JSON-able structure being read or +# written, so a property segment holds the JSON-able mapping instead: +# while a document is being parsed, the instance which the property would +# belong to does not exist yet. +# * The xmlcommon's points into the XML document, where there are no +# properties at all, only elements, so it names an element instead. +# +# The three also render differently: a path into the instances is a Python +# access expression, a path into a JSON-able structure starts at the root of +# the document and carries no leading dot, and a path into an XML document +# is a relative XPath. +# +# Merging them would mean either dropping the back-pointers, which have been +# part of the public API of this SDK since before these modules were split +# apart, or defining a single path over the union of all the segment kinds -- +# in which case every consumer would have to handle segments which can never +# occur in its world. Three small vocabularies which each say exactly what +# they can say cost less than one large one which lies about its range. + + +class PropertySegment: + """Represent a property on a path to the erroneous value.""" + + #: Instance that contains the property + instance: Final[Mapping[str, Any]] + + #: Name of the property + name: Final[str] + + def __init__(self, instance: Mapping[str, Any], name: str) -> None: + """Initialize with the given values.""" + self.instance = instance + self.name = name + + +class IndexSegment: + """Represent an index access on a path to the erroneous value.""" + + #: Container that contains the item + container: Final[Iterable[Any]] + + #: Index of the item + index: Final[int] + + def __init__(self, container: Iterable[Any], index: int) -> None: + """Initialize with the given values.""" + self.container = container + self.index = index + + +class KeySegment: + """ + Represent a member access on a path to the erroneous value. + + Unlike a :py:class:`PropertySegment`, which names a property of one of our + classes, a key names a member of an open JSON-able object. It is known only + at run time, and can be any string at all, so it is always rendered + as a subscript. + """ + + #: Mapping that contains the value at :py:attr:`~key` + mapping: Final[Mapping[str, Any]] + + #: Key of the value + key: Final[str] + + def __init__(self, mapping: Mapping[str, Any], key: str) -> None: + """Initialize with the given values.""" + self.mapping = mapping + self.key = key + + +Segment = Union[PropertySegment, IndexSegment, KeySegment] + + +#: Match the property names which a path writes after a dot; the other names +#: are written in brackets as JSON strings, *e.g.*, ``["$eq"]``. +_VARIABLE_NAME_RE = re.compile(r"^[a-zA-Z_][a-zA-Z_0-9]*$") + + +class Path: + """Represent the relative path to the erroneous value.""" + + def __init__(self) -> None: + """Initialize as an empty path.""" + self._segments: List[Segment] = [] + + @property + def segments(self) -> Sequence[Segment]: + """Get the segments of the path.""" + return self._segments + + def _prepend(self, segment: Segment) -> None: + """Insert the :paramref:`segment` in front of other segments.""" + self._segments.insert(0, segment) + + def __str__(self) -> str: + if len(self._segments) == 0: + return "" + + parts: List[str] = [] + + iterator = iter(self._segments) + first = next(iterator) + if isinstance(first, PropertySegment): + if _VARIABLE_NAME_RE.match(first.name): + parts.append(first.name) + else: + parts.append(f"[{json.dumps(first.name, ensure_ascii=False)}]") + elif isinstance(first, IndexSegment): + parts.append(f"[{first.index}]") + elif isinstance(first, KeySegment): + parts.append(f"[{json.dumps(first.key, ensure_ascii=False)}]") + else: + our_common.assert_never(first) + + for segment in iterator: + if isinstance(segment, PropertySegment): + if _VARIABLE_NAME_RE.match(segment.name): + parts.append(f".{segment.name}") + else: + parts.append(f"[{json.dumps(segment.name, ensure_ascii=False)}]") + elif isinstance(segment, IndexSegment): + parts.append(f"[{segment.index}]") + elif isinstance(segment, KeySegment): + parts.append(f"[{json.dumps(segment.key, ensure_ascii=False)}]") + else: + our_common.assert_never(segment) + + return "".join(parts) + + +class DeserializationException(Exception): + """Signal that the JSON de-serialization could not be performed.""" + + #: Human-readable explanation of the exception's cause + cause: Final[str] + + #: Relative path to the erroneous value + path: Final[Path] + + def __init__(self, cause: str) -> None: + """Initialize with the given :paramref:`cause` and an empty path.""" + self.cause = cause + self.path = Path() + + +# NOTE (mristin): +# Recursive definitions are not yet available in mypy +# (see https://github.com/python/mypy/issues/731). We have to use ``Any`` +# here, instead of recursive type annotations. +Jsonable = Union[bool, int, float, str, Sequence[Any], Mapping[str, Any]] + + +MutableJsonable = Union[bool, int, float, str, List[Any], MutableMapping[str, Any]] + + +# region De-serialization + + +_ValueT = TypeVar("_ValueT") + +#: Parse a JSON-able value into a value of the meta-model +_Parser = Callable[[Jsonable], _ValueT] + + +def _as_mapping(jsonable: Jsonable) -> Mapping[str, Any]: + """ + Interpret :paramref:`jsonable` as a mapping. + + :param jsonable: JSON-able structure to be interpreted + :return: :paramref:`jsonable`, as a mapping + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + # NOTE (mristin): + # We check against ``dict`` first. That is what :py:mod:`json` gives us, and + # ``isinstance`` against a concrete class costs a fraction of ``isinstance`` + # against the abstract :py:class:`collections.abc.Mapping` -- measured on + # CPython 3.10, 59 ns against 274 ns -- on a check which runs once for every + # instance that we de-serialize. + # + # We give the mapping back, instead of only raising, so that the caller can + # go on with a narrowed type. ``mypy --strict`` does not narrow a union + # across a call which merely raises. + if not isinstance(jsonable, dict) and not isinstance( + jsonable, collections.abc.Mapping + ): + raise DeserializationException(f"Expected a mapping, but got: {type(jsonable)}") + + return jsonable + + +def _dispatch_from_jsonable( + jsonable: Jsonable, dispatch: Mapping[str, _Parser[_ValueT]], name: str +) -> _ValueT: + """ + Parse :paramref:`jsonable` by dispatching on its ``modelType``. + + :param jsonable: JSON-able structure to be parsed + :param dispatch: to parse a concrete instance, by its model type + :param name: of the parsed type, for the error message + :return: parsed instance + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType") + if model_type is None: + raise DeserializationException( + "Expected the property modelType, but found none" + ) + + if not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + parse = dispatch.get(model_type) + if parse is None: + raise DeserializationException( + f"Unexpected model type for {name}: {model_type}" + ) + + return parse(mapping) + + +def _bool_from_jsonable(jsonable: Jsonable) -> bool: + """ + Parse :paramref:`jsonable` as a boolean. + + :param jsonable: JSON-able structure to be parsed + :return: parsed boolean + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, bool): + raise DeserializationException(f"Expected a bool, but got: {type(jsonable)}") + return jsonable + + +def _float_from_jsonable(jsonable: Jsonable) -> float: + """ + Parse :paramref:`jsonable` as a floating-point number. + + An integer is accepted as well. JSON has a single number type, so ``3`` is + every bit as good a floating-point number as ``3.0`` is, and :py:mod:`json` + gives us an ``int`` for the former. + + :param jsonable: JSON-able structure to be parsed + :return: parsed floating-point number + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + # NOTE (mristin): + # ``bool`` is a subclass of ``int`` in Python, so it has to be excluded + # explicitly. Otherwise ``True`` would be read as ``1.0``. + if isinstance(jsonable, bool) or not isinstance(jsonable, (int, float)): + raise DeserializationException(f"Expected a float, but got: {type(jsonable)}") + + try: + value = float(jsonable) + except OverflowError: + raise DeserializationException( + f"Expected a float, but got an integer too large for it: {jsonable}" + ) from None + + # NOTE (mristin): + # JSON knows neither an infinity nor a not-a-number, so a conformant parser + # can never give us one. :py:mod:`json` is not conformant in this respect -- + # it parses ``NaN``, ``Infinity`` and ``-Infinity`` out of the box -- so we + # have to check here. + if not math.isfinite(value): + raise DeserializationException(f"Expected a finite float, but got: {value}") + + return value + + +def _str_from_jsonable(jsonable: Jsonable) -> str: + """ + Parse :paramref:`jsonable` as a string. + + :param jsonable: JSON-able structure to be parsed + :return: parsed string + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException(f"Expected a str, but got: {type(jsonable)}") + return jsonable + + +def _bytes_from_jsonable(jsonable: Jsonable) -> bytes: + """ + Decode :paramref:`jsonable` as base64 string to a ``bytearray``. + + :param jsonable: JSON-able structure to be decoded + :return: decoded bytearray + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException(f"Expected a str, but got: {type(jsonable)}") + + return base64.b64decode(jsonable.encode("ascii")) + + +def _list_from_jsonable( + jsonable: Jsonable, parse_item: _Parser[_ValueT] +) -> List[_ValueT]: + """ + Parse :paramref:`jsonable` as a list, applying :paramref:`parse_item` on + every item. + + :param jsonable: JSON-able structure to be parsed + :param parse_item: to parse a single item of the array + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + array_like = our_common.try_to_cast_to_array_like(jsonable) + if array_like is None: + raise DeserializationException( + f"Expected something array-like, but got: {type(jsonable)}" + ) + + result: List[_ValueT] = [] + for i, jsonable_item in enumerate(array_like): + try: + item = parse_item(jsonable_item) + except DeserializationException as exception: + exception.path._prepend(IndexSegment(array_like, i)) + raise + + result.append(item) + + return result + + +def _json_value_from_jsonable(jsonable: Jsonable) -> our_types.JsonValue: + """ + Parse :paramref:`jsonable` as a JSON-able value. + + A JSON-able value is, recursively, exactly as JSON itself is defined: + a boolean, a number, a string, an array of JSON-able values or an object + of JSON-able values with string keys. A ``None`` is rejected at any + depth, as the JSON ``null`` has no representation as a JSON-able value, + and so are an infinity and a not-a-number, which JSON can not represent + at all. + + The result is a new structure, and never :paramref:`jsonable` itself, so + that the parsed instance does not alias the document it came from. + + :param jsonable: JSON-able structure to be parsed + :return: parsed JSON-able value + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + # NOTE (mristin): + # A ``bool`` is an ``int`` in Python, so it has to be checked first -- + # otherwise every boolean would come out as a number. + if isinstance(jsonable, bool): + return jsonable + + if isinstance(jsonable, int): + # NOTE (mristin): + # JSON knows a single numeric type, so :py:mod:`json` giving us + # an ``int`` says nothing about the document: "1" and "1.0" are + # the same number, and a JSON-able value holds it as a ``float``. + number = our_common.try_to_convert_int_to_float(jsonable) + if number is None: + raise DeserializationException( + f"Expected a JSON-able value, but got the integer {jsonable}, " + f"which is not exactly representable as a JSON number" + ) + + return number + + if isinstance(jsonable, float): + # NOTE (mristin): + # JSON knows neither an infinity nor a not-a-number. A conformant + # parser never gives us one, but :paramref:`jsonable` may well have + # been put together programmatically. + if not math.isfinite(jsonable): + raise DeserializationException( + f"Expected a JSON-able value, but got the number {jsonable}, " + f"which is neither finite nor representable in JSON" + ) + + return jsonable + + if isinstance(jsonable, str): + return jsonable + + if isinstance(jsonable, (dict, collections.abc.Mapping)): + mapping: Dict[str, Any] = {} + for key, jsonable_value in jsonable.items(): + if not isinstance(key, str): + raise DeserializationException( + f"Expected only string keys in a JSON-able object, but got " + f"a key of type: {type(key)}" + ) + + try: + mapping[key] = _json_value_from_jsonable(jsonable_value) + except DeserializationException as exception: + exception.path._prepend(KeySegment(jsonable, key)) + raise + + return mapping + + array_like = our_common.try_to_cast_to_array_like(jsonable) + if array_like is not None: + items: List[Any] = [] + for i, jsonable_item in enumerate(array_like): + try: + items.append(_json_value_from_jsonable(jsonable_item)) + except DeserializationException as exception: + exception.path._prepend(IndexSegment(array_like, i)) + raise + + return items + + raise DeserializationException( + f"Expected a JSON-able value (a boolean, a number, a string, an array " + f"or an object), but got: {type(jsonable)}" + ) + + +def _json_object_from_jsonable(jsonable: Jsonable) -> our_types.JsonObject: + """ + Parse :paramref:`jsonable` as a JSON-able object. + + :param jsonable: JSON-able structure to be parsed + :return: parsed JSON-able object + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, (dict, collections.abc.Mapping)): + raise DeserializationException( + f"Expected a JSON-able object, but got: {type(jsonable)}" + ) + + result = _json_value_from_jsonable(jsonable) + assert isinstance(result, dict) + return result + + +_TupleItem1T = TypeVar("_TupleItem1T") +_TupleItem2T = TypeVar("_TupleItem2T") + + +def _tuple2_from_jsonable( + jsonable: Jsonable, + parse_item_1: _Parser[_TupleItem1T], + parse_item_2: _Parser[_TupleItem2T], +) -> Tuple[_TupleItem1T, _TupleItem2T]: + """ + Parse :paramref:`jsonable` as a tuple of 2 item(s), applying + the corresponding ``parse_item_*`` function on every item. + + :param jsonable: JSON-able structure to be parsed + :param parse_item_1: to parse the item at the position 0 + :param parse_item_2: to parse the item at the position 1 + :return: parsed tuple + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + array_like = our_common.try_to_cast_to_array_like(jsonable) + if array_like is None: + raise DeserializationException( + f"Expected something array-like, but got: {type(jsonable)}" + ) + + # NOTE (mristin): + # Unlike a list, a tuple is heterogeneous, so we need to index the individual + # items by their fixed position, and a general ``Iterable`` does not support + # that. + if not isinstance(array_like, collections.abc.Sequence): + raise DeserializationException( + f"Expected something indexable to de-serialize a tuple, " + f"but got: {type(jsonable)}" + ) + + if len(array_like) != 2: + raise DeserializationException( + f"Expected exactly 2 item(s) in the array, " f"but got: {len(array_like)}" + ) + + try: + item_1 = parse_item_1(array_like[0]) + except DeserializationException as exception: + exception.path._prepend(IndexSegment(array_like, 0)) + raise + + try: + item_2 = parse_item_2(array_like[1]) + except DeserializationException as exception: + exception.path._prepend(IndexSegment(array_like, 1)) + raise + + return (item_1, item_2) + + +def _list_of__asset_administration_shell_descriptor_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.AssetAdministrationShellDescriptor]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.AssetAdministrationShellDescriptor`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable( + jsonable, asset_administration_shell_descriptor_from_jsonable + ) + + +def _list_of__asset_administration_shell_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.AssetAdministrationShell]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.AssetAdministrationShell`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, asset_administration_shell_from_jsonable) + + +def _list_of__asset_administration_shell_metadata_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.AssetAdministrationShellMetadata]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.AssetAdministrationShellMetadata`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable( + jsonable, asset_administration_shell_metadata_from_jsonable + ) + + +def _list_of__asset_administration_shell_recent_change_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.AssetAdministrationShellRecentChange]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.AssetAdministrationShellRecentChange`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable( + jsonable, asset_administration_shell_recent_change_from_jsonable + ) + + +def _list_of__concept_description_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.ConceptDescription]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.ConceptDescription`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, concept_description_from_jsonable) + + +def _list_of__concept_description_recent_change_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.ConceptDescriptionRecentChange]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.ConceptDescriptionRecentChange`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable( + jsonable, concept_description_recent_change_from_jsonable + ) + + +def _list_of__data_element_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.DataElement]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.DataElement`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, data_element_from_jsonable) + + +def _list_of__definition_type_uom_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.DefinitionTypeUom]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.DefinitionTypeUom`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, definition_type_uom_from_jsonable) + + +def _list_of__embedded_data_specification_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.EmbeddedDataSpecification]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.EmbeddedDataSpecification`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, embedded_data_specification_from_jsonable) + + +def _list_of__endpoint_from_jsonable(jsonable: Jsonable) -> List[our_types.Endpoint]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.Endpoint`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, endpoint_from_jsonable) + + +def _list_of__extension_from_jsonable(jsonable: Jsonable) -> List[our_types.Extension]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.Extension`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, extension_from_jsonable) + + +def _list_of__json_object_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.JsonObject]: + """ + Parse :paramref:`jsonable` as a list of + a JSON-able object. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, _json_object_from_jsonable) + + +def _list_of__key_from_jsonable(jsonable: Jsonable) -> List[our_types.Key]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.Key`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, key_from_jsonable) + + +def _list_of__lang_string_definition_type_iec_61360_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.LangStringDefinitionTypeIEC61360]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.LangStringDefinitionTypeIEC61360`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable( + jsonable, lang_string_definition_type_iec_61360_from_jsonable + ) + + +def _list_of__lang_string_name_type_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.LangStringNameType]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.LangStringNameType`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, lang_string_name_type_from_jsonable) + + +def _list_of__lang_string_preferred_name_type_iec_61360_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.LangStringPreferredNameTypeIEC61360]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.LangStringPreferredNameTypeIEC61360`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable( + jsonable, lang_string_preferred_name_type_iec_61360_from_jsonable + ) + + +def _list_of__lang_string_short_name_type_iec_61360_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.LangStringShortNameTypeIEC61360]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.LangStringShortNameTypeIEC61360`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable( + jsonable, lang_string_short_name_type_iec_61360_from_jsonable + ) + + +def _list_of__lang_string_text_type_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.LangStringTextType]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.LangStringTextType`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, lang_string_text_type_from_jsonable) + + +def _list_of__lang_string_uom_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.LangStringUom]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.LangStringUom`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, lang_string_uom_from_jsonable) + + +def _list_of__logical_expression_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.LogicalExpression]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.LogicalExpression`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, logical_expression_from_jsonable) + + +def _list_of__match_expression_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.MatchExpression]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.MatchExpression`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, match_expression_from_jsonable) + + +def _list_of__message_from_jsonable(jsonable: Jsonable) -> List[our_types.Message]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.Message`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, message_from_jsonable) + + +def _list_of__operation_variable_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.OperationVariable]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.OperationVariable`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, operation_variable_from_jsonable) + + +def _list_of__package_description_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.PackageDescription]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.PackageDescription`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, package_description_from_jsonable) + + +def _list_of__qualifier_from_jsonable(jsonable: Jsonable) -> List[our_types.Qualifier]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.Qualifier`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, qualifier_from_jsonable) + + +def _list_of__query_filter_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.QueryFilter]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.QueryFilter`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, query_filter_from_jsonable) + + +def _list_of__referable_from_jsonable(jsonable: Jsonable) -> List[our_types.Referable]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.Referable`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, referable_from_jsonable) + + +def _list_of__reference_from_jsonable(jsonable: Jsonable) -> List[our_types.Reference]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.Reference`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, reference_from_jsonable) + + +def _list_of__security_attribute_object_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.SecurityAttributeObject]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.SecurityAttributeObject`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, security_attribute_object_from_jsonable) + + +def _list_of__service_specification_profile_enum_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.ServiceSpecificationProfileEnum]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.ServiceSpecificationProfileEnum`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable( + jsonable, service_specification_profile_enum_from_jsonable + ) + + +def _list_of__specific_asset_id_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.SpecificAssetID]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.SpecificAssetID`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, specific_asset_id_from_jsonable) + + +def _list_of__str_from_jsonable(jsonable: Jsonable) -> List[str]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.PathItem`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, _str_from_jsonable) + + +def _list_of__submodel_descriptor_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.SubmodelDescriptor]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.SubmodelDescriptor`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, submodel_descriptor_from_jsonable) + + +def _list_of__submodel_element_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.SubmodelElement]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.SubmodelElement`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, submodel_element_from_jsonable) + + +def _list_of__submodel_element_metadata_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.SubmodelElementMetadata]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.SubmodelElementMetadata`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, submodel_element_metadata_from_jsonable) + + +def _list_of__submodel_from_jsonable(jsonable: Jsonable) -> List[our_types.Submodel]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.Submodel`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, submodel_from_jsonable) + + +def _list_of__submodel_metadata_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.SubmodelMetadata]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.SubmodelMetadata`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, submodel_metadata_from_jsonable) + + +def _list_of__submodel_recent_change_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.SubmodelRecentChange]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.SubmodelRecentChange`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, submodel_recent_change_from_jsonable) + + +def _list_of__value_reference_pair_from_jsonable( + jsonable: Jsonable, +) -> List[our_types.ValueReferencePair]: + """ + Parse :paramref:`jsonable` as a list of + :py:class:`.types.ValueReferencePair`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed list + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _list_from_jsonable(jsonable, value_reference_pair_from_jsonable) + + +def _tuple2_of__string_value__string_value_from_jsonable( + jsonable: Jsonable, +) -> Tuple[our_types.StringValue, our_types.StringValue]: + """ + Parse :paramref:`jsonable` as a tuple of 2 item(s). + + :param jsonable: JSON-able structure to be parsed + :return: parsed tuple + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _tuple2_from_jsonable( + jsonable, string_value_from_jsonable, string_value_from_jsonable + ) + + +def _tuple2_of__value__value_from_jsonable( + jsonable: Jsonable, +) -> Tuple[our_types.Value, our_types.Value]: + """ + Parse :paramref:`jsonable` as a tuple of 2 item(s). + + :param jsonable: JSON-able structure to be parsed + :return: parsed tuple + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _tuple2_from_jsonable(jsonable, value_from_jsonable, value_from_jsonable) + + +def has_semantics_from_jsonable(jsonable: Jsonable) -> our_types.HasSemantics: + """ + Parse an instance of :py:class:`.types.HasSemantics` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance of :py:class:`.types.HasSemantics` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _dispatch_from_jsonable( + jsonable, _HAS_SEMANTICS_FROM_JSONABLE_DISPATCH, "HasSemantics" + ) + + +def extension_from_jsonable(jsonable: Jsonable) -> our_types.Extension: + """ + Parse an instance of :py:class:`.types.Extension` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.Extension` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_name: Optional[str] = None + the_value_type: Optional[our_types.DataTypeDefXSD] = None + the_value: Optional[str] = None + the_refers_to: Optional[List[our_types.Reference]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "name": + the_name = _str_from_jsonable(jsonable_value) + elif key == "valueType": + the_value_type = data_type_def_xsd_from_jsonable(jsonable_value) + elif key == "value": + the_value = _str_from_jsonable(jsonable_value) + elif key == "refersTo": + the_refers_to = _list_of__reference_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_name is None: + raise DeserializationException("The required property 'name' is missing") + + return our_types.Extension( + the_name, + the_semantic_id, + the_supplemental_semantic_ids, + the_value_type, + the_value, + the_refers_to, + ) + + +def has_extensions_from_jsonable(jsonable: Jsonable) -> our_types.HasExtensions: + """ + Parse an instance of :py:class:`.types.HasExtensions` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance of :py:class:`.types.HasExtensions` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _dispatch_from_jsonable( + jsonable, _HAS_EXTENSIONS_FROM_JSONABLE_DISPATCH, "HasExtensions" + ) + + +def referable_from_jsonable(jsonable: Jsonable) -> our_types.Referable: + """ + Parse an instance of :py:class:`.types.Referable` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance of :py:class:`.types.Referable` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _dispatch_from_jsonable( + jsonable, _REFERABLE_FROM_JSONABLE_DISPATCH, "Referable" + ) + + +def identifiable_from_jsonable(jsonable: Jsonable) -> our_types.Identifiable: + """ + Parse an instance of :py:class:`.types.Identifiable` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance of :py:class:`.types.Identifiable` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _dispatch_from_jsonable( + jsonable, _IDENTIFIABLE_FROM_JSONABLE_DISPATCH, "Identifiable" + ) + + +def modelling_kind_from_jsonable(jsonable: Jsonable) -> our_types.ModellingKind: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.ModellingKind`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.modelling_kind_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " + f"a literal of ModellingKind: {jsonable}" + ) + + return literal + + +def has_kind_from_jsonable(jsonable: Jsonable) -> our_types.HasKind: + """ + Parse an instance of :py:class:`.types.HasKind` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance of :py:class:`.types.HasKind` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _dispatch_from_jsonable( + jsonable, _HAS_KIND_FROM_JSONABLE_DISPATCH, "HasKind" + ) + + +def has_data_specification_from_jsonable( + jsonable: Jsonable, +) -> our_types.HasDataSpecification: + """ + Parse an instance of :py:class:`.types.HasDataSpecification` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance of :py:class:`.types.HasDataSpecification` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _dispatch_from_jsonable( + jsonable, _HAS_DATA_SPECIFICATION_FROM_JSONABLE_DISPATCH, "HasDataSpecification" + ) + + +def administrative_information_from_jsonable( + jsonable: Jsonable, +) -> our_types.AdministrativeInformation: + """ + Parse an instance of :py:class:`.types.AdministrativeInformation` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.AdministrativeInformation` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_version: Optional[str] = None + the_revision: Optional[str] = None + the_creator: Optional[our_types.Reference] = None + the_created_at: Optional[str] = None + the_updated_at: Optional[str] = None + the_template_id: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "version": + the_version = _str_from_jsonable(jsonable_value) + elif key == "revision": + the_revision = _str_from_jsonable(jsonable_value) + elif key == "creator": + the_creator = reference_from_jsonable(jsonable_value) + elif key == "createdAt": + the_created_at = _str_from_jsonable(jsonable_value) + elif key == "updatedAt": + the_updated_at = _str_from_jsonable(jsonable_value) + elif key == "templateId": + the_template_id = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.AdministrativeInformation( + the_embedded_data_specifications, + the_version, + the_revision, + the_creator, + the_created_at, + the_updated_at, + the_template_id, + ) + + +def qualifiable_from_jsonable(jsonable: Jsonable) -> our_types.Qualifiable: + """ + Parse an instance of :py:class:`.types.Qualifiable` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance of :py:class:`.types.Qualifiable` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _dispatch_from_jsonable( + jsonable, _QUALIFIABLE_FROM_JSONABLE_DISPATCH, "Qualifiable" + ) + + +def qualifier_kind_from_jsonable(jsonable: Jsonable) -> our_types.QualifierKind: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.QualifierKind`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.qualifier_kind_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " + f"a literal of QualifierKind: {jsonable}" + ) + + return literal + + +def qualifier_from_jsonable(jsonable: Jsonable) -> our_types.Qualifier: + """ + Parse an instance of :py:class:`.types.Qualifier` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.Qualifier` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_kind: Optional[our_types.QualifierKind] = None + the_type: Optional[str] = None + the_value_type: Optional[our_types.DataTypeDefXSD] = None + the_value: Optional[str] = None + the_value_id: Optional[our_types.Reference] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "kind": + the_kind = qualifier_kind_from_jsonable(jsonable_value) + elif key == "type": + the_type = _str_from_jsonable(jsonable_value) + elif key == "valueType": + the_value_type = data_type_def_xsd_from_jsonable(jsonable_value) + elif key == "value": + the_value = _str_from_jsonable(jsonable_value) + elif key == "valueId": + the_value_id = reference_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_type is None: + raise DeserializationException("The required property 'type' is missing") + + if the_value_type is None: + raise DeserializationException("The required property 'valueType' is missing") + + return our_types.Qualifier( + the_type, + the_value_type, + the_semantic_id, + the_supplemental_semantic_ids, + the_kind, + the_value, + the_value_id, + ) + + +def asset_administration_shell_from_jsonable( + jsonable: Jsonable, +) -> our_types.AssetAdministrationShell: + """ + Parse an instance of :py:class:`.types.AssetAdministrationShell` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.AssetAdministrationShell` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "AssetAdministrationShell": + raise DeserializationException( + f"Expected modelType to be 'AssetAdministrationShell', " + f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_administration: Optional[our_types.AdministrativeInformation] = None + the_id: Optional[str] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_derived_from: Optional[our_types.Reference] = None + the_asset_information: Optional[our_types.AssetInformation] = None + the_submodels: Optional[List[our_types.Reference]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "administration": + the_administration = administrative_information_from_jsonable( + jsonable_value + ) + elif key == "id": + the_id = _str_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "derivedFrom": + the_derived_from = reference_from_jsonable(jsonable_value) + elif key == "assetInformation": + the_asset_information = asset_information_from_jsonable(jsonable_value) + elif key == "submodels": + the_submodels = _list_of__reference_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_id is None: + raise DeserializationException("The required property 'id' is missing") + + if the_asset_information is None: + raise DeserializationException( + "The required property 'assetInformation' is missing" + ) + + return our_types.AssetAdministrationShell( + the_id, + the_asset_information, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_administration, + the_embedded_data_specifications, + the_derived_from, + the_submodels, + ) + + +def asset_information_from_jsonable(jsonable: Jsonable) -> our_types.AssetInformation: + """ + Parse an instance of :py:class:`.types.AssetInformation` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.AssetInformation` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_asset_kind: Optional[our_types.AssetKind] = None + the_global_asset_id: Optional[str] = None + the_specific_asset_ids: Optional[List[our_types.SpecificAssetID]] = None + the_asset_type: Optional[str] = None + the_default_thumbnail: Optional[our_types.Resource] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "assetKind": + the_asset_kind = asset_kind_from_jsonable(jsonable_value) + elif key == "globalAssetId": + the_global_asset_id = _str_from_jsonable(jsonable_value) + elif key == "specificAssetIds": + the_specific_asset_ids = _list_of__specific_asset_id_from_jsonable( + jsonable_value + ) + elif key == "assetType": + the_asset_type = _str_from_jsonable(jsonable_value) + elif key == "defaultThumbnail": + the_default_thumbnail = resource_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_asset_kind is None: + raise DeserializationException("The required property 'assetKind' is missing") + + return our_types.AssetInformation( + the_asset_kind, + the_global_asset_id, + the_specific_asset_ids, + the_asset_type, + the_default_thumbnail, + ) + + +def resource_from_jsonable(jsonable: Jsonable) -> our_types.Resource: + """ + Parse an instance of :py:class:`.types.Resource` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.Resource` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_path: Optional[str] = None + the_content_type: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "path": + the_path = _str_from_jsonable(jsonable_value) + elif key == "contentType": + the_content_type = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_path is None: + raise DeserializationException("The required property 'path' is missing") + + return our_types.Resource(the_path, the_content_type) + + +def asset_kind_from_jsonable(jsonable: Jsonable) -> our_types.AssetKind: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.AssetKind`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.asset_kind_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " + f"a literal of AssetKind: {jsonable}" + ) + + return literal + + +def specific_asset_id_from_jsonable(jsonable: Jsonable) -> our_types.SpecificAssetID: + """ + Parse an instance of :py:class:`.types.SpecificAssetID` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.SpecificAssetID` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_name: Optional[str] = None + the_value: Optional[str] = None + the_external_subject_id: Optional[our_types.Reference] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "name": + the_name = _str_from_jsonable(jsonable_value) + elif key == "value": + the_value = _str_from_jsonable(jsonable_value) + elif key == "externalSubjectId": + the_external_subject_id = reference_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_name is None: + raise DeserializationException("The required property 'name' is missing") + + if the_value is None: + raise DeserializationException("The required property 'value' is missing") + + return our_types.SpecificAssetID( + the_name, + the_value, + the_semantic_id, + the_supplemental_semantic_ids, + the_external_subject_id, + ) + + +def submodel_from_jsonable(jsonable: Jsonable) -> our_types.Submodel: + """ + Parse an instance of :py:class:`.types.Submodel` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.Submodel` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "Submodel": + raise DeserializationException( + f"Expected modelType to be 'Submodel', " f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_administration: Optional[our_types.AdministrativeInformation] = None + the_id: Optional[str] = None + the_kind: Optional[our_types.ModellingKind] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_submodel_elements: Optional[List[our_types.SubmodelElement]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "administration": + the_administration = administrative_information_from_jsonable( + jsonable_value + ) + elif key == "id": + the_id = _str_from_jsonable(jsonable_value) + elif key == "kind": + the_kind = modelling_kind_from_jsonable(jsonable_value) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "submodelElements": + the_submodel_elements = _list_of__submodel_element_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_id is None: + raise DeserializationException("The required property 'id' is missing") + + return our_types.Submodel( + the_id, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_administration, + the_kind, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_submodel_elements, + ) + + +def submodel_element_from_jsonable(jsonable: Jsonable) -> our_types.SubmodelElement: + """ + Parse an instance of :py:class:`.types.SubmodelElement` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance of :py:class:`.types.SubmodelElement` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _dispatch_from_jsonable( + jsonable, _SUBMODEL_ELEMENT_FROM_JSONABLE_DISPATCH, "SubmodelElement" + ) + + +def relationship_element_from_jsonable( + jsonable: Jsonable, +) -> our_types.RelationshipElement: + """ + Parse an instance of :py:class:`.types.RelationshipElement` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance of :py:class:`.types.RelationshipElement` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _dispatch_from_jsonable( + jsonable, _RELATIONSHIP_ELEMENT_FROM_JSONABLE_DISPATCH, "RelationshipElement" + ) + + +def _relationship_element_from_jsonable_without_dispatch( + jsonable: Jsonable, +) -> our_types.RelationshipElement: + """ + Parse an instance of :py:class:`.types.RelationshipElement` from the JSON-able + structure :paramref:`jsonable`. + + This function performs no dispatch! It is used to parse the properties + as-are, and already assumes the exact model type. Usually, this function + is called from within a dispatching function, and you never call it + directly. If you want to de-serialize an instance of + :py:class:`.types.RelationshipElement`, call + :py:func:`relationship_element_from_jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.RelationshipElement` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_first: Optional[our_types.Reference] = None + the_second: Optional[our_types.Reference] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The dispatch has already matched the model type. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "first": + the_first = reference_from_jsonable(jsonable_value) + elif key == "second": + the_second = reference_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.RelationshipElement( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_first, + the_second, + ) + + +def aas_submodel_elements_from_jsonable( + jsonable: Jsonable, +) -> our_types.AASSubmodelElements: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.AASSubmodelElements`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.aas_submodel_elements_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " + f"a literal of AASSubmodelElements: {jsonable}" + ) + + return literal + + +def submodel_element_list_from_jsonable( + jsonable: Jsonable, +) -> our_types.SubmodelElementList: + """ + Parse an instance of :py:class:`.types.SubmodelElementList` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.SubmodelElementList` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "SubmodelElementList": + raise DeserializationException( + f"Expected modelType to be 'SubmodelElementList', " + f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_order_relevant: Optional[bool] = None + the_semantic_id_list_element: Optional[our_types.Reference] = None + the_type_value_list_element: Optional[our_types.AASSubmodelElements] = None + the_value_type_list_element: Optional[our_types.DataTypeDefXSD] = None + the_value: Optional[List[our_types.SubmodelElement]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "orderRelevant": + the_order_relevant = _bool_from_jsonable(jsonable_value) + elif key == "semanticIdListElement": + the_semantic_id_list_element = reference_from_jsonable(jsonable_value) + elif key == "typeValueListElement": + the_type_value_list_element = aas_submodel_elements_from_jsonable( + jsonable_value + ) + elif key == "valueTypeListElement": + the_value_type_list_element = data_type_def_xsd_from_jsonable( + jsonable_value + ) + elif key == "value": + the_value = _list_of__submodel_element_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_type_value_list_element is None: + raise DeserializationException( + "The required property 'typeValueListElement' is missing" + ) + + return our_types.SubmodelElementList( + the_type_value_list_element, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_order_relevant, + the_semantic_id_list_element, + the_value_type_list_element, + the_value, + ) + + +def submodel_element_collection_from_jsonable( + jsonable: Jsonable, +) -> our_types.SubmodelElementCollection: + """ + Parse an instance of :py:class:`.types.SubmodelElementCollection` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.SubmodelElementCollection` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "SubmodelElementCollection": + raise DeserializationException( + f"Expected modelType to be 'SubmodelElementCollection', " + f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_value: Optional[List[our_types.SubmodelElement]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "value": + the_value = _list_of__submodel_element_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.SubmodelElementCollection( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_value, + ) + + +def data_element_from_jsonable(jsonable: Jsonable) -> our_types.DataElement: + """ + Parse an instance of :py:class:`.types.DataElement` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance of :py:class:`.types.DataElement` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _dispatch_from_jsonable( + jsonable, _DATA_ELEMENT_FROM_JSONABLE_DISPATCH, "DataElement" + ) + + +def property_from_jsonable(jsonable: Jsonable) -> our_types.Property: + """ + Parse an instance of :py:class:`.types.Property` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.Property` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "Property": + raise DeserializationException( + f"Expected modelType to be 'Property', " f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_value_type: Optional[our_types.DataTypeDefXSD] = None + the_value: Optional[str] = None + the_value_id: Optional[our_types.Reference] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "valueType": + the_value_type = data_type_def_xsd_from_jsonable(jsonable_value) + elif key == "value": + the_value = _str_from_jsonable(jsonable_value) + elif key == "valueId": + the_value_id = reference_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_value_type is None: + raise DeserializationException("The required property 'valueType' is missing") + + return our_types.Property( + the_value_type, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_value, + the_value_id, + ) + + +def multi_language_property_from_jsonable( + jsonable: Jsonable, +) -> our_types.MultiLanguageProperty: + """ + Parse an instance of :py:class:`.types.MultiLanguageProperty` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.MultiLanguageProperty` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "MultiLanguageProperty": + raise DeserializationException( + f"Expected modelType to be 'MultiLanguageProperty', " + f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_value: Optional[List[our_types.LangStringTextType]] = None + the_value_id: Optional[our_types.Reference] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "value": + the_value = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "valueId": + the_value_id = reference_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.MultiLanguageProperty( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_value, + the_value_id, + ) + + +def range_from_jsonable(jsonable: Jsonable) -> our_types.Range: + """ + Parse an instance of :py:class:`.types.Range` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.Range` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "Range": + raise DeserializationException( + f"Expected modelType to be 'Range', " f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_value_type: Optional[our_types.DataTypeDefXSD] = None + the_min: Optional[str] = None + the_max: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "valueType": + the_value_type = data_type_def_xsd_from_jsonable(jsonable_value) + elif key == "min": + the_min = _str_from_jsonable(jsonable_value) + elif key == "max": + the_max = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_value_type is None: + raise DeserializationException("The required property 'valueType' is missing") + + return our_types.Range( + the_value_type, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_min, + the_max, + ) + + +def reference_element_from_jsonable(jsonable: Jsonable) -> our_types.ReferenceElement: + """ + Parse an instance of :py:class:`.types.ReferenceElement` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.ReferenceElement` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "ReferenceElement": + raise DeserializationException( + f"Expected modelType to be 'ReferenceElement', " f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_value: Optional[our_types.Reference] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "value": + the_value = reference_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.ReferenceElement( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_value, + ) + + +def blob_from_jsonable(jsonable: Jsonable) -> our_types.Blob: + """ + Parse an instance of :py:class:`.types.Blob` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.Blob` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "Blob": + raise DeserializationException( + f"Expected modelType to be 'Blob', " f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_value: Optional[bytes] = None + the_content_type: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "value": + the_value = _bytes_from_jsonable(jsonable_value) + elif key == "contentType": + the_content_type = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.Blob( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_value, + the_content_type, + ) + + +def file_from_jsonable(jsonable: Jsonable) -> our_types.File: + """ + Parse an instance of :py:class:`.types.File` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.File` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "File": + raise DeserializationException( + f"Expected modelType to be 'File', " f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_value: Optional[str] = None + the_content_type: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "value": + the_value = _str_from_jsonable(jsonable_value) + elif key == "contentType": + the_content_type = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.File( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_value, + the_content_type, + ) + + +def annotated_relationship_element_from_jsonable( + jsonable: Jsonable, +) -> our_types.AnnotatedRelationshipElement: + """ + Parse an instance of :py:class:`.types.AnnotatedRelationshipElement` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.AnnotatedRelationshipElement` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "AnnotatedRelationshipElement": + raise DeserializationException( + f"Expected modelType to be 'AnnotatedRelationshipElement', " + f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_first: Optional[our_types.Reference] = None + the_second: Optional[our_types.Reference] = None + the_annotations: Optional[List[our_types.DataElement]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "first": + the_first = reference_from_jsonable(jsonable_value) + elif key == "second": + the_second = reference_from_jsonable(jsonable_value) + elif key == "annotations": + the_annotations = _list_of__data_element_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.AnnotatedRelationshipElement( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_first, + the_second, + the_annotations, + ) + + +def entity_from_jsonable(jsonable: Jsonable) -> our_types.Entity: + """ + Parse an instance of :py:class:`.types.Entity` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.Entity` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "Entity": + raise DeserializationException( + f"Expected modelType to be 'Entity', " f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_statements: Optional[List[our_types.SubmodelElement]] = None + the_entity_type: Optional[our_types.EntityType] = None + the_global_asset_id: Optional[str] = None + the_specific_asset_ids: Optional[List[our_types.SpecificAssetID]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "statements": + the_statements = _list_of__submodel_element_from_jsonable( + jsonable_value + ) + elif key == "entityType": + the_entity_type = entity_type_from_jsonable(jsonable_value) + elif key == "globalAssetId": + the_global_asset_id = _str_from_jsonable(jsonable_value) + elif key == "specificAssetIds": + the_specific_asset_ids = _list_of__specific_asset_id_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.Entity( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_statements, + the_entity_type, + the_global_asset_id, + the_specific_asset_ids, + ) + + +def entity_type_from_jsonable(jsonable: Jsonable) -> our_types.EntityType: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.EntityType`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.entity_type_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " + f"a literal of EntityType: {jsonable}" + ) + + return literal + + +def direction_from_jsonable(jsonable: Jsonable) -> our_types.Direction: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.Direction`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.direction_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " + f"a literal of Direction: {jsonable}" + ) + + return literal + + +def state_of_event_from_jsonable(jsonable: Jsonable) -> our_types.StateOfEvent: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.StateOfEvent`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.state_of_event_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " + f"a literal of StateOfEvent: {jsonable}" + ) + + return literal + + +def event_payload_from_jsonable(jsonable: Jsonable) -> our_types.EventPayload: + """ + Parse an instance of :py:class:`.types.EventPayload` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.EventPayload` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_source: Optional[our_types.Reference] = None + the_source_semantic_id: Optional[our_types.Reference] = None + the_observable_reference: Optional[our_types.Reference] = None + the_observable_semantic_id: Optional[our_types.Reference] = None + the_topic: Optional[str] = None + the_subject_id: Optional[our_types.Reference] = None + the_time_stamp: Optional[str] = None + the_payload: Optional[bytes] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "source": + the_source = reference_from_jsonable(jsonable_value) + elif key == "sourceSemanticId": + the_source_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "observableReference": + the_observable_reference = reference_from_jsonable(jsonable_value) + elif key == "observableSemanticId": + the_observable_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "topic": + the_topic = _str_from_jsonable(jsonable_value) + elif key == "subjectId": + the_subject_id = reference_from_jsonable(jsonable_value) + elif key == "timeStamp": + the_time_stamp = _str_from_jsonable(jsonable_value) + elif key == "payload": + the_payload = _bytes_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_source is None: + raise DeserializationException("The required property 'source' is missing") + + if the_observable_reference is None: + raise DeserializationException( + "The required property 'observableReference' is missing" + ) + + if the_time_stamp is None: + raise DeserializationException("The required property 'timeStamp' is missing") + + return our_types.EventPayload( + the_source, + the_observable_reference, + the_time_stamp, + the_source_semantic_id, + the_observable_semantic_id, + the_topic, + the_subject_id, + the_payload, + ) + + +def event_element_from_jsonable(jsonable: Jsonable) -> our_types.EventElement: + """ + Parse an instance of :py:class:`.types.EventElement` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance of :py:class:`.types.EventElement` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _dispatch_from_jsonable( + jsonable, _EVENT_ELEMENT_FROM_JSONABLE_DISPATCH, "EventElement" + ) + + +def basic_event_element_from_jsonable( + jsonable: Jsonable, +) -> our_types.BasicEventElement: + """ + Parse an instance of :py:class:`.types.BasicEventElement` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.BasicEventElement` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "BasicEventElement": + raise DeserializationException( + f"Expected modelType to be 'BasicEventElement', " f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_observed: Optional[our_types.Reference] = None + the_direction: Optional[our_types.Direction] = None + the_state: Optional[our_types.StateOfEvent] = None + the_message_topic: Optional[str] = None + the_message_broker: Optional[our_types.Reference] = None + the_last_update: Optional[str] = None + the_min_interval: Optional[str] = None + the_max_interval: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "observed": + the_observed = reference_from_jsonable(jsonable_value) + elif key == "direction": + the_direction = direction_from_jsonable(jsonable_value) + elif key == "state": + the_state = state_of_event_from_jsonable(jsonable_value) + elif key == "messageTopic": + the_message_topic = _str_from_jsonable(jsonable_value) + elif key == "messageBroker": + the_message_broker = reference_from_jsonable(jsonable_value) + elif key == "lastUpdate": + the_last_update = _str_from_jsonable(jsonable_value) + elif key == "minInterval": + the_min_interval = _str_from_jsonable(jsonable_value) + elif key == "maxInterval": + the_max_interval = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_observed is None: + raise DeserializationException("The required property 'observed' is missing") + + if the_direction is None: + raise DeserializationException("The required property 'direction' is missing") + + if the_state is None: + raise DeserializationException("The required property 'state' is missing") + + return our_types.BasicEventElement( + the_observed, + the_direction, + the_state, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_message_topic, + the_message_broker, + the_last_update, + the_min_interval, + the_max_interval, + ) + + +def operation_from_jsonable(jsonable: Jsonable) -> our_types.Operation: + """ + Parse an instance of :py:class:`.types.Operation` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.Operation` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "Operation": + raise DeserializationException( + f"Expected modelType to be 'Operation', " f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_input_variables: Optional[List[our_types.OperationVariable]] = None + the_output_variables: Optional[List[our_types.OperationVariable]] = None + the_inoutput_variables: Optional[List[our_types.OperationVariable]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "inputVariables": + the_input_variables = _list_of__operation_variable_from_jsonable( + jsonable_value + ) + elif key == "outputVariables": + the_output_variables = _list_of__operation_variable_from_jsonable( + jsonable_value + ) + elif key == "inoutputVariables": + the_inoutput_variables = _list_of__operation_variable_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.Operation( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_input_variables, + the_output_variables, + the_inoutput_variables, + ) + + +def operation_variable_from_jsonable(jsonable: Jsonable) -> our_types.OperationVariable: + """ + Parse an instance of :py:class:`.types.OperationVariable` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.OperationVariable` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_value: Optional[our_types.SubmodelElement] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "value": + the_value = submodel_element_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_value is None: + raise DeserializationException("The required property 'value' is missing") + + return our_types.OperationVariable(the_value) + + +def capability_from_jsonable(jsonable: Jsonable) -> our_types.Capability: + """ + Parse an instance of :py:class:`.types.Capability` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.Capability` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "Capability": + raise DeserializationException( + f"Expected modelType to be 'Capability', " f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.Capability( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def concept_description_from_jsonable( + jsonable: Jsonable, +) -> our_types.ConceptDescription: + """ + Parse an instance of :py:class:`.types.ConceptDescription` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.ConceptDescription` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "ConceptDescription": + raise DeserializationException( + f"Expected modelType to be 'ConceptDescription', " + f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_administration: Optional[our_types.AdministrativeInformation] = None + the_id: Optional[str] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_is_case_of: Optional[List[our_types.Reference]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "administration": + the_administration = administrative_information_from_jsonable( + jsonable_value + ) + elif key == "id": + the_id = _str_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "isCaseOf": + the_is_case_of = _list_of__reference_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_id is None: + raise DeserializationException("The required property 'id' is missing") + + return our_types.ConceptDescription( + the_id, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_administration, + the_embedded_data_specifications, + the_is_case_of, + ) + + +def reference_types_from_jsonable(jsonable: Jsonable) -> our_types.ReferenceTypes: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.ReferenceTypes`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.reference_types_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " + f"a literal of ReferenceTypes: {jsonable}" + ) + + return literal + + +def reference_from_jsonable(jsonable: Jsonable) -> our_types.Reference: + """ + Parse an instance of :py:class:`.types.Reference` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.Reference` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_type: Optional[our_types.ReferenceTypes] = None + the_referred_semantic_id: Optional[our_types.Reference] = None + the_keys: Optional[List[our_types.Key]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "type": + the_type = reference_types_from_jsonable(jsonable_value) + elif key == "referredSemanticId": + the_referred_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "keys": + the_keys = _list_of__key_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_type is None: + raise DeserializationException("The required property 'type' is missing") + + if the_keys is None: + raise DeserializationException("The required property 'keys' is missing") + + return our_types.Reference(the_type, the_keys, the_referred_semantic_id) + + +def key_from_jsonable(jsonable: Jsonable) -> our_types.Key: + """ + Parse an instance of :py:class:`.types.Key` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.Key` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_type: Optional[our_types.KeyTypes] = None + the_value: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "type": + the_type = key_types_from_jsonable(jsonable_value) + elif key == "value": + the_value = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_type is None: + raise DeserializationException("The required property 'type' is missing") + + if the_value is None: + raise DeserializationException("The required property 'value' is missing") + + return our_types.Key(the_type, the_value) + + +def key_types_from_jsonable(jsonable: Jsonable) -> our_types.KeyTypes: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.KeyTypes`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.key_types_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " + f"a literal of KeyTypes: {jsonable}" + ) + + return literal + + +def data_type_def_xsd_from_jsonable(jsonable: Jsonable) -> our_types.DataTypeDefXSD: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.DataTypeDefXSD`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.data_type_def_xsd_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " + f"a literal of DataTypeDefXSD: {jsonable}" + ) + + return literal + + +def abstract_lang_string_from_jsonable( + jsonable: Jsonable, +) -> our_types.AbstractLangString: + """ + Parse an instance of :py:class:`.types.AbstractLangString` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance of :py:class:`.types.AbstractLangString` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _dispatch_from_jsonable( + jsonable, _ABSTRACT_LANG_STRING_FROM_JSONABLE_DISPATCH, "AbstractLangString" + ) + + +def lang_string_name_type_from_jsonable( + jsonable: Jsonable, +) -> our_types.LangStringNameType: + """ + Parse an instance of :py:class:`.types.LangStringNameType` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.LangStringNameType` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_language: Optional[str] = None + the_text: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "language": + the_language = _str_from_jsonable(jsonable_value) + elif key == "text": + the_text = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_language is None: + raise DeserializationException("The required property 'language' is missing") + + if the_text is None: + raise DeserializationException("The required property 'text' is missing") + + return our_types.LangStringNameType(the_language, the_text) + + +def lang_string_text_type_from_jsonable( + jsonable: Jsonable, +) -> our_types.LangStringTextType: + """ + Parse an instance of :py:class:`.types.LangStringTextType` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.LangStringTextType` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_language: Optional[str] = None + the_text: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "language": + the_language = _str_from_jsonable(jsonable_value) + elif key == "text": + the_text = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_language is None: + raise DeserializationException("The required property 'language' is missing") + + if the_text is None: + raise DeserializationException("The required property 'text' is missing") + + return our_types.LangStringTextType(the_language, the_text) + + +def environment_from_jsonable(jsonable: Jsonable) -> our_types.Environment: + """ + Parse an instance of :py:class:`.types.Environment` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.Environment` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_asset_administration_shells: Optional[ + List[our_types.AssetAdministrationShell] + ] = None + the_submodels: Optional[List[our_types.Submodel]] = None + the_concept_descriptions: Optional[List[our_types.ConceptDescription]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "assetAdministrationShells": + the_asset_administration_shells = ( + _list_of__asset_administration_shell_from_jsonable(jsonable_value) + ) + elif key == "submodels": + the_submodels = _list_of__submodel_from_jsonable(jsonable_value) + elif key == "conceptDescriptions": + the_concept_descriptions = _list_of__concept_description_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.Environment( + the_asset_administration_shells, the_submodels, the_concept_descriptions + ) + + +def data_specification_content_from_jsonable( + jsonable: Jsonable, +) -> our_types.DataSpecificationContent: + """ + Parse an instance of :py:class:`.types.DataSpecificationContent` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance of :py:class:`.types.DataSpecificationContent` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _dispatch_from_jsonable( + jsonable, + _DATA_SPECIFICATION_CONTENT_FROM_JSONABLE_DISPATCH, + "DataSpecificationContent", + ) + + +def embedded_data_specification_from_jsonable( + jsonable: Jsonable, +) -> our_types.EmbeddedDataSpecification: + """ + Parse an instance of :py:class:`.types.EmbeddedDataSpecification` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.EmbeddedDataSpecification` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_data_specification: Optional[our_types.Reference] = None + the_data_specification_content: Optional[our_types.DataSpecificationContent] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "dataSpecification": + the_data_specification = reference_from_jsonable(jsonable_value) + elif key == "dataSpecificationContent": + the_data_specification_content = ( + data_specification_content_from_jsonable(jsonable_value) + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_data_specification is None: + raise DeserializationException( + "The required property 'dataSpecification' is missing" + ) + + if the_data_specification_content is None: + raise DeserializationException( + "The required property 'dataSpecificationContent' is missing" + ) + + return our_types.EmbeddedDataSpecification( + the_data_specification, the_data_specification_content + ) + + +def data_type_iec_61360_from_jsonable(jsonable: Jsonable) -> our_types.DataTypeIEC61360: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.DataTypeIEC61360`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.data_type_iec_61360_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " + f"a literal of DataTypeIEC61360: {jsonable}" + ) + + return literal + + +def level_type_from_jsonable(jsonable: Jsonable) -> our_types.LevelType: + """ + Parse an instance of :py:class:`.types.LevelType` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.LevelType` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_min: Optional[bool] = None + the_nom: Optional[bool] = None + the_typ: Optional[bool] = None + the_max: Optional[bool] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "min": + the_min = _bool_from_jsonable(jsonable_value) + elif key == "nom": + the_nom = _bool_from_jsonable(jsonable_value) + elif key == "typ": + the_typ = _bool_from_jsonable(jsonable_value) + elif key == "max": + the_max = _bool_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_min is None: + raise DeserializationException("The required property 'min' is missing") + + if the_nom is None: + raise DeserializationException("The required property 'nom' is missing") + + if the_typ is None: + raise DeserializationException("The required property 'typ' is missing") + + if the_max is None: + raise DeserializationException("The required property 'max' is missing") + + return our_types.LevelType(the_min, the_nom, the_typ, the_max) + + +def value_reference_pair_from_jsonable( + jsonable: Jsonable, +) -> our_types.ValueReferencePair: + """ + Parse an instance of :py:class:`.types.ValueReferencePair` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.ValueReferencePair` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_value: Optional[str] = None + the_value_id: Optional[our_types.Reference] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "value": + the_value = _str_from_jsonable(jsonable_value) + elif key == "valueId": + the_value_id = reference_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_value is None: + raise DeserializationException("The required property 'value' is missing") + + return our_types.ValueReferencePair(the_value, the_value_id) + + +def value_list_from_jsonable(jsonable: Jsonable) -> our_types.ValueList: + """ + Parse an instance of :py:class:`.types.ValueList` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.ValueList` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_value_reference_pairs: Optional[List[our_types.ValueReferencePair]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "valueReferencePairs": + the_value_reference_pairs = ( + _list_of__value_reference_pair_from_jsonable(jsonable_value) + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_value_reference_pairs is None: + raise DeserializationException( + "The required property 'valueReferencePairs' is missing" + ) + + return our_types.ValueList(the_value_reference_pairs) + + +def lang_string_preferred_name_type_iec_61360_from_jsonable( + jsonable: Jsonable, +) -> our_types.LangStringPreferredNameTypeIEC61360: + """ + Parse an instance of :py:class:`.types.LangStringPreferredNameTypeIEC61360` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.LangStringPreferredNameTypeIEC61360` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_language: Optional[str] = None + the_text: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "language": + the_language = _str_from_jsonable(jsonable_value) + elif key == "text": + the_text = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_language is None: + raise DeserializationException("The required property 'language' is missing") + + if the_text is None: + raise DeserializationException("The required property 'text' is missing") + + return our_types.LangStringPreferredNameTypeIEC61360(the_language, the_text) + + +def lang_string_short_name_type_iec_61360_from_jsonable( + jsonable: Jsonable, +) -> our_types.LangStringShortNameTypeIEC61360: + """ + Parse an instance of :py:class:`.types.LangStringShortNameTypeIEC61360` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.LangStringShortNameTypeIEC61360` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_language: Optional[str] = None + the_text: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "language": + the_language = _str_from_jsonable(jsonable_value) + elif key == "text": + the_text = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_language is None: + raise DeserializationException("The required property 'language' is missing") + + if the_text is None: + raise DeserializationException("The required property 'text' is missing") + + return our_types.LangStringShortNameTypeIEC61360(the_language, the_text) + + +def lang_string_definition_type_iec_61360_from_jsonable( + jsonable: Jsonable, +) -> our_types.LangStringDefinitionTypeIEC61360: + """ + Parse an instance of :py:class:`.types.LangStringDefinitionTypeIEC61360` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.LangStringDefinitionTypeIEC61360` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_language: Optional[str] = None + the_text: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "language": + the_language = _str_from_jsonable(jsonable_value) + elif key == "text": + the_text = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_language is None: + raise DeserializationException("The required property 'language' is missing") + + if the_text is None: + raise DeserializationException("The required property 'text' is missing") + + return our_types.LangStringDefinitionTypeIEC61360(the_language, the_text) + + +def lang_string_uom_from_jsonable(jsonable: Jsonable) -> our_types.LangStringUom: + """ + Parse an instance of :py:class:`.types.LangStringUom` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.LangStringUom` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_language: Optional[str] = None + the_text: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "language": + the_language = _str_from_jsonable(jsonable_value) + elif key == "text": + the_text = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_language is None: + raise DeserializationException("The required property 'language' is missing") + + if the_text is None: + raise DeserializationException("The required property 'text' is missing") + + return our_types.LangStringUom(the_language, the_text) + + +def definition_type_uom_from_jsonable( + jsonable: Jsonable, +) -> our_types.DefinitionTypeUom: + """ + Parse an instance of :py:class:`.types.DefinitionTypeUom` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.DefinitionTypeUom` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_language: Optional[str] = None + the_text: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "language": + the_language = _str_from_jsonable(jsonable_value) + elif key == "text": + the_text = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_language is None: + raise DeserializationException("The required property 'language' is missing") + + if the_text is None: + raise DeserializationException("The required property 'text' is missing") + + return our_types.DefinitionTypeUom(the_language, the_text) + + +def data_specification_uom_from_jsonable( + jsonable: Jsonable, +) -> our_types.DataSpecificationUom: + """ + Parse an instance of :py:class:`.types.DataSpecificationUom` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.DataSpecificationUom` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "DataSpecificationUom": + raise DeserializationException( + f"Expected modelType to be 'DataSpecificationUom', " + f"but got: {model_type!r}" + ) + + the_preferred_name: Optional[List[our_types.LangStringUom]] = None + the_symbol: Optional[str] = None + the_specific_unit_id: Optional[str] = None + the_definition: Optional[List[our_types.DefinitionTypeUom]] = None + the_preferred_name_quantity: Optional[List[our_types.LangStringUom]] = None + the_quantity_id: Optional[str] = None + the_classification_system: Optional[str] = None + the_classification_system_version: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "preferredName": + the_preferred_name = _list_of__lang_string_uom_from_jsonable( + jsonable_value + ) + elif key == "symbol": + the_symbol = _str_from_jsonable(jsonable_value) + elif key == "specificUnitId": + the_specific_unit_id = _str_from_jsonable(jsonable_value) + elif key == "definition": + the_definition = _list_of__definition_type_uom_from_jsonable( + jsonable_value + ) + elif key == "preferredNameQuantity": + the_preferred_name_quantity = _list_of__lang_string_uom_from_jsonable( + jsonable_value + ) + elif key == "quantityId": + the_quantity_id = _str_from_jsonable(jsonable_value) + elif key == "classificationSystem": + the_classification_system = _str_from_jsonable(jsonable_value) + elif key == "classificationSystemVersion": + the_classification_system_version = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_preferred_name is None: + raise DeserializationException( + "The required property 'preferredName' is missing" + ) + + if the_symbol is None: + raise DeserializationException("The required property 'symbol' is missing") + + return our_types.DataSpecificationUom( + the_preferred_name, + the_symbol, + the_specific_unit_id, + the_definition, + the_preferred_name_quantity, + the_quantity_id, + the_classification_system, + the_classification_system_version, + ) + + +def data_specification_iec_61360_from_jsonable( + jsonable: Jsonable, +) -> our_types.DataSpecificationIEC61360: + """ + Parse an instance of :py:class:`.types.DataSpecificationIEC61360` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.DataSpecificationIEC61360` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "DataSpecificationIec61360": + raise DeserializationException( + f"Expected modelType to be 'DataSpecificationIec61360', " + f"but got: {model_type!r}" + ) + + the_preferred_name: Optional[ + List[our_types.LangStringPreferredNameTypeIEC61360] + ] = None + the_short_name: Optional[List[our_types.LangStringShortNameTypeIEC61360]] = None + the_unit: Optional[str] = None + the_unit_id: Optional[our_types.Reference] = None + the_source_of_definition: Optional[str] = None + the_symbol: Optional[str] = None + the_data_type: Optional[our_types.DataTypeIEC61360] = None + the_definition: Optional[List[our_types.LangStringDefinitionTypeIEC61360]] = None + the_value_format: Optional[str] = None + the_value_list: Optional[our_types.ValueList] = None + the_value: Optional[str] = None + the_level_type: Optional[our_types.LevelType] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "preferredName": + the_preferred_name = ( + _list_of__lang_string_preferred_name_type_iec_61360_from_jsonable( + jsonable_value + ) + ) + elif key == "shortName": + the_short_name = ( + _list_of__lang_string_short_name_type_iec_61360_from_jsonable( + jsonable_value + ) + ) + elif key == "unit": + the_unit = _str_from_jsonable(jsonable_value) + elif key == "unitId": + the_unit_id = reference_from_jsonable(jsonable_value) + elif key == "sourceOfDefinition": + the_source_of_definition = _str_from_jsonable(jsonable_value) + elif key == "symbol": + the_symbol = _str_from_jsonable(jsonable_value) + elif key == "dataType": + the_data_type = data_type_iec_61360_from_jsonable(jsonable_value) + elif key == "definition": + the_definition = ( + _list_of__lang_string_definition_type_iec_61360_from_jsonable( + jsonable_value + ) + ) + elif key == "valueFormat": + the_value_format = _str_from_jsonable(jsonable_value) + elif key == "valueList": + the_value_list = value_list_from_jsonable(jsonable_value) + elif key == "value": + the_value = _str_from_jsonable(jsonable_value) + elif key == "levelType": + the_level_type = level_type_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_preferred_name is None: + raise DeserializationException( + "The required property 'preferredName' is missing" + ) + + return our_types.DataSpecificationIEC61360( + the_preferred_name, + the_short_name, + the_unit, + the_unit_id, + the_source_of_definition, + the_symbol, + the_data_type, + the_definition, + the_value_format, + the_value_list, + the_value, + the_level_type, + ) + + +def serialization_format_from_jsonable( + jsonable: Jsonable, +) -> our_types.SerializationFormat: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.SerializationFormat`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.serialization_format_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " + f"a literal of SerializationFormat: {jsonable}" + ) + + return literal + + +def descriptor_from_jsonable(jsonable: Jsonable) -> our_types.Descriptor: + """ + Parse an instance of :py:class:`.types.Descriptor` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance of :py:class:`.types.Descriptor` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _dispatch_from_jsonable( + jsonable, _DESCRIPTOR_FROM_JSONABLE_DISPATCH, "Descriptor" + ) + + +def asset_administration_shell_descriptor_from_jsonable( + jsonable: Jsonable, +) -> our_types.AssetAdministrationShellDescriptor: + """ + Parse an instance of :py:class:`.types.AssetAdministrationShellDescriptor` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.AssetAdministrationShellDescriptor` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_description: Optional[List[our_types.LangStringTextType]] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_extensions: Optional[List[our_types.Extension]] = None + the_id: Optional[str] = None + the_administration: Optional[our_types.AdministrativeInformation] = None + the_asset_kind: Optional[our_types.AssetKind] = None + the_asset_type: Optional[str] = None + the_endpoints: Optional[List[our_types.Endpoint]] = None + the_global_asset_id: Optional[str] = None + the_id_short: Optional[str] = None + the_specific_asset_ids: Optional[List[our_types.SpecificAssetID]] = None + the_submodel_descriptors: Optional[List[our_types.SubmodelDescriptor]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "id": + the_id = _str_from_jsonable(jsonable_value) + elif key == "administration": + the_administration = administrative_information_from_jsonable( + jsonable_value + ) + elif key == "assetKind": + the_asset_kind = asset_kind_from_jsonable(jsonable_value) + elif key == "assetType": + the_asset_type = _str_from_jsonable(jsonable_value) + elif key == "endpoints": + the_endpoints = _list_of__endpoint_from_jsonable(jsonable_value) + elif key == "globalAssetId": + the_global_asset_id = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "specificAssetIds": + the_specific_asset_ids = _list_of__specific_asset_id_from_jsonable( + jsonable_value + ) + elif key == "submodelDescriptors": + the_submodel_descriptors = _list_of__submodel_descriptor_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_id is None: + raise DeserializationException("The required property 'id' is missing") + + return our_types.AssetAdministrationShellDescriptor( + the_id, + the_description, + the_display_name, + the_extensions, + the_administration, + the_asset_kind, + the_asset_type, + the_endpoints, + the_global_asset_id, + the_id_short, + the_specific_asset_ids, + the_submodel_descriptors, + ) + + +def submodel_descriptor_from_jsonable( + jsonable: Jsonable, +) -> our_types.SubmodelDescriptor: + """ + Parse an instance of :py:class:`.types.SubmodelDescriptor` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.SubmodelDescriptor` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_description: Optional[List[our_types.LangStringTextType]] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_extensions: Optional[List[our_types.Extension]] = None + the_endpoints: Optional[List[our_types.Endpoint]] = None + the_id: Optional[str] = None + the_administration: Optional[our_types.AdministrativeInformation] = None + the_id_short: Optional[str] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "endpoints": + the_endpoints = _list_of__endpoint_from_jsonable(jsonable_value) + elif key == "id": + the_id = _str_from_jsonable(jsonable_value) + elif key == "administration": + the_administration = administrative_information_from_jsonable( + jsonable_value + ) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_endpoints is None: + raise DeserializationException("The required property 'endpoints' is missing") + + if the_id is None: + raise DeserializationException("The required property 'id' is missing") + + return our_types.SubmodelDescriptor( + the_endpoints, + the_id, + the_description, + the_display_name, + the_extensions, + the_administration, + the_id_short, + the_semantic_id, + the_supplemental_semantic_ids, + ) + + +def endpoint_from_jsonable(jsonable: Jsonable) -> our_types.Endpoint: + """ + Parse an instance of :py:class:`.types.Endpoint` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.Endpoint` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_protocol_information: Optional[our_types.ProtocolInformation] = None + the_interface: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "protocolInformation": + the_protocol_information = protocol_information_from_jsonable( + jsonable_value + ) + elif key == "interface": + the_interface = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_protocol_information is None: + raise DeserializationException( + "The required property 'protocolInformation' is missing" + ) + + if the_interface is None: + raise DeserializationException("The required property 'interface' is missing") + + return our_types.Endpoint(the_protocol_information, the_interface) + + +def protocol_information_from_jsonable( + jsonable: Jsonable, +) -> our_types.ProtocolInformation: + """ + Parse an instance of :py:class:`.types.ProtocolInformation` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.ProtocolInformation` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_href: Optional[str] = None + the_endpoint_protocol: Optional[str] = None + the_endpoint_protocol_version: Optional[List[str]] = None + the_subprotocol: Optional[str] = None + the_subprotocol_body: Optional[str] = None + the_subprotocol_body_encoding: Optional[str] = None + the_security_attributes: Optional[List[our_types.SecurityAttributeObject]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "href": + the_href = _str_from_jsonable(jsonable_value) + elif key == "endpointProtocol": + the_endpoint_protocol = _str_from_jsonable(jsonable_value) + elif key == "endpointProtocolVersion": + the_endpoint_protocol_version = _list_of__str_from_jsonable( + jsonable_value + ) + elif key == "subprotocol": + the_subprotocol = _str_from_jsonable(jsonable_value) + elif key == "subprotocolBody": + the_subprotocol_body = _str_from_jsonable(jsonable_value) + elif key == "subprotocolBodyEncoding": + the_subprotocol_body_encoding = _str_from_jsonable(jsonable_value) + elif key == "securityAttributes": + the_security_attributes = ( + _list_of__security_attribute_object_from_jsonable(jsonable_value) + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_href is None: + raise DeserializationException("The required property 'href' is missing") + + return our_types.ProtocolInformation( + the_href, + the_endpoint_protocol, + the_endpoint_protocol_version, + the_subprotocol, + the_subprotocol_body, + the_subprotocol_body_encoding, + the_security_attributes, + ) + + +def security_attribute_object_from_jsonable( + jsonable: Jsonable, +) -> our_types.SecurityAttributeObject: + """ + Parse an instance of :py:class:`.types.SecurityAttributeObject` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.SecurityAttributeObject` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_type: Optional[our_types.SecurityTypeEnum] = None + the_key: Optional[str] = None + the_value: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "type": + the_type = security_type_enum_from_jsonable(jsonable_value) + elif key == "key": + the_key = _str_from_jsonable(jsonable_value) + elif key == "value": + the_value = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_type is None: + raise DeserializationException("The required property 'type' is missing") + + if the_key is None: + raise DeserializationException("The required property 'key' is missing") + + if the_value is None: + raise DeserializationException("The required property 'value' is missing") + + return our_types.SecurityAttributeObject(the_type, the_key, the_value) + + +def security_type_enum_from_jsonable(jsonable: Jsonable) -> our_types.SecurityTypeEnum: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.SecurityTypeEnum`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.security_type_enum_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " + f"a literal of SecurityTypeEnum: {jsonable}" + ) + + return literal + + +def asset_link_from_jsonable(jsonable: Jsonable) -> our_types.AssetLink: + """ + Parse an instance of :py:class:`.types.AssetLink` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.AssetLink` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_name: Optional[str] = None + the_value: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "name": + the_name = _str_from_jsonable(jsonable_value) + elif key == "value": + the_value = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_name is None: + raise DeserializationException("The required property 'name' is missing") + + if the_value is None: + raise DeserializationException("The required property 'value' is missing") + + return our_types.AssetLink(the_name, the_value) + + +def service_description_from_jsonable( + jsonable: Jsonable, +) -> our_types.ServiceDescription: + """ + Parse an instance of :py:class:`.types.ServiceDescription` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.ServiceDescription` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_profiles: Optional[List[our_types.ServiceSpecificationProfileEnum]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "profiles": + the_profiles = ( + _list_of__service_specification_profile_enum_from_jsonable( + jsonable_value + ) + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_profiles is None: + raise DeserializationException("The required property 'profiles' is missing") + + return our_types.ServiceDescription(the_profiles) + + +def service_specification_profile_enum_from_jsonable( + jsonable: Jsonable, +) -> our_types.ServiceSpecificationProfileEnum: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.ServiceSpecificationProfileEnum`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.service_specification_profile_enum_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " + f"a literal of ServiceSpecificationProfileEnum: {jsonable}" + ) + + return literal + + +def recent_change_from_jsonable(jsonable: Jsonable) -> our_types.RecentChange: + """ + Parse an instance of :py:class:`.types.RecentChange` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance of :py:class:`.types.RecentChange` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _dispatch_from_jsonable( + jsonable, _RECENT_CHANGE_FROM_JSONABLE_DISPATCH, "RecentChange" + ) + + +def asset_administration_shell_recent_change_from_jsonable( + jsonable: Jsonable, +) -> our_types.AssetAdministrationShellRecentChange: + """ + Parse an instance of :py:class:`.types.AssetAdministrationShellRecentChange` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.AssetAdministrationShellRecentChange` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_created_at: Optional[str] = None + the_updated_at: Optional[str] = None + the_id: Optional[str] = None + the_global_asset_id: Optional[str] = None + the_specific_asset_ids: Optional[List[our_types.SpecificAssetID]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "createdAt": + the_created_at = _str_from_jsonable(jsonable_value) + elif key == "updatedAt": + the_updated_at = _str_from_jsonable(jsonable_value) + elif key == "id": + the_id = _str_from_jsonable(jsonable_value) + elif key == "globalAssetId": + the_global_asset_id = _str_from_jsonable(jsonable_value) + elif key == "specificAssetIds": + the_specific_asset_ids = _list_of__specific_asset_id_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_created_at is None: + raise DeserializationException("The required property 'createdAt' is missing") + + if the_updated_at is None: + raise DeserializationException("The required property 'updatedAt' is missing") + + if the_id is None: + raise DeserializationException("The required property 'id' is missing") + + return our_types.AssetAdministrationShellRecentChange( + the_created_at, + the_updated_at, + the_id, + the_global_asset_id, + the_specific_asset_ids, + ) + + +def concept_description_recent_change_from_jsonable( + jsonable: Jsonable, +) -> our_types.ConceptDescriptionRecentChange: + """ + Parse an instance of :py:class:`.types.ConceptDescriptionRecentChange` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.ConceptDescriptionRecentChange` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_created_at: Optional[str] = None + the_updated_at: Optional[str] = None + the_id: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "createdAt": + the_created_at = _str_from_jsonable(jsonable_value) + elif key == "updatedAt": + the_updated_at = _str_from_jsonable(jsonable_value) + elif key == "id": + the_id = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_created_at is None: + raise DeserializationException("The required property 'createdAt' is missing") + + if the_updated_at is None: + raise DeserializationException("The required property 'updatedAt' is missing") + + if the_id is None: + raise DeserializationException("The required property 'id' is missing") + + return our_types.ConceptDescriptionRecentChange( + the_created_at, the_updated_at, the_id + ) + + +def submodel_recent_change_from_jsonable( + jsonable: Jsonable, +) -> our_types.SubmodelRecentChange: + """ + Parse an instance of :py:class:`.types.SubmodelRecentChange` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.SubmodelRecentChange` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_created_at: Optional[str] = None + the_updated_at: Optional[str] = None + the_id: Optional[str] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "createdAt": + the_created_at = _str_from_jsonable(jsonable_value) + elif key == "updatedAt": + the_updated_at = _str_from_jsonable(jsonable_value) + elif key == "id": + the_id = _str_from_jsonable(jsonable_value) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_created_at is None: + raise DeserializationException("The required property 'createdAt' is missing") + + if the_updated_at is None: + raise DeserializationException("The required property 'updatedAt' is missing") + + if the_id is None: + raise DeserializationException("The required property 'id' is missing") + + return our_types.SubmodelRecentChange( + the_created_at, + the_updated_at, + the_id, + the_semantic_id, + the_supplemental_semantic_ids, + ) + + +def status_code_from_jsonable(jsonable: Jsonable) -> our_types.StatusCode: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.StatusCode`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.status_code_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " + f"a literal of StatusCode: {jsonable}" + ) + + return literal + + +def result_from_jsonable(jsonable: Jsonable) -> our_types.Result: + """ + Parse an instance of :py:class:`.types.Result` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.Result` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_messages: Optional[List[our_types.Message]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "messages": + the_messages = _list_of__message_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.Result(the_messages) + + +def message_from_jsonable(jsonable: Jsonable) -> our_types.Message: + """ + Parse an instance of :py:class:`.types.Message` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.Message` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_message_type: Optional[our_types.MessageTypeEnum] = None + the_text: Optional[str] = None + the_code: Optional[str] = None + the_correlation_id: Optional[str] = None + the_timestamp: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "messageType": + the_message_type = message_type_enum_from_jsonable(jsonable_value) + elif key == "text": + the_text = _str_from_jsonable(jsonable_value) + elif key == "code": + the_code = _str_from_jsonable(jsonable_value) + elif key == "correlationId": + the_correlation_id = _str_from_jsonable(jsonable_value) + elif key == "timestamp": + the_timestamp = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_message_type is None: + raise DeserializationException("The required property 'messageType' is missing") + + if the_text is None: + raise DeserializationException("The required property 'text' is missing") + + return our_types.Message( + the_message_type, the_text, the_code, the_correlation_id, the_timestamp + ) + + +def message_type_enum_from_jsonable(jsonable: Jsonable) -> our_types.MessageTypeEnum: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.MessageTypeEnum`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.message_type_enum_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " + f"a literal of MessageTypeEnum: {jsonable}" + ) + + return literal + + +def operation_request_from_jsonable(jsonable: Jsonable) -> our_types.OperationRequest: + """ + Parse an instance of :py:class:`.types.OperationRequest` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.OperationRequest` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_input_arguments: Optional[List[our_types.OperationVariable]] = None + the_inoutput_arguments: Optional[List[our_types.OperationVariable]] = None + the_client_timeout_duration: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "inputArguments": + the_input_arguments = _list_of__operation_variable_from_jsonable( + jsonable_value + ) + elif key == "inoutputArguments": + the_inoutput_arguments = _list_of__operation_variable_from_jsonable( + jsonable_value + ) + elif key == "clientTimeoutDuration": + the_client_timeout_duration = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.OperationRequest( + the_input_arguments, the_inoutput_arguments, the_client_timeout_duration + ) + + +def operation_request_async_from_jsonable( + jsonable: Jsonable, +) -> our_types.OperationRequestAsync: + """ + Parse an instance of :py:class:`.types.OperationRequestAsync` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.OperationRequestAsync` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_input_arguments: Optional[List[our_types.OperationVariable]] = None + the_inoutput_arguments: Optional[List[our_types.OperationVariable]] = None + the_client_timeout_duration: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "inputArguments": + the_input_arguments = _list_of__operation_variable_from_jsonable( + jsonable_value + ) + elif key == "inoutputArguments": + the_inoutput_arguments = _list_of__operation_variable_from_jsonable( + jsonable_value + ) + elif key == "clientTimeoutDuration": + the_client_timeout_duration = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_client_timeout_duration is None: + raise DeserializationException( + "The required property 'clientTimeoutDuration' is missing" + ) + + return our_types.OperationRequestAsync( + the_client_timeout_duration, the_input_arguments, the_inoutput_arguments + ) + + +def operation_request_value_only_from_jsonable( + jsonable: Jsonable, +) -> our_types.OperationRequestValueOnly: + """ + Parse an instance of :py:class:`.types.OperationRequestValueOnly` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.OperationRequestValueOnly` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_input_arguments: Optional[our_types.JsonObject] = None + the_inoutput_arguments: Optional[our_types.JsonObject] = None + the_client_timeout_duration: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "inputArguments": + the_input_arguments = _json_object_from_jsonable(jsonable_value) + elif key == "inoutputArguments": + the_inoutput_arguments = _json_object_from_jsonable(jsonable_value) + elif key == "clientTimeoutDuration": + the_client_timeout_duration = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.OperationRequestValueOnly( + the_input_arguments, the_inoutput_arguments, the_client_timeout_duration + ) + + +def operation_request_async_value_only_from_jsonable( + jsonable: Jsonable, +) -> our_types.OperationRequestAsyncValueOnly: + """ + Parse an instance of :py:class:`.types.OperationRequestAsyncValueOnly` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.OperationRequestAsyncValueOnly` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_input_arguments: Optional[our_types.JsonObject] = None + the_inoutput_arguments: Optional[our_types.JsonObject] = None + the_client_timeout_duration: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "inputArguments": + the_input_arguments = _json_object_from_jsonable(jsonable_value) + elif key == "inoutputArguments": + the_inoutput_arguments = _json_object_from_jsonable(jsonable_value) + elif key == "clientTimeoutDuration": + the_client_timeout_duration = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_client_timeout_duration is None: + raise DeserializationException( + "The required property 'clientTimeoutDuration' is missing" + ) + + return our_types.OperationRequestAsyncValueOnly( + the_client_timeout_duration, the_input_arguments, the_inoutput_arguments + ) + + +def base_operation_result_from_jsonable( + jsonable: Jsonable, +) -> our_types.BaseOperationResult: + """ + Parse an instance of :py:class:`.types.BaseOperationResult` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.BaseOperationResult` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_execution_state: Optional[our_types.ExecutionState] = None + the_messages: Optional[List[our_types.Message]] = None + the_success: Optional[bool] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "executionState": + the_execution_state = execution_state_from_jsonable(jsonable_value) + elif key == "messages": + the_messages = _list_of__message_from_jsonable(jsonable_value) + elif key == "success": + the_success = _bool_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_execution_state is None: + raise DeserializationException( + "The required property 'executionState' is missing" + ) + + return our_types.BaseOperationResult(the_execution_state, the_messages, the_success) + + +def operation_result_from_jsonable(jsonable: Jsonable) -> our_types.OperationResult: + """ + Parse an instance of :py:class:`.types.OperationResult` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.OperationResult` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_execution_state: Optional[our_types.ExecutionState] = None + the_messages: Optional[List[our_types.Message]] = None + the_success: Optional[bool] = None + the_output_arguments: Optional[List[our_types.OperationVariable]] = None + the_inoutput_arguments: Optional[List[our_types.OperationVariable]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "executionState": + the_execution_state = execution_state_from_jsonable(jsonable_value) + elif key == "messages": + the_messages = _list_of__message_from_jsonable(jsonable_value) + elif key == "success": + the_success = _bool_from_jsonable(jsonable_value) + elif key == "outputArguments": + the_output_arguments = _list_of__operation_variable_from_jsonable( + jsonable_value + ) + elif key == "inoutputArguments": + the_inoutput_arguments = _list_of__operation_variable_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_execution_state is None: + raise DeserializationException( + "The required property 'executionState' is missing" + ) + + return our_types.OperationResult( + the_execution_state, + the_messages, + the_success, + the_output_arguments, + the_inoutput_arguments, + ) + + +def operation_result_value_only_from_jsonable( + jsonable: Jsonable, +) -> our_types.OperationResultValueOnly: + """ + Parse an instance of :py:class:`.types.OperationResultValueOnly` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.OperationResultValueOnly` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_execution_state: Optional[our_types.ExecutionState] = None + the_messages: Optional[List[our_types.Message]] = None + the_success: Optional[bool] = None + the_output_arguments: Optional[our_types.JsonObject] = None + the_inoutput_arguments: Optional[our_types.JsonObject] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "executionState": + the_execution_state = execution_state_from_jsonable(jsonable_value) + elif key == "messages": + the_messages = _list_of__message_from_jsonable(jsonable_value) + elif key == "success": + the_success = _bool_from_jsonable(jsonable_value) + elif key == "outputArguments": + the_output_arguments = _json_object_from_jsonable(jsonable_value) + elif key == "inoutputArguments": + the_inoutput_arguments = _json_object_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_execution_state is None: + raise DeserializationException( + "The required property 'executionState' is missing" + ) + + return our_types.OperationResultValueOnly( + the_execution_state, + the_messages, + the_success, + the_output_arguments, + the_inoutput_arguments, + ) + + +def execution_state_from_jsonable(jsonable: Jsonable) -> our_types.ExecutionState: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.ExecutionState`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.execution_state_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " + f"a literal of ExecutionState: {jsonable}" + ) + + return literal + + +def operation_handle_from_jsonable(jsonable: Jsonable) -> our_types.OperationHandle: + """ + Parse an instance of :py:class:`.types.OperationHandle` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.OperationHandle` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_handle_id: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "handleId": + the_handle_id = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_handle_id is None: + raise DeserializationException("The required property 'handleId' is missing") + + return our_types.OperationHandle(the_handle_id) + + +def level_from_jsonable(jsonable: Jsonable) -> our_types.Level: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.Level`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.level_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " f"a literal of Level: {jsonable}" + ) + + return literal + + +def content_from_jsonable(jsonable: Jsonable) -> our_types.Content: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.Content`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.content_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " f"a literal of Content: {jsonable}" + ) + + return literal + + +def extent_from_jsonable(jsonable: Jsonable) -> our_types.Extent: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.Extent`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.extent_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " f"a literal of Extent: {jsonable}" + ) + + return literal + + +def paged_result_from_jsonable(jsonable: Jsonable) -> our_types.PagedResult: + """ + Parse an instance of :py:class:`.types.PagedResult` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.PagedResult` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_result: Optional[List[our_types.Referable]] = None + the_paging_metadata: Optional[our_types.PagingMetadata] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "result": + the_result = _list_of__referable_from_jsonable(jsonable_value) + elif key == "paging_metadata": + the_paging_metadata = paging_metadata_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'paging_metadata' is missing" + ) + + return our_types.PagedResult(the_paging_metadata, the_result) + + +def paging_metadata_from_jsonable(jsonable: Jsonable) -> our_types.PagingMetadata: + """ + Parse an instance of :py:class:`.types.PagingMetadata` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.PagingMetadata` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_cursor: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "cursor": + the_cursor = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.PagingMetadata(the_cursor) + + +def package_description_from_jsonable( + jsonable: Jsonable, +) -> our_types.PackageDescription: + """ + Parse an instance of :py:class:`.types.PackageDescription` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.PackageDescription` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_package_id: Optional[str] = None + the_aas_ids: Optional[List[str]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "packageId": + the_package_id = _str_from_jsonable(jsonable_value) + elif key == "aasIds": + the_aas_ids = _list_of__str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_package_id is None: + raise DeserializationException("The required property 'packageId' is missing") + + return our_types.PackageDescription(the_package_id, the_aas_ids) + + +def submodel_element_attributes_from_jsonable( + jsonable: Jsonable, +) -> our_types.SubmodelElementAttributes: + """ + Parse an instance of :py:class:`.types.SubmodelElementAttributes` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance of :py:class:`.types.SubmodelElementAttributes` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _dispatch_from_jsonable( + jsonable, + _SUBMODEL_ELEMENT_ATTRIBUTES_FROM_JSONABLE_DISPATCH, + "SubmodelElementAttributes", + ) + + +def submodel_element_metadata_from_jsonable( + jsonable: Jsonable, +) -> our_types.SubmodelElementMetadata: + """ + Parse an instance of :py:class:`.types.SubmodelElementMetadata` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance of :py:class:`.types.SubmodelElementMetadata` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + return _dispatch_from_jsonable( + jsonable, + _SUBMODEL_ELEMENT_METADATA_FROM_JSONABLE_DISPATCH, + "SubmodelElementMetadata", + ) + + +def property_metadata_from_jsonable(jsonable: Jsonable) -> our_types.PropertyMetadata: + """ + Parse an instance of :py:class:`.types.PropertyMetadata` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.PropertyMetadata` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "PropertyMetadata": + raise DeserializationException( + f"Expected modelType to be 'PropertyMetadata', " f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_value_type: Optional[our_types.DataTypeDefXSD] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "valueType": + the_value_type = data_type_def_xsd_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_value_type is None: + raise DeserializationException("The required property 'valueType' is missing") + + return our_types.PropertyMetadata( + the_value_type, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def range_metadata_from_jsonable(jsonable: Jsonable) -> our_types.RangeMetadata: + """ + Parse an instance of :py:class:`.types.RangeMetadata` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.RangeMetadata` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "RangeMetadata": + raise DeserializationException( + f"Expected modelType to be 'RangeMetadata', " f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_value_type: Optional[our_types.DataTypeDefXSD] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "valueType": + the_value_type = data_type_def_xsd_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_value_type is None: + raise DeserializationException("The required property 'valueType' is missing") + + return our_types.RangeMetadata( + the_value_type, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def blob_metadata_from_jsonable(jsonable: Jsonable) -> our_types.BlobMetadata: + """ + Parse an instance of :py:class:`.types.BlobMetadata` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.BlobMetadata` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "BlobMetadata": + raise DeserializationException( + f"Expected modelType to be 'BlobMetadata', " f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.BlobMetadata( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def file_metadata_from_jsonable(jsonable: Jsonable) -> our_types.FileMetadata: + """ + Parse an instance of :py:class:`.types.FileMetadata` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.FileMetadata` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "FileMetadata": + raise DeserializationException( + f"Expected modelType to be 'FileMetadata', " f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.FileMetadata( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def multi_language_property_metadata_from_jsonable( + jsonable: Jsonable, +) -> our_types.MultiLanguagePropertyMetadata: + """ + Parse an instance of :py:class:`.types.MultiLanguagePropertyMetadata` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.MultiLanguagePropertyMetadata` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "MultiLanguagePropertyMetadata": + raise DeserializationException( + f"Expected modelType to be 'MultiLanguagePropertyMetadata', " + f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.MultiLanguagePropertyMetadata( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def reference_element_metadata_from_jsonable( + jsonable: Jsonable, +) -> our_types.ReferenceElementMetadata: + """ + Parse an instance of :py:class:`.types.ReferenceElementMetadata` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.ReferenceElementMetadata` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "ReferenceElementMetadata": + raise DeserializationException( + f"Expected modelType to be 'ReferenceElementMetadata', " + f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.ReferenceElementMetadata( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def relationship_element_metadata_from_jsonable( + jsonable: Jsonable, +) -> our_types.RelationshipElementMetadata: + """ + Parse an instance of :py:class:`.types.RelationshipElementMetadata` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.RelationshipElementMetadata` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "RelationshipElementMetadata": + raise DeserializationException( + f"Expected modelType to be 'RelationshipElementMetadata', " + f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.RelationshipElementMetadata( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def annotated_relationship_element_metadata_from_jsonable( + jsonable: Jsonable, +) -> our_types.AnnotatedRelationshipElementMetadata: + """ + Parse an instance of :py:class:`.types.AnnotatedRelationshipElementMetadata` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.AnnotatedRelationshipElementMetadata` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "AnnotatedRelationshipElementMetadata": + raise DeserializationException( + f"Expected modelType to be 'AnnotatedRelationshipElementMetadata', " + f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.AnnotatedRelationshipElementMetadata( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def entity_metadata_from_jsonable(jsonable: Jsonable) -> our_types.EntityMetadata: + """ + Parse an instance of :py:class:`.types.EntityMetadata` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.EntityMetadata` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "EntityMetadata": + raise DeserializationException( + f"Expected modelType to be 'EntityMetadata', " f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.EntityMetadata( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def capability_metadata_from_jsonable( + jsonable: Jsonable, +) -> our_types.CapabilityMetadata: + """ + Parse an instance of :py:class:`.types.CapabilityMetadata` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.CapabilityMetadata` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "CapabilityMetadata": + raise DeserializationException( + f"Expected modelType to be 'CapabilityMetadata', " + f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.CapabilityMetadata( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def operation_metadata_from_jsonable(jsonable: Jsonable) -> our_types.OperationMetadata: + """ + Parse an instance of :py:class:`.types.OperationMetadata` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.OperationMetadata` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "OperationMetadata": + raise DeserializationException( + f"Expected modelType to be 'OperationMetadata', " f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.OperationMetadata( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def submodel_element_collection_metadata_from_jsonable( + jsonable: Jsonable, +) -> our_types.SubmodelElementCollectionMetadata: + """ + Parse an instance of :py:class:`.types.SubmodelElementCollectionMetadata` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.SubmodelElementCollectionMetadata` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "SubmodelElementCollectionMetadata": + raise DeserializationException( + f"Expected modelType to be 'SubmodelElementCollectionMetadata', " + f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.SubmodelElementCollectionMetadata( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def basic_event_element_metadata_from_jsonable( + jsonable: Jsonable, +) -> our_types.BasicEventElementMetadata: + """ + Parse an instance of :py:class:`.types.BasicEventElementMetadata` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.BasicEventElementMetadata` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "BasicEventElementMetadata": + raise DeserializationException( + f"Expected modelType to be 'BasicEventElementMetadata', " + f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_direction: Optional[our_types.Direction] = None + the_state: Optional[our_types.StateOfEvent] = None + the_message_topic: Optional[str] = None + the_message_broker: Optional[our_types.Reference] = None + the_last_update: Optional[str] = None + the_min_interval: Optional[str] = None + the_max_interval: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "direction": + the_direction = direction_from_jsonable(jsonable_value) + elif key == "state": + the_state = state_of_event_from_jsonable(jsonable_value) + elif key == "messageTopic": + the_message_topic = _str_from_jsonable(jsonable_value) + elif key == "messageBroker": + the_message_broker = reference_from_jsonable(jsonable_value) + elif key == "lastUpdate": + the_last_update = _str_from_jsonable(jsonable_value) + elif key == "minInterval": + the_min_interval = _str_from_jsonable(jsonable_value) + elif key == "maxInterval": + the_max_interval = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_direction is None: + raise DeserializationException("The required property 'direction' is missing") + + if the_state is None: + raise DeserializationException("The required property 'state' is missing") + + return our_types.BasicEventElementMetadata( + the_direction, + the_state, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_message_topic, + the_message_broker, + the_last_update, + the_min_interval, + the_max_interval, + ) + + +def submodel_element_list_metadata_from_jsonable( + jsonable: Jsonable, +) -> our_types.SubmodelElementListMetadata: + """ + Parse an instance of :py:class:`.types.SubmodelElementListMetadata` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.SubmodelElementListMetadata` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "SubmodelElementListMetadata": + raise DeserializationException( + f"Expected modelType to be 'SubmodelElementListMetadata', " + f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_order_relevant: Optional[bool] = None + the_semantic_id_list_element: Optional[our_types.Reference] = None + the_type_value_list_element: Optional[our_types.AASSubmodelElements] = None + the_value_type_list_element: Optional[our_types.DataTypeDefXSD] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "orderRelevant": + the_order_relevant = _bool_from_jsonable(jsonable_value) + elif key == "semanticIdListElement": + the_semantic_id_list_element = reference_from_jsonable(jsonable_value) + elif key == "typeValueListElement": + the_type_value_list_element = aas_submodel_elements_from_jsonable( + jsonable_value + ) + elif key == "valueTypeListElement": + the_value_type_list_element = data_type_def_xsd_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_type_value_list_element is None: + raise DeserializationException( + "The required property 'typeValueListElement' is missing" + ) + + return our_types.SubmodelElementListMetadata( + the_type_value_list_element, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_order_relevant, + the_semantic_id_list_element, + the_value_type_list_element, + ) + + +def submodel_metadata_from_jsonable(jsonable: Jsonable) -> our_types.SubmodelMetadata: + """ + Parse an instance of :py:class:`.types.SubmodelMetadata` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.SubmodelMetadata` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "SubmodelMetadata": + raise DeserializationException( + f"Expected modelType to be 'SubmodelMetadata', " f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_administration: Optional[our_types.AdministrativeInformation] = None + the_id: Optional[str] = None + the_kind: Optional[our_types.ModellingKind] = None + the_semantic_id: Optional[our_types.Reference] = None + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = None + the_qualifiers: Optional[List[our_types.Qualifier]] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "administration": + the_administration = administrative_information_from_jsonable( + jsonable_value + ) + elif key == "id": + the_id = _str_from_jsonable(jsonable_value) + elif key == "kind": + the_kind = modelling_kind_from_jsonable(jsonable_value) + elif key == "semanticId": + the_semantic_id = reference_from_jsonable(jsonable_value) + elif key == "supplementalSemanticIds": + the_supplemental_semantic_ids = _list_of__reference_from_jsonable( + jsonable_value + ) + elif key == "qualifiers": + the_qualifiers = _list_of__qualifier_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_id is None: + raise DeserializationException("The required property 'id' is missing") + + return our_types.SubmodelMetadata( + the_id, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_administration, + the_kind, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def asset_administration_shell_metadata_from_jsonable( + jsonable: Jsonable, +) -> our_types.AssetAdministrationShellMetadata: + """ + Parse an instance of :py:class:`.types.AssetAdministrationShellMetadata` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.AssetAdministrationShellMetadata` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + model_type = mapping.get("modelType", None) + if model_type is not None and not isinstance(model_type, str): + # NOTE (mristin): + # A model type of a wrong type is reported at the property, as the type + # errors of all the other properties are. + exception = DeserializationException( + f"Expected the property modelType to be a str, " + f"but got: {type(model_type)}" + ) + exception.path._prepend(PropertySegment(mapping, "modelType")) + raise exception + + if model_type != "AssetAdministrationShellMetadata": + raise DeserializationException( + f"Expected modelType to be 'AssetAdministrationShellMetadata', " + f"but got: {model_type!r}" + ) + + the_extensions: Optional[List[our_types.Extension]] = None + the_category: Optional[str] = None + the_id_short: Optional[str] = None + the_display_name: Optional[List[our_types.LangStringNameType]] = None + the_description: Optional[List[our_types.LangStringTextType]] = None + the_administration: Optional[our_types.AdministrativeInformation] = None + the_id: Optional[str] = None + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = None + the_derived_from: Optional[our_types.Reference] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "modelType": + # The model type has already been checked above. + pass + elif key == "extensions": + the_extensions = _list_of__extension_from_jsonable(jsonable_value) + elif key == "category": + the_category = _str_from_jsonable(jsonable_value) + elif key == "idShort": + the_id_short = _str_from_jsonable(jsonable_value) + elif key == "displayName": + the_display_name = _list_of__lang_string_name_type_from_jsonable( + jsonable_value + ) + elif key == "description": + the_description = _list_of__lang_string_text_type_from_jsonable( + jsonable_value + ) + elif key == "administration": + the_administration = administrative_information_from_jsonable( + jsonable_value + ) + elif key == "id": + the_id = _str_from_jsonable(jsonable_value) + elif key == "embeddedDataSpecifications": + the_embedded_data_specifications = ( + _list_of__embedded_data_specification_from_jsonable(jsonable_value) + ) + elif key == "derivedFrom": + the_derived_from = reference_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_id is None: + raise DeserializationException("The required property 'id' is missing") + + return our_types.AssetAdministrationShellMetadata( + the_id, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_administration, + the_embedded_data_specifications, + the_derived_from, + ) + + +def reference_element_value_from_jsonable( + jsonable: Jsonable, +) -> our_types.ReferenceElementValue: + """ + Parse an instance of :py:class:`.types.ReferenceElementValue` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.ReferenceElementValue` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_type: Optional[our_types.ReferenceTypes] = None + the_keys: Optional[List[our_types.Key]] = None + the_referred_semantic_id: Optional[our_types.Reference] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "type": + the_type = reference_types_from_jsonable(jsonable_value) + elif key == "keys": + the_keys = _list_of__key_from_jsonable(jsonable_value) + elif key == "referredSemanticId": + the_referred_semantic_id = reference_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_type is None: + raise DeserializationException("The required property 'type' is missing") + + if the_keys is None: + raise DeserializationException("The required property 'keys' is missing") + + return our_types.ReferenceElementValue(the_type, the_keys, the_referred_semantic_id) + + +def blob_value_from_jsonable(jsonable: Jsonable) -> our_types.BlobValue: + """ + Parse an instance of :py:class:`.types.BlobValue` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.BlobValue` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_content_type: Optional[str] = None + the_value: Optional[bytes] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "contentType": + the_content_type = _str_from_jsonable(jsonable_value) + elif key == "value": + the_value = _bytes_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.BlobValue(the_content_type, the_value) + + +def file_value_from_jsonable(jsonable: Jsonable) -> our_types.FileValue: + """ + Parse an instance of :py:class:`.types.FileValue` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.FileValue` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_content_type: Optional[str] = None + the_value: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "contentType": + the_content_type = _str_from_jsonable(jsonable_value) + elif key == "value": + the_value = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.FileValue(the_content_type, the_value) + + +def range_value_from_jsonable(jsonable: Jsonable) -> our_types.RangeValue: + """ + Parse an instance of :py:class:`.types.RangeValue` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.RangeValue` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_min: Optional[float] = None + the_max: Optional[float] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "min": + the_min = _float_from_jsonable(jsonable_value) + elif key == "max": + the_max = _float_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_min is None: + raise DeserializationException("The required property 'min' is missing") + + if the_max is None: + raise DeserializationException("The required property 'max' is missing") + + return our_types.RangeValue(the_min, the_max) + + +def relationship_element_value_from_jsonable( + jsonable: Jsonable, +) -> our_types.RelationshipElementValue: + """ + Parse an instance of :py:class:`.types.RelationshipElementValue` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.RelationshipElementValue` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_first: Optional[our_types.Reference] = None + the_second: Optional[our_types.Reference] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "first": + the_first = reference_from_jsonable(jsonable_value) + elif key == "second": + the_second = reference_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.RelationshipElementValue(the_first, the_second) + + +def basic_event_element_value_from_jsonable( + jsonable: Jsonable, +) -> our_types.BasicEventElementValue: + """ + Parse an instance of :py:class:`.types.BasicEventElementValue` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.BasicEventElementValue` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_observed: Optional[our_types.Reference] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "observed": + the_observed = reference_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_observed is None: + raise DeserializationException("The required property 'observed' is missing") + + return our_types.BasicEventElementValue(the_observed) + + +def annotated_relationship_element_value_from_jsonable( + jsonable: Jsonable, +) -> our_types.AnnotatedRelationshipElementValue: + """ + Parse an instance of :py:class:`.types.AnnotatedRelationshipElementValue` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.AnnotatedRelationshipElementValue` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_first: Optional[our_types.Reference] = None + the_second: Optional[our_types.Reference] = None + the_annotations: Optional[our_types.JsonObject] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "first": + the_first = reference_from_jsonable(jsonable_value) + elif key == "second": + the_second = reference_from_jsonable(jsonable_value) + elif key == "annotations": + the_annotations = _json_object_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.AnnotatedRelationshipElementValue( + the_first, the_second, the_annotations + ) + + +def entity_value_from_jsonable(jsonable: Jsonable) -> our_types.EntityValue: + """ + Parse an instance of :py:class:`.types.EntityValue` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.EntityValue` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_entity_type: Optional[our_types.EntityType] = None + the_global_asset_id: Optional[str] = None + the_specific_asset_ids: Optional[List[our_types.JsonObject]] = None + the_statements: Optional[our_types.JsonObject] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "entityType": + the_entity_type = entity_type_from_jsonable(jsonable_value) + elif key == "globalAssetId": + the_global_asset_id = _str_from_jsonable(jsonable_value) + elif key == "specificAssetIds": + the_specific_asset_ids = _list_of__json_object_from_jsonable( + jsonable_value + ) + elif key == "statements": + the_statements = _json_object_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + return our_types.EntityValue( + the_entity_type, the_global_asset_id, the_specific_asset_ids, the_statements + ) + + +def get_asset_administration_shells_result_from_jsonable( + jsonable: Jsonable, +) -> our_types.GetAssetAdministrationShellsResult: + """ + Parse an instance of :py:class:`.types.GetAssetAdministrationShellsResult` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.GetAssetAdministrationShellsResult` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_paging_metadata: Optional[our_types.PagingMetadata] = None + the_result: Optional[List[our_types.AssetAdministrationShell]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "paging_metadata": + the_paging_metadata = paging_metadata_from_jsonable(jsonable_value) + elif key == "result": + the_result = _list_of__asset_administration_shell_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'paging_metadata' is missing" + ) + + return our_types.GetAssetAdministrationShellsResult(the_paging_metadata, the_result) + + +def get_asset_administration_shells_metadata_result_from_jsonable( + jsonable: Jsonable, +) -> our_types.GetAssetAdministrationShellsMetadataResult: + """ + Parse an instance of :py:class:`.types.GetAssetAdministrationShellsMetadataResult` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.GetAssetAdministrationShellsMetadataResult` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_paging_metadata: Optional[our_types.PagingMetadata] = None + the_result: Optional[List[our_types.AssetAdministrationShellMetadata]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "paging_metadata": + the_paging_metadata = paging_metadata_from_jsonable(jsonable_value) + elif key == "result": + the_result = ( + _list_of__asset_administration_shell_metadata_from_jsonable( + jsonable_value + ) + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'paging_metadata' is missing" + ) + + return our_types.GetAssetAdministrationShellsMetadataResult( + the_paging_metadata, the_result + ) + + +def get_all_asset_administration_shells_recent_changes_result_from_jsonable( + jsonable: Jsonable, +) -> our_types.GetAllAssetAdministrationShellsRecentChangesResult: + """ + Parse an instance of :py:class:`.types.GetAllAssetAdministrationShellsRecentChangesResult` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.GetAllAssetAdministrationShellsRecentChangesResult` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_paging_metadata: Optional[our_types.PagingMetadata] = None + the_result: Optional[List[our_types.AssetAdministrationShellRecentChange]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "paging_metadata": + the_paging_metadata = paging_metadata_from_jsonable(jsonable_value) + elif key == "result": + the_result = ( + _list_of__asset_administration_shell_recent_change_from_jsonable( + jsonable_value + ) + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'paging_metadata' is missing" + ) + + return our_types.GetAllAssetAdministrationShellsRecentChangesResult( + the_paging_metadata, the_result + ) + + +def get_asset_administration_shell_descriptors_result_from_jsonable( + jsonable: Jsonable, +) -> our_types.GetAssetAdministrationShellDescriptorsResult: + """ + Parse an instance of :py:class:`.types.GetAssetAdministrationShellDescriptorsResult` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.GetAssetAdministrationShellDescriptorsResult` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_paging_metadata: Optional[our_types.PagingMetadata] = None + the_result: Optional[List[our_types.AssetAdministrationShellDescriptor]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "paging_metadata": + the_paging_metadata = paging_metadata_from_jsonable(jsonable_value) + elif key == "result": + the_result = ( + _list_of__asset_administration_shell_descriptor_from_jsonable( + jsonable_value + ) + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'paging_metadata' is missing" + ) + + return our_types.GetAssetAdministrationShellDescriptorsResult( + the_paging_metadata, the_result + ) + + +def get_concept_descriptions_result_from_jsonable( + jsonable: Jsonable, +) -> our_types.GetConceptDescriptionsResult: + """ + Parse an instance of :py:class:`.types.GetConceptDescriptionsResult` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.GetConceptDescriptionsResult` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_paging_metadata: Optional[our_types.PagingMetadata] = None + the_result: Optional[List[our_types.ConceptDescription]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "paging_metadata": + the_paging_metadata = paging_metadata_from_jsonable(jsonable_value) + elif key == "result": + the_result = _list_of__concept_description_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'paging_metadata' is missing" + ) + + return our_types.GetConceptDescriptionsResult(the_paging_metadata, the_result) + + +def get_all_concept_descriptions_recent_changes_result_from_jsonable( + jsonable: Jsonable, +) -> our_types.GetAllConceptDescriptionsRecentChangesResult: + """ + Parse an instance of :py:class:`.types.GetAllConceptDescriptionsRecentChangesResult` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.GetAllConceptDescriptionsRecentChangesResult` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_paging_metadata: Optional[our_types.PagingMetadata] = None + the_result: Optional[List[our_types.ConceptDescriptionRecentChange]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "paging_metadata": + the_paging_metadata = paging_metadata_from_jsonable(jsonable_value) + elif key == "result": + the_result = _list_of__concept_description_recent_change_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'paging_metadata' is missing" + ) + + return our_types.GetAllConceptDescriptionsRecentChangesResult( + the_paging_metadata, the_result + ) + + +def get_package_descriptions_result_from_jsonable( + jsonable: Jsonable, +) -> our_types.GetPackageDescriptionsResult: + """ + Parse an instance of :py:class:`.types.GetPackageDescriptionsResult` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.GetPackageDescriptionsResult` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_paging_metadata: Optional[our_types.PagingMetadata] = None + the_result: Optional[List[our_types.PackageDescription]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "paging_metadata": + the_paging_metadata = paging_metadata_from_jsonable(jsonable_value) + elif key == "result": + the_result = _list_of__package_description_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'paging_metadata' is missing" + ) + + return our_types.GetPackageDescriptionsResult(the_paging_metadata, the_result) + + +def get_path_items_result_from_jsonable( + jsonable: Jsonable, +) -> our_types.GetPathItemsResult: + """ + Parse an instance of :py:class:`.types.GetPathItemsResult` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.GetPathItemsResult` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_paging_metadata: Optional[our_types.PagingMetadata] = None + the_result: Optional[List[str]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "paging_metadata": + the_paging_metadata = paging_metadata_from_jsonable(jsonable_value) + elif key == "result": + the_result = _list_of__str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'paging_metadata' is missing" + ) + + return our_types.GetPathItemsResult(the_paging_metadata, the_result) + + +def get_references_result_from_jsonable( + jsonable: Jsonable, +) -> our_types.GetReferencesResult: + """ + Parse an instance of :py:class:`.types.GetReferencesResult` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.GetReferencesResult` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_paging_metadata: Optional[our_types.PagingMetadata] = None + the_result: Optional[List[our_types.Reference]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "paging_metadata": + the_paging_metadata = paging_metadata_from_jsonable(jsonable_value) + elif key == "result": + the_result = _list_of__reference_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'paging_metadata' is missing" + ) + + return our_types.GetReferencesResult(the_paging_metadata, the_result) + + +def get_submodel_descriptors_result_from_jsonable( + jsonable: Jsonable, +) -> our_types.GetSubmodelDescriptorsResult: + """ + Parse an instance of :py:class:`.types.GetSubmodelDescriptorsResult` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.GetSubmodelDescriptorsResult` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_paging_metadata: Optional[our_types.PagingMetadata] = None + the_result: Optional[List[our_types.SubmodelDescriptor]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "paging_metadata": + the_paging_metadata = paging_metadata_from_jsonable(jsonable_value) + elif key == "result": + the_result = _list_of__submodel_descriptor_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'paging_metadata' is missing" + ) + + return our_types.GetSubmodelDescriptorsResult(the_paging_metadata, the_result) + + +def get_submodel_elements_metadata_result_from_jsonable( + jsonable: Jsonable, +) -> our_types.GetSubmodelElementsMetadataResult: + """ + Parse an instance of :py:class:`.types.GetSubmodelElementsMetadataResult` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.GetSubmodelElementsMetadataResult` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_paging_metadata: Optional[our_types.PagingMetadata] = None + the_result: Optional[List[our_types.SubmodelElementMetadata]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "paging_metadata": + the_paging_metadata = paging_metadata_from_jsonable(jsonable_value) + elif key == "result": + the_result = _list_of__submodel_element_metadata_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'paging_metadata' is missing" + ) + + return our_types.GetSubmodelElementsMetadataResult(the_paging_metadata, the_result) + + +def get_submodel_elements_result_from_jsonable( + jsonable: Jsonable, +) -> our_types.GetSubmodelElementsResult: + """ + Parse an instance of :py:class:`.types.GetSubmodelElementsResult` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.GetSubmodelElementsResult` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_paging_metadata: Optional[our_types.PagingMetadata] = None + the_result: Optional[List[our_types.SubmodelElement]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "paging_metadata": + the_paging_metadata = paging_metadata_from_jsonable(jsonable_value) + elif key == "result": + the_result = _list_of__submodel_element_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'paging_metadata' is missing" + ) + + return our_types.GetSubmodelElementsResult(the_paging_metadata, the_result) + + +def get_submodel_elements_value_result_from_jsonable( + jsonable: Jsonable, +) -> our_types.GetSubmodelElementsValueResult: + """ + Parse an instance of :py:class:`.types.GetSubmodelElementsValueResult` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.GetSubmodelElementsValueResult` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_paging_metadata: Optional[our_types.PagingMetadata] = None + the_result: Optional[our_types.JsonObject] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "paging_metadata": + the_paging_metadata = paging_metadata_from_jsonable(jsonable_value) + elif key == "result": + the_result = _json_object_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'paging_metadata' is missing" + ) + + return our_types.GetSubmodelElementsValueResult(the_paging_metadata, the_result) + + +def get_all_submodels_recent_changes_result_from_jsonable( + jsonable: Jsonable, +) -> our_types.GetAllSubmodelsRecentChangesResult: + """ + Parse an instance of :py:class:`.types.GetAllSubmodelsRecentChangesResult` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.GetAllSubmodelsRecentChangesResult` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_paging_metadata: Optional[our_types.PagingMetadata] = None + the_result: Optional[List[our_types.SubmodelRecentChange]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "paging_metadata": + the_paging_metadata = paging_metadata_from_jsonable(jsonable_value) + elif key == "result": + the_result = _list_of__submodel_recent_change_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'paging_metadata' is missing" + ) + + return our_types.GetAllSubmodelsRecentChangesResult(the_paging_metadata, the_result) + + +def get_submodels_metadata_result_from_jsonable( + jsonable: Jsonable, +) -> our_types.GetSubmodelsMetadataResult: + """ + Parse an instance of :py:class:`.types.GetSubmodelsMetadataResult` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.GetSubmodelsMetadataResult` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_paging_metadata: Optional[our_types.PagingMetadata] = None + the_result: Optional[List[our_types.SubmodelMetadata]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "paging_metadata": + the_paging_metadata = paging_metadata_from_jsonable(jsonable_value) + elif key == "result": + the_result = _list_of__submodel_metadata_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'paging_metadata' is missing" + ) + + return our_types.GetSubmodelsMetadataResult(the_paging_metadata, the_result) + + +def get_submodels_result_from_jsonable( + jsonable: Jsonable, +) -> our_types.GetSubmodelsResult: + """ + Parse an instance of :py:class:`.types.GetSubmodelsResult` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.GetSubmodelsResult` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_paging_metadata: Optional[our_types.PagingMetadata] = None + the_result: Optional[List[our_types.Submodel]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "paging_metadata": + the_paging_metadata = paging_metadata_from_jsonable(jsonable_value) + elif key == "result": + the_result = _list_of__submodel_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'paging_metadata' is missing" + ) + + return our_types.GetSubmodelsResult(the_paging_metadata, the_result) + + +def get_submodels_value_result_from_jsonable( + jsonable: Jsonable, +) -> our_types.GetSubmodelsValueResult: + """ + Parse an instance of :py:class:`.types.GetSubmodelsValueResult` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.GetSubmodelsValueResult` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_paging_metadata: Optional[our_types.PagingMetadata] = None + the_result: Optional[our_types.JsonObject] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "paging_metadata": + the_paging_metadata = paging_metadata_from_jsonable(jsonable_value) + elif key == "result": + the_result = _json_object_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'paging_metadata' is missing" + ) + + return our_types.GetSubmodelsValueResult(the_paging_metadata, the_result) + + +def global_attribute_kind_from_jsonable( + jsonable: Jsonable, +) -> our_types.GlobalAttributeKind: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.GlobalAttributeKind`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.global_attribute_kind_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " + f"a literal of GlobalAttributeKind: {jsonable}" + ) + + return literal + + +def date_time_global_attribute_kind_from_jsonable( + jsonable: Jsonable, +) -> our_types.DateTimeGlobalAttributeKind: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.DateTimeGlobalAttributeKind`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.date_time_global_attribute_kind_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " + f"a literal of DateTimeGlobalAttributeKind: {jsonable}" + ) + + return literal + + +def claim_attribute_from_jsonable(jsonable: Jsonable) -> our_types.ClaimAttribute: + """ + Parse an instance of :py:class:`.types.ClaimAttribute` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.ClaimAttribute` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_claim: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "CLAIM": + the_claim = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_claim is None: + raise DeserializationException("The required property 'CLAIM' is missing") + + return our_types.ClaimAttribute(the_claim) + + +def global_attribute_from_jsonable(jsonable: Jsonable) -> our_types.GlobalAttribute: + """ + Parse an instance of :py:class:`.types.GlobalAttribute` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.GlobalAttribute` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_kind: Optional[our_types.GlobalAttributeKind] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "GLOBAL": + the_kind = global_attribute_kind_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_kind is None: + raise DeserializationException("The required property 'GLOBAL' is missing") + + return our_types.GlobalAttribute(the_kind) + + +def reference_attribute_from_jsonable( + jsonable: Jsonable, +) -> our_types.ReferenceAttribute: + """ + Parse an instance of :py:class:`.types.ReferenceAttribute` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.ReferenceAttribute` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_reference: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "REFERENCE": + the_reference = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_reference is None: + raise DeserializationException("The required property 'REFERENCE' is missing") + + return our_types.ReferenceAttribute(the_reference) + + +def date_time_attribute_item_from_jsonable( + jsonable: Jsonable, +) -> our_types.DateTimeAttributeItem: + """ + Parse an instance of :py:class:`.types.DateTimeAttributeItem` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.DateTimeAttributeItem` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_kind: Optional[our_types.DateTimeGlobalAttributeKind] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "GLOBAL": + the_kind = date_time_global_attribute_kind_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_kind is None: + raise DeserializationException("The required property 'GLOBAL' is missing") + + return our_types.DateTimeAttributeItem(the_kind) + + +def field_operand_from_jsonable(jsonable: Jsonable) -> our_types.FieldOperand: + """ + Parse an instance of :py:class:`.types.FieldOperand` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.FieldOperand` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_field: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$field": + the_field = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_field is None: + raise DeserializationException("The required property '$field' is missing") + + return our_types.FieldOperand(the_field) + + +def string_literal_from_jsonable(jsonable: Jsonable) -> our_types.StringLiteral: + """ + Parse an instance of :py:class:`.types.StringLiteral` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.StringLiteral` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_str_val: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$strVal": + the_str_val = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_str_val is None: + raise DeserializationException("The required property '$strVal' is missing") + + return our_types.StringLiteral(the_str_val) + + +def attribute_operand_from_jsonable(jsonable: Jsonable) -> our_types.AttributeOperand: + """ + Parse an instance of :py:class:`.types.AttributeOperand` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.AttributeOperand` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_attribute: Optional[our_types.AttributeItem] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$attribute": + the_attribute = attribute_item_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_attribute is None: + raise DeserializationException("The required property '$attribute' is missing") + + return our_types.AttributeOperand(the_attribute) + + +def number_literal_from_jsonable(jsonable: Jsonable) -> our_types.NumberLiteral: + """ + Parse an instance of :py:class:`.types.NumberLiteral` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.NumberLiteral` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_num_val: Optional[float] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$numVal": + the_num_val = _float_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_num_val is None: + raise DeserializationException("The required property '$numVal' is missing") + + return our_types.NumberLiteral(the_num_val) + + +def hex_literal_from_jsonable(jsonable: Jsonable) -> our_types.HexLiteral: + """ + Parse an instance of :py:class:`.types.HexLiteral` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.HexLiteral` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_hex_val: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$hexVal": + the_hex_val = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_hex_val is None: + raise DeserializationException("The required property '$hexVal' is missing") + + return our_types.HexLiteral(the_hex_val) + + +def date_time_literal_from_jsonable(jsonable: Jsonable) -> our_types.DateTimeLiteral: + """ + Parse an instance of :py:class:`.types.DateTimeLiteral` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.DateTimeLiteral` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_date_time_val: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$dateTimeVal": + the_date_time_val = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_date_time_val is None: + raise DeserializationException( + "The required property '$dateTimeVal' is missing" + ) + + return our_types.DateTimeLiteral(the_date_time_val) + + +def time_literal_from_jsonable(jsonable: Jsonable) -> our_types.TimeLiteral: + """ + Parse an instance of :py:class:`.types.TimeLiteral` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.TimeLiteral` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_time_val: Optional[str] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$timeVal": + the_time_val = _str_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_time_val is None: + raise DeserializationException("The required property '$timeVal' is missing") + + return our_types.TimeLiteral(the_time_val) + + +def boolean_literal_from_jsonable(jsonable: Jsonable) -> our_types.BooleanLiteral: + """ + Parse an instance of :py:class:`.types.BooleanLiteral` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.BooleanLiteral` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_boolean: Optional[bool] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$boolean": + the_boolean = _bool_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_boolean is None: + raise DeserializationException("The required property '$boolean' is missing") + + return our_types.BooleanLiteral(the_boolean) + + +def string_cast_from_jsonable(jsonable: Jsonable) -> our_types.StringCast: + """ + Parse an instance of :py:class:`.types.StringCast` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.StringCast` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_str_cast: Optional[our_types.Value] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$strCast": + the_str_cast = value_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_str_cast is None: + raise DeserializationException("The required property '$strCast' is missing") + + return our_types.StringCast(the_str_cast) + + +def number_cast_from_jsonable(jsonable: Jsonable) -> our_types.NumberCast: + """ + Parse an instance of :py:class:`.types.NumberCast` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.NumberCast` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_num_cast: Optional[our_types.Value] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$numCast": + the_num_cast = value_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_num_cast is None: + raise DeserializationException("The required property '$numCast' is missing") + + return our_types.NumberCast(the_num_cast) + + +def hex_cast_from_jsonable(jsonable: Jsonable) -> our_types.HexCast: + """ + Parse an instance of :py:class:`.types.HexCast` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.HexCast` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_hex_cast: Optional[our_types.Value] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$hexCast": + the_hex_cast = value_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_hex_cast is None: + raise DeserializationException("The required property '$hexCast' is missing") + + return our_types.HexCast(the_hex_cast) + + +def boolean_cast_from_jsonable(jsonable: Jsonable) -> our_types.BooleanCast: + """ + Parse an instance of :py:class:`.types.BooleanCast` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.BooleanCast` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_bool_cast: Optional[our_types.Value] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$boolCast": + the_bool_cast = value_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_bool_cast is None: + raise DeserializationException("The required property '$boolCast' is missing") + + return our_types.BooleanCast(the_bool_cast) + + +def date_time_cast_from_jsonable(jsonable: Jsonable) -> our_types.DateTimeCast: + """ + Parse an instance of :py:class:`.types.DateTimeCast` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.DateTimeCast` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_date_time_cast: Optional[our_types.StringValue] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$dateTimeCast": + the_date_time_cast = string_value_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_date_time_cast is None: + raise DeserializationException( + "The required property '$dateTimeCast' is missing" + ) + + return our_types.DateTimeCast(the_date_time_cast) + + +def time_cast_from_jsonable(jsonable: Jsonable) -> our_types.TimeCast: + """ + Parse an instance of :py:class:`.types.TimeCast` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.TimeCast` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_time_cast: Optional[our_types.TimeCastOperand] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$timeCast": + the_time_cast = time_cast_operand_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_time_cast is None: + raise DeserializationException("The required property '$timeCast' is missing") + + return our_types.TimeCast(the_time_cast) + + +def day_of_week_from_jsonable(jsonable: Jsonable) -> our_types.DayOfWeek: + """ + Parse an instance of :py:class:`.types.DayOfWeek` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.DayOfWeek` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_day_of_week: Optional[our_types.DateTimeOperand] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$dayOfWeek": + the_day_of_week = date_time_operand_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_day_of_week is None: + raise DeserializationException("The required property '$dayOfWeek' is missing") + + return our_types.DayOfWeek(the_day_of_week) + + +def day_of_month_from_jsonable(jsonable: Jsonable) -> our_types.DayOfMonth: + """ + Parse an instance of :py:class:`.types.DayOfMonth` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.DayOfMonth` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_day_of_month: Optional[our_types.DateTimeOperand] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$dayOfMonth": + the_day_of_month = date_time_operand_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_day_of_month is None: + raise DeserializationException("The required property '$dayOfMonth' is missing") + + return our_types.DayOfMonth(the_day_of_month) + + +def month_from_jsonable(jsonable: Jsonable) -> our_types.Month: + """ + Parse an instance of :py:class:`.types.Month` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.Month` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_month: Optional[our_types.DateTimeOperand] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$month": + the_month = date_time_operand_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_month is None: + raise DeserializationException("The required property '$month' is missing") + + return our_types.Month(the_month) + + +def year_from_jsonable(jsonable: Jsonable) -> our_types.Year: + """ + Parse an instance of :py:class:`.types.Year` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.Year` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_year: Optional[our_types.DateTimeOperand] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$year": + the_year = date_time_operand_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_year is None: + raise DeserializationException("The required property '$year' is missing") + + return our_types.Year(the_year) + + +def date_time_attribute_operand_from_jsonable( + jsonable: Jsonable, +) -> our_types.DateTimeAttributeOperand: + """ + Parse an instance of :py:class:`.types.DateTimeAttributeOperand` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.DateTimeAttributeOperand` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_attribute: Optional[our_types.DateTimeAttributeItem] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$attribute": + the_attribute = date_time_attribute_item_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_attribute is None: + raise DeserializationException("The required property '$attribute' is missing") + + return our_types.DateTimeAttributeOperand(the_attribute) + + +def equal_comparison_from_jsonable(jsonable: Jsonable) -> our_types.EqualComparison: + """ + Parse an instance of :py:class:`.types.EqualComparison` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.EqualComparison` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_eq: Optional[Tuple[our_types.Value, our_types.Value]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$eq": + the_eq = _tuple2_of__value__value_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_eq is None: + raise DeserializationException("The required property '$eq' is missing") + + return our_types.EqualComparison(the_eq) + + +def not_equal_comparison_from_jsonable( + jsonable: Jsonable, +) -> our_types.NotEqualComparison: + """ + Parse an instance of :py:class:`.types.NotEqualComparison` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.NotEqualComparison` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_ne: Optional[Tuple[our_types.Value, our_types.Value]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$ne": + the_ne = _tuple2_of__value__value_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_ne is None: + raise DeserializationException("The required property '$ne' is missing") + + return our_types.NotEqualComparison(the_ne) + + +def greater_than_comparison_from_jsonable( + jsonable: Jsonable, +) -> our_types.GreaterThanComparison: + """ + Parse an instance of :py:class:`.types.GreaterThanComparison` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.GreaterThanComparison` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_gt: Optional[Tuple[our_types.Value, our_types.Value]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$gt": + the_gt = _tuple2_of__value__value_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_gt is None: + raise DeserializationException("The required property '$gt' is missing") + + return our_types.GreaterThanComparison(the_gt) + + +def greater_than_or_equal_comparison_from_jsonable( + jsonable: Jsonable, +) -> our_types.GreaterThanOrEqualComparison: + """ + Parse an instance of :py:class:`.types.GreaterThanOrEqualComparison` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.GreaterThanOrEqualComparison` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_ge: Optional[Tuple[our_types.Value, our_types.Value]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$ge": + the_ge = _tuple2_of__value__value_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_ge is None: + raise DeserializationException("The required property '$ge' is missing") + + return our_types.GreaterThanOrEqualComparison(the_ge) + + +def less_than_comparison_from_jsonable( + jsonable: Jsonable, +) -> our_types.LessThanComparison: + """ + Parse an instance of :py:class:`.types.LessThanComparison` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.LessThanComparison` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_lt: Optional[Tuple[our_types.Value, our_types.Value]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$lt": + the_lt = _tuple2_of__value__value_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_lt is None: + raise DeserializationException("The required property '$lt' is missing") + + return our_types.LessThanComparison(the_lt) + + +def less_than_or_equal_comparison_from_jsonable( + jsonable: Jsonable, +) -> our_types.LessThanOrEqualComparison: + """ + Parse an instance of :py:class:`.types.LessThanOrEqualComparison` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.LessThanOrEqualComparison` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_le: Optional[Tuple[our_types.Value, our_types.Value]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$le": + the_le = _tuple2_of__value__value_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_le is None: + raise DeserializationException("The required property '$le' is missing") + + return our_types.LessThanOrEqualComparison(the_le) + + +def contains_comparison_from_jsonable( + jsonable: Jsonable, +) -> our_types.ContainsComparison: + """ + Parse an instance of :py:class:`.types.ContainsComparison` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.ContainsComparison` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_contains: Optional[Tuple[our_types.StringValue, our_types.StringValue]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$contains": + the_contains = _tuple2_of__string_value__string_value_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_contains is None: + raise DeserializationException("The required property '$contains' is missing") + + return our_types.ContainsComparison(the_contains) + + +def starts_with_comparison_from_jsonable( + jsonable: Jsonable, +) -> our_types.StartsWithComparison: + """ + Parse an instance of :py:class:`.types.StartsWithComparison` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.StartsWithComparison` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_starts_with: Optional[Tuple[our_types.StringValue, our_types.StringValue]] = ( + None + ) + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$starts-with": + the_starts_with = _tuple2_of__string_value__string_value_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_starts_with is None: + raise DeserializationException( + "The required property '$starts-with' is missing" + ) + + return our_types.StartsWithComparison(the_starts_with) + + +def ends_with_comparison_from_jsonable( + jsonable: Jsonable, +) -> our_types.EndsWithComparison: + """ + Parse an instance of :py:class:`.types.EndsWithComparison` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.EndsWithComparison` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_ends_with: Optional[Tuple[our_types.StringValue, our_types.StringValue]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$ends-with": + the_ends_with = _tuple2_of__string_value__string_value_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_ends_with is None: + raise DeserializationException("The required property '$ends-with' is missing") + + return our_types.EndsWithComparison(the_ends_with) + + +def regex_comparison_from_jsonable(jsonable: Jsonable) -> our_types.RegexComparison: + """ + Parse an instance of :py:class:`.types.RegexComparison` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.RegexComparison` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_regex: Optional[Tuple[our_types.StringValue, our_types.StringValue]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$regex": + the_regex = _tuple2_of__string_value__string_value_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_regex is None: + raise DeserializationException("The required property '$regex' is missing") + + return our_types.RegexComparison(the_regex) + + +def match_clause_from_jsonable(jsonable: Jsonable) -> our_types.MatchClause: + """ + Parse an instance of :py:class:`.types.MatchClause` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.MatchClause` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_match_operands: Optional[List[our_types.MatchExpression]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$match": + the_match_operands = _list_of__match_expression_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_match_operands is None: + raise DeserializationException("The required property '$match' is missing") + + return our_types.MatchClause(the_match_operands) + + +def and_expression_from_jsonable(jsonable: Jsonable) -> our_types.AndExpression: + """ + Parse an instance of :py:class:`.types.AndExpression` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.AndExpression` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_and_operands: Optional[List[our_types.LogicalExpression]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$and": + the_and_operands = _list_of__logical_expression_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_and_operands is None: + raise DeserializationException("The required property '$and' is missing") + + return our_types.AndExpression(the_and_operands) + + +def or_expression_from_jsonable(jsonable: Jsonable) -> our_types.OrExpression: + """ + Parse an instance of :py:class:`.types.OrExpression` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.OrExpression` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_or_operands: Optional[List[our_types.LogicalExpression]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$or": + the_or_operands = _list_of__logical_expression_from_jsonable( + jsonable_value + ) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_or_operands is None: + raise DeserializationException("The required property '$or' is missing") + + return our_types.OrExpression(the_or_operands) + + +def not_expression_from_jsonable(jsonable: Jsonable) -> our_types.NotExpression: + """ + Parse an instance of :py:class:`.types.NotExpression` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.NotExpression` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_not_operand: Optional[our_types.LogicalExpression] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$not": + the_not_operand = logical_expression_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_not_operand is None: + raise DeserializationException("The required property '$not' is missing") + + return our_types.NotExpression(the_not_operand) + + +def query_select_from_jsonable(jsonable: Jsonable) -> our_types.QuerySelect: + """ + Convert the JSON-able structure :paramref:`jsonable` to a literal of + :py:class:`.types.QuerySelect`. + + :param jsonable: JSON-able structure to be parsed + :return: parsed literal + :raise: :py:class:`.DeserializationException` if unexpected :paramref:`jsonable` + """ + if not isinstance(jsonable, str): + raise DeserializationException("Expected a str, but got: {type(jsonable)}") + + literal = our_stringification.query_select_from_str(jsonable) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " + f"a literal of QuerySelect: {jsonable}" + ) + + return literal + + +def query_filter_from_jsonable(jsonable: Jsonable) -> our_types.QueryFilter: + """ + Parse an instance of :py:class:`.types.QueryFilter` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.QueryFilter` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_fragment: Optional[str] = None + the_condition: Optional[our_types.LogicalExpression] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$fragment": + the_fragment = _str_from_jsonable(jsonable_value) + elif key == "$condition": + the_condition = logical_expression_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_fragment is None: + raise DeserializationException("The required property '$fragment' is missing") + + if the_condition is None: + raise DeserializationException("The required property '$condition' is missing") + + return our_types.QueryFilter(the_fragment, the_condition) + + +def query_from_jsonable(jsonable: Jsonable) -> our_types.Query: + """ + Parse an instance of :py:class:`.types.Query` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Parsed instance of :py:class:`.types.Query` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + the_select: Optional[our_types.QuerySelect] = None + the_condition: Optional[our_types.LogicalExpression] = None + the_filters: Optional[List[our_types.QueryFilter]] = None + + unexpected_key: Optional[str] = None + + try: + for key, jsonable_value in mapping.items(): + if key == "$select": + the_select = query_select_from_jsonable(jsonable_value) + elif key == "$condition": + the_condition = logical_expression_from_jsonable(jsonable_value) + elif key == "$filters": + the_filters = _list_of__query_filter_from_jsonable(jsonable_value) + else: + unexpected_key = key + break + except DeserializationException as exception: + exception.path._prepend(PropertySegment(mapping, key)) + raise + + if unexpected_key is not None: + raise DeserializationException(f"Unexpected property: {unexpected_key}") + + if the_condition is None: + raise DeserializationException("The required property '$condition' is missing") + + return our_types.Query(the_condition, the_select, the_filters) + + +def attribute_item_from_jsonable(jsonable: Jsonable) -> our_types.AttributeItem: + """ + Parse an instance of :py:class:`.types.AttributeItem` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance corresponding to :py:class:`.types.AttributeItem` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + if "CLAIM" in mapping: + return claim_attribute_from_jsonable(mapping) + + if "GLOBAL" in mapping: + return global_attribute_from_jsonable(mapping) + + if "REFERENCE" in mapping: + return reference_attribute_from_jsonable(mapping) + + raise DeserializationException( + "Could not determine the concrete type of AttributeItem " + "for the given JSON object" + ) + + +def string_value_from_jsonable(jsonable: Jsonable) -> our_types.StringValue: + """ + Parse an instance of :py:class:`.types.StringValue` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance corresponding to :py:class:`.types.StringValue` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + if "$field" in mapping: + return field_operand_from_jsonable(mapping) + + if "$strVal" in mapping: + return string_literal_from_jsonable(mapping) + + if "$strCast" in mapping: + return string_cast_from_jsonable(mapping) + + if "$attribute" in mapping: + return attribute_operand_from_jsonable(mapping) + + raise DeserializationException( + "Could not determine the concrete type of StringValue " + "for the given JSON object" + ) + + +def date_time_operand_from_jsonable(jsonable: Jsonable) -> our_types.DateTimeOperand: + """ + Parse an instance of :py:class:`.types.DateTimeOperand` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance corresponding to :py:class:`.types.DateTimeOperand` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + if "$dateTimeVal" in mapping: + return date_time_literal_from_jsonable(mapping) + + if "$dateTimeCast" in mapping: + return date_time_cast_from_jsonable(mapping) + + if "$attribute" in mapping: + return date_time_attribute_operand_from_jsonable(mapping) + + raise DeserializationException( + "Could not determine the concrete type of DateTimeOperand " + "for the given JSON object" + ) + + +def time_cast_operand_from_jsonable(jsonable: Jsonable) -> our_types.TimeCastOperand: + """ + Parse an instance of :py:class:`.types.TimeCastOperand` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance corresponding to :py:class:`.types.TimeCastOperand` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + if "$field" in mapping: + return field_operand_from_jsonable(mapping) + + if "$strVal" in mapping: + return string_literal_from_jsonable(mapping) + + if "$strCast" in mapping: + return string_cast_from_jsonable(mapping) + + if "$attribute" in mapping: + return attribute_operand_from_jsonable(mapping) + + if "$dateTimeVal" in mapping: + return date_time_literal_from_jsonable(mapping) + + if "$dateTimeCast" in mapping: + return date_time_cast_from_jsonable(mapping) + + raise DeserializationException( + "Could not determine the concrete type of TimeCastOperand " + "for the given JSON object" + ) + + +def numerical_operand_from_jsonable(jsonable: Jsonable) -> our_types.NumericalOperand: + """ + Parse an instance of :py:class:`.types.NumericalOperand` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance corresponding to :py:class:`.types.NumericalOperand` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + if "$numVal" in mapping: + return number_literal_from_jsonable(mapping) + + if "$numCast" in mapping: + return number_cast_from_jsonable(mapping) + + if "$dayOfWeek" in mapping: + return day_of_week_from_jsonable(mapping) + + if "$dayOfMonth" in mapping: + return day_of_month_from_jsonable(mapping) + + if "$month" in mapping: + return month_from_jsonable(mapping) + + if "$year" in mapping: + return year_from_jsonable(mapping) + + raise DeserializationException( + "Could not determine the concrete type of NumericalOperand " + "for the given JSON object" + ) + + +def hex_operand_from_jsonable(jsonable: Jsonable) -> our_types.HexOperand: + """ + Parse an instance of :py:class:`.types.HexOperand` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance corresponding to :py:class:`.types.HexOperand` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + if "$hexVal" in mapping: + return hex_literal_from_jsonable(mapping) + + if "$hexCast" in mapping: + return hex_cast_from_jsonable(mapping) + + raise DeserializationException( + "Could not determine the concrete type of HexOperand " + "for the given JSON object" + ) + + +def bool_operand_from_jsonable(jsonable: Jsonable) -> our_types.BoolOperand: + """ + Parse an instance of :py:class:`.types.BoolOperand` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance corresponding to :py:class:`.types.BoolOperand` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + if "$boolean" in mapping: + return boolean_literal_from_jsonable(mapping) + + if "$boolCast" in mapping: + return boolean_cast_from_jsonable(mapping) + + raise DeserializationException( + "Could not determine the concrete type of BoolOperand " + "for the given JSON object" + ) + + +def time_operand_from_jsonable(jsonable: Jsonable) -> our_types.TimeOperand: + """ + Parse an instance of :py:class:`.types.TimeOperand` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance corresponding to :py:class:`.types.TimeOperand` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + if "$timeVal" in mapping: + return time_literal_from_jsonable(mapping) + + if "$timeCast" in mapping: + return time_cast_from_jsonable(mapping) + + raise DeserializationException( + "Could not determine the concrete type of TimeOperand " + "for the given JSON object" + ) + + +def value_from_jsonable(jsonable: Jsonable) -> our_types.Value: + """ + Parse an instance of :py:class:`.types.Value` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance corresponding to :py:class:`.types.Value` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + if "$field" in mapping: + return field_operand_from_jsonable(mapping) + + if "$strVal" in mapping: + return string_literal_from_jsonable(mapping) + + if "$strCast" in mapping: + return string_cast_from_jsonable(mapping) + + if "$attribute" in mapping: + return attribute_operand_from_jsonable(mapping) + + if "$numVal" in mapping: + return number_literal_from_jsonable(mapping) + + if "$numCast" in mapping: + return number_cast_from_jsonable(mapping) + + if "$dayOfWeek" in mapping: + return day_of_week_from_jsonable(mapping) + + if "$dayOfMonth" in mapping: + return day_of_month_from_jsonable(mapping) + + if "$month" in mapping: + return month_from_jsonable(mapping) + + if "$year" in mapping: + return year_from_jsonable(mapping) + + if "$hexVal" in mapping: + return hex_literal_from_jsonable(mapping) + + if "$hexCast" in mapping: + return hex_cast_from_jsonable(mapping) + + if "$boolean" in mapping: + return boolean_literal_from_jsonable(mapping) + + if "$boolCast" in mapping: + return boolean_cast_from_jsonable(mapping) + + if "$dateTimeVal" in mapping: + return date_time_literal_from_jsonable(mapping) + + if "$dateTimeCast" in mapping: + return date_time_cast_from_jsonable(mapping) + + if "$timeVal" in mapping: + return time_literal_from_jsonable(mapping) + + if "$timeCast" in mapping: + return time_cast_from_jsonable(mapping) + + raise DeserializationException( + "Could not determine the concrete type of Value " "for the given JSON object" + ) + + +def match_expression_from_jsonable(jsonable: Jsonable) -> our_types.MatchExpression: + """ + Parse an instance of :py:class:`.types.MatchExpression` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance corresponding to :py:class:`.types.MatchExpression` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + if "$match" in mapping: + return match_clause_from_jsonable(mapping) + + if "$eq" in mapping: + return equal_comparison_from_jsonable(mapping) + + if "$ne" in mapping: + return not_equal_comparison_from_jsonable(mapping) + + if "$gt" in mapping: + return greater_than_comparison_from_jsonable(mapping) + + if "$ge" in mapping: + return greater_than_or_equal_comparison_from_jsonable(mapping) + + if "$lt" in mapping: + return less_than_comparison_from_jsonable(mapping) + + if "$le" in mapping: + return less_than_or_equal_comparison_from_jsonable(mapping) + + if "$contains" in mapping: + return contains_comparison_from_jsonable(mapping) + + if "$starts-with" in mapping: + return starts_with_comparison_from_jsonable(mapping) + + if "$ends-with" in mapping: + return ends_with_comparison_from_jsonable(mapping) + + if "$regex" in mapping: + return regex_comparison_from_jsonable(mapping) + + raise DeserializationException( + "Could not determine the concrete type of MatchExpression " + "for the given JSON object" + ) + + +def logical_expression_from_jsonable(jsonable: Jsonable) -> our_types.LogicalExpression: + """ + Parse an instance of :py:class:`.types.LogicalExpression` from the JSON-able + structure :paramref:`jsonable`. + + :param jsonable: structure to be parsed + :return: Concrete instance corresponding to :py:class:`.types.LogicalExpression` + :raise: :py:class:`DeserializationException` if unexpected :paramref:`jsonable` + """ + mapping = _as_mapping(jsonable) + + if "$and" in mapping: + return and_expression_from_jsonable(mapping) + + if "$or" in mapping: + return or_expression_from_jsonable(mapping) + + if "$not" in mapping: + return not_expression_from_jsonable(mapping) + + if "$boolean" in mapping: + return boolean_literal_from_jsonable(mapping) + + if "$match" in mapping: + return match_clause_from_jsonable(mapping) + + if "$eq" in mapping: + return equal_comparison_from_jsonable(mapping) + + if "$ne" in mapping: + return not_equal_comparison_from_jsonable(mapping) + + if "$gt" in mapping: + return greater_than_comparison_from_jsonable(mapping) + + if "$ge" in mapping: + return greater_than_or_equal_comparison_from_jsonable(mapping) + + if "$lt" in mapping: + return less_than_comparison_from_jsonable(mapping) + + if "$le" in mapping: + return less_than_or_equal_comparison_from_jsonable(mapping) + + if "$contains" in mapping: + return contains_comparison_from_jsonable(mapping) + + if "$starts-with" in mapping: + return starts_with_comparison_from_jsonable(mapping) + + if "$ends-with" in mapping: + return ends_with_comparison_from_jsonable(mapping) + + if "$regex" in mapping: + return regex_comparison_from_jsonable(mapping) + + raise DeserializationException( + "Could not determine the concrete type of LogicalExpression " + "for the given JSON object" + ) + + +#: De-serialize a concrete instance of +#: :py:class:`.types.HasSemantics`, by its model type +_HAS_SEMANTICS_FROM_JSONABLE_DISPATCH: Mapping[str, _Parser[our_types.HasSemantics]] = { + "RelationshipElement": relationship_element_from_jsonable, + "AnnotatedRelationshipElement": annotated_relationship_element_from_jsonable, + "AnnotatedRelationshipElementMetadata": annotated_relationship_element_metadata_from_jsonable, + "BasicEventElement": basic_event_element_from_jsonable, + "BasicEventElementMetadata": basic_event_element_metadata_from_jsonable, + "Blob": blob_from_jsonable, + "BlobMetadata": blob_metadata_from_jsonable, + "Capability": capability_from_jsonable, + "CapabilityMetadata": capability_metadata_from_jsonable, + "Entity": entity_from_jsonable, + "EntityMetadata": entity_metadata_from_jsonable, + "Extension": extension_from_jsonable, + "File": file_from_jsonable, + "FileMetadata": file_metadata_from_jsonable, + "MultiLanguageProperty": multi_language_property_from_jsonable, + "MultiLanguagePropertyMetadata": multi_language_property_metadata_from_jsonable, + "Operation": operation_from_jsonable, + "OperationMetadata": operation_metadata_from_jsonable, + "Property": property_from_jsonable, + "PropertyMetadata": property_metadata_from_jsonable, + "Qualifier": qualifier_from_jsonable, + "Range": range_from_jsonable, + "RangeMetadata": range_metadata_from_jsonable, + "ReferenceElement": reference_element_from_jsonable, + "ReferenceElementMetadata": reference_element_metadata_from_jsonable, + "RelationshipElementMetadata": relationship_element_metadata_from_jsonable, + "SpecificAssetId": specific_asset_id_from_jsonable, + "Submodel": submodel_from_jsonable, + "SubmodelElementCollection": submodel_element_collection_from_jsonable, + "SubmodelElementCollectionMetadata": submodel_element_collection_metadata_from_jsonable, + "SubmodelElementList": submodel_element_list_from_jsonable, + "SubmodelElementListMetadata": submodel_element_list_metadata_from_jsonable, + "SubmodelMetadata": submodel_metadata_from_jsonable, +} + + +#: De-serialize a concrete instance of +#: :py:class:`.types.HasExtensions`, by its model type +_HAS_EXTENSIONS_FROM_JSONABLE_DISPATCH: Mapping[ + str, _Parser[our_types.HasExtensions] +] = { + "RelationshipElement": relationship_element_from_jsonable, + "AnnotatedRelationshipElement": annotated_relationship_element_from_jsonable, + "AnnotatedRelationshipElementMetadata": annotated_relationship_element_metadata_from_jsonable, + "AssetAdministrationShell": asset_administration_shell_from_jsonable, + "AssetAdministrationShellMetadata": asset_administration_shell_metadata_from_jsonable, + "BasicEventElement": basic_event_element_from_jsonable, + "BasicEventElementMetadata": basic_event_element_metadata_from_jsonable, + "Blob": blob_from_jsonable, + "BlobMetadata": blob_metadata_from_jsonable, + "Capability": capability_from_jsonable, + "CapabilityMetadata": capability_metadata_from_jsonable, + "ConceptDescription": concept_description_from_jsonable, + "Entity": entity_from_jsonable, + "EntityMetadata": entity_metadata_from_jsonable, + "File": file_from_jsonable, + "FileMetadata": file_metadata_from_jsonable, + "MultiLanguageProperty": multi_language_property_from_jsonable, + "MultiLanguagePropertyMetadata": multi_language_property_metadata_from_jsonable, + "Operation": operation_from_jsonable, + "OperationMetadata": operation_metadata_from_jsonable, + "Property": property_from_jsonable, + "PropertyMetadata": property_metadata_from_jsonable, + "Range": range_from_jsonable, + "RangeMetadata": range_metadata_from_jsonable, + "ReferenceElement": reference_element_from_jsonable, + "ReferenceElementMetadata": reference_element_metadata_from_jsonable, + "RelationshipElementMetadata": relationship_element_metadata_from_jsonable, + "Submodel": submodel_from_jsonable, + "SubmodelElementCollection": submodel_element_collection_from_jsonable, + "SubmodelElementCollectionMetadata": submodel_element_collection_metadata_from_jsonable, + "SubmodelElementList": submodel_element_list_from_jsonable, + "SubmodelElementListMetadata": submodel_element_list_metadata_from_jsonable, + "SubmodelMetadata": submodel_metadata_from_jsonable, +} + + +#: De-serialize a concrete instance of +#: :py:class:`.types.Referable`, by its model type +_REFERABLE_FROM_JSONABLE_DISPATCH: Mapping[str, _Parser[our_types.Referable]] = { + "RelationshipElement": relationship_element_from_jsonable, + "AnnotatedRelationshipElement": annotated_relationship_element_from_jsonable, + "AnnotatedRelationshipElementMetadata": annotated_relationship_element_metadata_from_jsonable, + "AssetAdministrationShell": asset_administration_shell_from_jsonable, + "AssetAdministrationShellMetadata": asset_administration_shell_metadata_from_jsonable, + "BasicEventElement": basic_event_element_from_jsonable, + "BasicEventElementMetadata": basic_event_element_metadata_from_jsonable, + "Blob": blob_from_jsonable, + "BlobMetadata": blob_metadata_from_jsonable, + "Capability": capability_from_jsonable, + "CapabilityMetadata": capability_metadata_from_jsonable, + "ConceptDescription": concept_description_from_jsonable, + "Entity": entity_from_jsonable, + "EntityMetadata": entity_metadata_from_jsonable, + "File": file_from_jsonable, + "FileMetadata": file_metadata_from_jsonable, + "MultiLanguageProperty": multi_language_property_from_jsonable, + "MultiLanguagePropertyMetadata": multi_language_property_metadata_from_jsonable, + "Operation": operation_from_jsonable, + "OperationMetadata": operation_metadata_from_jsonable, + "Property": property_from_jsonable, + "PropertyMetadata": property_metadata_from_jsonable, + "Range": range_from_jsonable, + "RangeMetadata": range_metadata_from_jsonable, + "ReferenceElement": reference_element_from_jsonable, + "ReferenceElementMetadata": reference_element_metadata_from_jsonable, + "RelationshipElementMetadata": relationship_element_metadata_from_jsonable, + "Submodel": submodel_from_jsonable, + "SubmodelElementCollection": submodel_element_collection_from_jsonable, + "SubmodelElementCollectionMetadata": submodel_element_collection_metadata_from_jsonable, + "SubmodelElementList": submodel_element_list_from_jsonable, + "SubmodelElementListMetadata": submodel_element_list_metadata_from_jsonable, + "SubmodelMetadata": submodel_metadata_from_jsonable, +} + + +#: De-serialize a concrete instance of +#: :py:class:`.types.Identifiable`, by its model type +_IDENTIFIABLE_FROM_JSONABLE_DISPATCH: Mapping[str, _Parser[our_types.Identifiable]] = { + "AssetAdministrationShell": asset_administration_shell_from_jsonable, + "AssetAdministrationShellMetadata": asset_administration_shell_metadata_from_jsonable, + "ConceptDescription": concept_description_from_jsonable, + "Submodel": submodel_from_jsonable, + "SubmodelMetadata": submodel_metadata_from_jsonable, +} + + +#: De-serialize a concrete instance of +#: :py:class:`.types.HasKind`, by its model type +_HAS_KIND_FROM_JSONABLE_DISPATCH: Mapping[str, _Parser[our_types.HasKind]] = { + "Submodel": submodel_from_jsonable, + "SubmodelMetadata": submodel_metadata_from_jsonable, +} + + +#: De-serialize a concrete instance of +#: :py:class:`.types.HasDataSpecification`, by its model type +_HAS_DATA_SPECIFICATION_FROM_JSONABLE_DISPATCH: Mapping[ + str, _Parser[our_types.HasDataSpecification] +] = { + "AdministrativeInformation": administrative_information_from_jsonable, + "RelationshipElement": relationship_element_from_jsonable, + "AnnotatedRelationshipElement": annotated_relationship_element_from_jsonable, + "AnnotatedRelationshipElementMetadata": annotated_relationship_element_metadata_from_jsonable, + "AssetAdministrationShell": asset_administration_shell_from_jsonable, + "AssetAdministrationShellMetadata": asset_administration_shell_metadata_from_jsonable, + "BasicEventElement": basic_event_element_from_jsonable, + "BasicEventElementMetadata": basic_event_element_metadata_from_jsonable, + "Blob": blob_from_jsonable, + "BlobMetadata": blob_metadata_from_jsonable, + "Capability": capability_from_jsonable, + "CapabilityMetadata": capability_metadata_from_jsonable, + "ConceptDescription": concept_description_from_jsonable, + "Entity": entity_from_jsonable, + "EntityMetadata": entity_metadata_from_jsonable, + "File": file_from_jsonable, + "FileMetadata": file_metadata_from_jsonable, + "MultiLanguageProperty": multi_language_property_from_jsonable, + "MultiLanguagePropertyMetadata": multi_language_property_metadata_from_jsonable, + "Operation": operation_from_jsonable, + "OperationMetadata": operation_metadata_from_jsonable, + "Property": property_from_jsonable, + "PropertyMetadata": property_metadata_from_jsonable, + "Range": range_from_jsonable, + "RangeMetadata": range_metadata_from_jsonable, + "ReferenceElement": reference_element_from_jsonable, + "ReferenceElementMetadata": reference_element_metadata_from_jsonable, + "RelationshipElementMetadata": relationship_element_metadata_from_jsonable, + "Submodel": submodel_from_jsonable, + "SubmodelElementCollection": submodel_element_collection_from_jsonable, + "SubmodelElementCollectionMetadata": submodel_element_collection_metadata_from_jsonable, + "SubmodelElementList": submodel_element_list_from_jsonable, + "SubmodelElementListMetadata": submodel_element_list_metadata_from_jsonable, + "SubmodelMetadata": submodel_metadata_from_jsonable, +} + + +#: De-serialize a concrete instance of +#: :py:class:`.types.Qualifiable`, by its model type +_QUALIFIABLE_FROM_JSONABLE_DISPATCH: Mapping[str, _Parser[our_types.Qualifiable]] = { + "RelationshipElement": relationship_element_from_jsonable, + "AnnotatedRelationshipElement": annotated_relationship_element_from_jsonable, + "AnnotatedRelationshipElementMetadata": annotated_relationship_element_metadata_from_jsonable, + "BasicEventElement": basic_event_element_from_jsonable, + "BasicEventElementMetadata": basic_event_element_metadata_from_jsonable, + "Blob": blob_from_jsonable, + "BlobMetadata": blob_metadata_from_jsonable, + "Capability": capability_from_jsonable, + "CapabilityMetadata": capability_metadata_from_jsonable, + "Entity": entity_from_jsonable, + "EntityMetadata": entity_metadata_from_jsonable, + "File": file_from_jsonable, + "FileMetadata": file_metadata_from_jsonable, + "MultiLanguageProperty": multi_language_property_from_jsonable, + "MultiLanguagePropertyMetadata": multi_language_property_metadata_from_jsonable, + "Operation": operation_from_jsonable, + "OperationMetadata": operation_metadata_from_jsonable, + "Property": property_from_jsonable, + "PropertyMetadata": property_metadata_from_jsonable, + "Range": range_from_jsonable, + "RangeMetadata": range_metadata_from_jsonable, + "ReferenceElement": reference_element_from_jsonable, + "ReferenceElementMetadata": reference_element_metadata_from_jsonable, + "RelationshipElementMetadata": relationship_element_metadata_from_jsonable, + "Submodel": submodel_from_jsonable, + "SubmodelElementCollection": submodel_element_collection_from_jsonable, + "SubmodelElementCollectionMetadata": submodel_element_collection_metadata_from_jsonable, + "SubmodelElementList": submodel_element_list_from_jsonable, + "SubmodelElementListMetadata": submodel_element_list_metadata_from_jsonable, + "SubmodelMetadata": submodel_metadata_from_jsonable, +} + + +#: De-serialize a concrete instance of +#: :py:class:`.types.SubmodelElement`, by its model type +_SUBMODEL_ELEMENT_FROM_JSONABLE_DISPATCH: Mapping[ + str, _Parser[our_types.SubmodelElement] +] = { + "RelationshipElement": relationship_element_from_jsonable, + "AnnotatedRelationshipElement": annotated_relationship_element_from_jsonable, + "BasicEventElement": basic_event_element_from_jsonable, + "Blob": blob_from_jsonable, + "Capability": capability_from_jsonable, + "Entity": entity_from_jsonable, + "File": file_from_jsonable, + "MultiLanguageProperty": multi_language_property_from_jsonable, + "Operation": operation_from_jsonable, + "Property": property_from_jsonable, + "Range": range_from_jsonable, + "ReferenceElement": reference_element_from_jsonable, + "SubmodelElementCollection": submodel_element_collection_from_jsonable, + "SubmodelElementList": submodel_element_list_from_jsonable, +} + + +#: De-serialize a concrete instance of +#: :py:class:`.types.RelationshipElement`, by its model type +_RELATIONSHIP_ELEMENT_FROM_JSONABLE_DISPATCH: Mapping[ + str, _Parser[our_types.RelationshipElement] +] = { + "RelationshipElement": _relationship_element_from_jsonable_without_dispatch, + "AnnotatedRelationshipElement": annotated_relationship_element_from_jsonable, +} + + +#: De-serialize a concrete instance of +#: :py:class:`.types.DataElement`, by its model type +_DATA_ELEMENT_FROM_JSONABLE_DISPATCH: Mapping[str, _Parser[our_types.DataElement]] = { + "Blob": blob_from_jsonable, + "File": file_from_jsonable, + "MultiLanguageProperty": multi_language_property_from_jsonable, + "Property": property_from_jsonable, + "Range": range_from_jsonable, + "ReferenceElement": reference_element_from_jsonable, +} + + +#: De-serialize a concrete instance of +#: :py:class:`.types.EventElement`, by its model type +_EVENT_ELEMENT_FROM_JSONABLE_DISPATCH: Mapping[str, _Parser[our_types.EventElement]] = { + "BasicEventElement": basic_event_element_from_jsonable, +} + + +#: De-serialize a concrete instance of +#: :py:class:`.types.AbstractLangString`, by its model type +_ABSTRACT_LANG_STRING_FROM_JSONABLE_DISPATCH: Mapping[ + str, _Parser[our_types.AbstractLangString] +] = { + "DefinitionTypeUom": definition_type_uom_from_jsonable, + "LangStringDefinitionTypeIec61360": lang_string_definition_type_iec_61360_from_jsonable, + "LangStringNameType": lang_string_name_type_from_jsonable, + "LangStringPreferredNameTypeIec61360": lang_string_preferred_name_type_iec_61360_from_jsonable, + "LangStringShortNameTypeIec61360": lang_string_short_name_type_iec_61360_from_jsonable, + "LangStringTextType": lang_string_text_type_from_jsonable, + "LangStringUom": lang_string_uom_from_jsonable, +} + + +#: De-serialize a concrete instance of +#: :py:class:`.types.DataSpecificationContent`, by its model type +_DATA_SPECIFICATION_CONTENT_FROM_JSONABLE_DISPATCH: Mapping[ + str, _Parser[our_types.DataSpecificationContent] +] = { + "DataSpecificationIec61360": data_specification_iec_61360_from_jsonable, + "DataSpecificationUom": data_specification_uom_from_jsonable, +} + + +#: De-serialize a concrete instance of +#: :py:class:`.types.Descriptor`, by its model type +_DESCRIPTOR_FROM_JSONABLE_DISPATCH: Mapping[str, _Parser[our_types.Descriptor]] = { + "AssetAdministrationShellDescriptor": asset_administration_shell_descriptor_from_jsonable, + "SubmodelDescriptor": submodel_descriptor_from_jsonable, +} + + +#: De-serialize a concrete instance of +#: :py:class:`.types.RecentChange`, by its model type +_RECENT_CHANGE_FROM_JSONABLE_DISPATCH: Mapping[str, _Parser[our_types.RecentChange]] = { + "AssetAdministrationShellRecentChange": asset_administration_shell_recent_change_from_jsonable, + "ConceptDescriptionRecentChange": concept_description_recent_change_from_jsonable, + "SubmodelRecentChange": submodel_recent_change_from_jsonable, +} + + +#: De-serialize a concrete instance of +#: :py:class:`.types.SubmodelElementAttributes`, by its model type +_SUBMODEL_ELEMENT_ATTRIBUTES_FROM_JSONABLE_DISPATCH: Mapping[ + str, _Parser[our_types.SubmodelElementAttributes] +] = { + "AnnotatedRelationshipElementMetadata": annotated_relationship_element_metadata_from_jsonable, + "BasicEventElementMetadata": basic_event_element_metadata_from_jsonable, + "BlobMetadata": blob_metadata_from_jsonable, + "CapabilityMetadata": capability_metadata_from_jsonable, + "EntityMetadata": entity_metadata_from_jsonable, + "FileMetadata": file_metadata_from_jsonable, + "MultiLanguagePropertyMetadata": multi_language_property_metadata_from_jsonable, + "OperationMetadata": operation_metadata_from_jsonable, + "PropertyMetadata": property_metadata_from_jsonable, + "RangeMetadata": range_metadata_from_jsonable, + "ReferenceElementMetadata": reference_element_metadata_from_jsonable, + "RelationshipElementMetadata": relationship_element_metadata_from_jsonable, + "SubmodelElementCollectionMetadata": submodel_element_collection_metadata_from_jsonable, + "SubmodelElementListMetadata": submodel_element_list_metadata_from_jsonable, +} + + +#: De-serialize a concrete instance of +#: :py:class:`.types.SubmodelElementMetadata`, by its model type +_SUBMODEL_ELEMENT_METADATA_FROM_JSONABLE_DISPATCH: Mapping[ + str, _Parser[our_types.SubmodelElementMetadata] +] = { + "AnnotatedRelationshipElementMetadata": annotated_relationship_element_metadata_from_jsonable, + "BasicEventElementMetadata": basic_event_element_metadata_from_jsonable, + "BlobMetadata": blob_metadata_from_jsonable, + "CapabilityMetadata": capability_metadata_from_jsonable, + "EntityMetadata": entity_metadata_from_jsonable, + "FileMetadata": file_metadata_from_jsonable, + "MultiLanguagePropertyMetadata": multi_language_property_metadata_from_jsonable, + "OperationMetadata": operation_metadata_from_jsonable, + "PropertyMetadata": property_metadata_from_jsonable, + "RangeMetadata": range_metadata_from_jsonable, + "ReferenceElementMetadata": reference_element_metadata_from_jsonable, + "RelationshipElementMetadata": relationship_element_metadata_from_jsonable, + "SubmodelElementCollectionMetadata": submodel_element_collection_metadata_from_jsonable, + "SubmodelElementListMetadata": submodel_element_list_metadata_from_jsonable, +} + + +# endregion + + +# region Serialization + + +class SerializationException(Exception): + """Signal that the JSON serialization could not be performed.""" + + #: Human-readable explanation of the exception's cause + cause: Final[str] + + def __init__(self, cause: str) -> None: + """Initialize with the given :paramref:`cause` and an empty path.""" + self.cause = cause + self._segments: List[str] = [] + + @property + def path(self) -> str: + """ + Render the path to the erroneous value as a Python access expression. + + The path points into the instance which you handed over for + the serialization, and *not* into a JSON document -- at the point of + the failure, there is no document yet. For example, ``.submodels[0].value`` + tells you that the serialization broke on ``that.submodels[0].value``. + """ + return "".join(self._segments) + + def _prepend_property(self, name: str) -> None: + """Insert the access to the property :paramref:`name` before the path.""" + self._segments.insert(0, f".{name}") + + def _prepend_index(self, index: int) -> None: + """Insert the access to the item at :paramref:`index` before the path.""" + self._segments.insert(0, f"[{index}]") + + def _prepend_key(self, key: str) -> None: + """ + Insert the access to the member :paramref:`key` before the path. + + Unlike a property of one of our classes, a member of an open JSON-able + object is known only at run time and can be any string at all, so it is + always rendered as a subscript. + """ + self._segments.insert(0, f"[{json.dumps(key, ensure_ascii=False)}]") + + def __str__(self) -> str: + if len(self._segments) == 0: + return self.cause + + return f"{self.path}: {self.cause}" + + +def _float_to_jsonable(that: float) -> float: + """ + Serialize :paramref:`that` floating-point number to a JSON-able value. + + JSON knows neither an infinity nor a not-a-number, so we refuse to serialize + them instead of leaving it to :py:mod:`json` to write them out as ``NaN`` + and ``Infinity``, which no conformant parser reads back. + + :param that: floating-point number to be serialized + :return: :paramref:`that`, unchanged + :raise: :py:class:`SerializationException` if not finite + """ + if not math.isfinite(that): + raise SerializationException( + f"JSON knows neither an infinity nor a not-a-number, so the value " + f"can not be serialized: {that}" + ) + return that + + +def _json_value_to_jsonable(value: our_types.JsonValue) -> MutableJsonable: + """ + Serialize :paramref:`value` as a JSON-able structure. + + A JSON-able value is almost JSON-able as it comes, but not quite: its type + rules out neither a ``None``, which the JSON ``null`` gives no + representation for, nor an infinity and a not-a-number, which JSON can not + represent at all, nor a non-string key in an object. Each is refused here, + at any depth. + + The result is a new structure, and never :paramref:`value` itself, so that + the serialized document does not alias the instance it came from. + + :param value: to be serialized + :return: :paramref:`value`, as a JSON-able structure + :raise: :py:class:`SerializationException` if :paramref:`value` is not JSON-able + """ + # NOTE (mristin): + # A ``bool`` is an ``int`` in Python, so it has to be checked first -- + # otherwise every boolean would come out as a number. + if isinstance(value, bool): + return value + + if isinstance(value, int): + # NOTE (mristin): + # An ``int`` is written out as it stands. JSON knows a single + # numeric type, though, so it has to be one which a ``float`` can + # hold exactly -- otherwise a reader, which reads every number as + # a ``float``, would get a different number back. + if our_common.try_to_convert_int_to_float(value) is None: + raise SerializationException( + f"Expected a JSON-able value, but got the integer {value}, " + f"which is not exactly representable as a JSON number" + ) + + return value + + if isinstance(value, float): + if not math.isfinite(value): + raise SerializationException( + f"Expected a JSON-able value, but got the number {value}, " + f"which is neither finite nor representable in JSON" + ) + + return value + + if isinstance(value, str): + return value + + if isinstance(value, (dict, collections.abc.Mapping)): + mapping: Dict[str, Any] = {} + for key, item_value in value.items(): + if not isinstance(key, str): + raise SerializationException( + f"Expected only string keys in a JSON-able object, but got " + f"a key of type: {type(key)}" + ) + + try: + mapping[key] = _json_value_to_jsonable(item_value) + except SerializationException as exception: + exception._prepend_key(key) + raise + + return mapping + + array_like = our_common.try_to_cast_to_array_like(value) + if array_like is not None: + items: List[Any] = [] + for i, item_value in enumerate(array_like): + try: + items.append(_json_value_to_jsonable(item_value)) + except SerializationException as exception: + exception._prepend_index(i) + raise + + return items + + raise SerializationException( + f"Expected a JSON-able value (a boolean, a number, a string, an array " + f"or an object), but got: {type(value)}" + ) + + +def _bytes_to_base64_str(value: bytes) -> str: + """ + Encode :paramref:`value` as a base64 string. + + :param value: to be encoded + :return: encoded :paramref:`value` in base64 + """ + # We need to decode as ascii as ``base64.b64encode`` returns bytes, + # not a string! + return base64.b64encode(value).decode("ascii") + + +def _list_of__asset_administration_shell_descriptor_to_jsonable( + that: List[our_types.AssetAdministrationShellDescriptor], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.AssetAdministrationShellDescriptor`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_asset_administration_shell_descriptor_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__asset_administration_shell_metadata_to_jsonable( + that: List[our_types.AssetAdministrationShellMetadata], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.AssetAdministrationShellMetadata`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_asset_administration_shell_metadata_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__asset_administration_shell_recent_change_to_jsonable( + that: List[our_types.AssetAdministrationShellRecentChange], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.AssetAdministrationShellRecentChange`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_asset_administration_shell_recent_change_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__asset_administration_shell_to_jsonable( + that: List[our_types.AssetAdministrationShell], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.AssetAdministrationShell`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_asset_administration_shell_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__concept_description_recent_change_to_jsonable( + that: List[our_types.ConceptDescriptionRecentChange], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.ConceptDescriptionRecentChange`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_concept_description_recent_change_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__concept_description_to_jsonable( + that: List[our_types.ConceptDescription], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.ConceptDescription`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_concept_description_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__data_element_to_jsonable( + that: List[our_types.DataElement], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.DataElement`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(item.transform(_SERIALIZER)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__definition_type_uom_to_jsonable( + that: List[our_types.DefinitionTypeUom], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.DefinitionTypeUom`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_definition_type_uom_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__embedded_data_specification_to_jsonable( + that: List[our_types.EmbeddedDataSpecification], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.EmbeddedDataSpecification`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_embedded_data_specification_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__endpoint_to_jsonable( + that: List[our_types.Endpoint], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.Endpoint`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_endpoint_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__extension_to_jsonable( + that: List[our_types.Extension], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.Extension`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_extension_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__json_object_to_jsonable( + that: List[our_types.JsonObject], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + a JSON-able object. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_json_value_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__key_to_jsonable(that: List[our_types.Key]) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.Key`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_key_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__lang_string_definition_type_iec_61360_to_jsonable( + that: List[our_types.LangStringDefinitionTypeIEC61360], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.LangStringDefinitionTypeIEC61360`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_lang_string_definition_type_iec_61360_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__lang_string_name_type_to_jsonable( + that: List[our_types.LangStringNameType], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.LangStringNameType`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_lang_string_name_type_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__lang_string_preferred_name_type_iec_61360_to_jsonable( + that: List[our_types.LangStringPreferredNameTypeIEC61360], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.LangStringPreferredNameTypeIEC61360`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append( + _lang_string_preferred_name_type_iec_61360_to_jsonable(item) + ) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__lang_string_short_name_type_iec_61360_to_jsonable( + that: List[our_types.LangStringShortNameTypeIEC61360], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.LangStringShortNameTypeIEC61360`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_lang_string_short_name_type_iec_61360_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__lang_string_text_type_to_jsonable( + that: List[our_types.LangStringTextType], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.LangStringTextType`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_lang_string_text_type_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__lang_string_uom_to_jsonable( + that: List[our_types.LangStringUom], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.LangStringUom`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_lang_string_uom_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__logical_expression_to_jsonable( + that: List[our_types.LogicalExpression], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.LogicalExpression`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(item.transform(_SERIALIZER)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__match_expression_to_jsonable( + that: List[our_types.MatchExpression], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.MatchExpression`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(item.transform(_SERIALIZER)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__message_to_jsonable( + that: List[our_types.Message], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.Message`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_message_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__operation_variable_to_jsonable( + that: List[our_types.OperationVariable], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.OperationVariable`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_operation_variable_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__package_description_to_jsonable( + that: List[our_types.PackageDescription], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.PackageDescription`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_package_description_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__qualifier_to_jsonable( + that: List[our_types.Qualifier], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.Qualifier`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_qualifier_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__query_filter_to_jsonable( + that: List[our_types.QueryFilter], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.QueryFilter`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_query_filter_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__referable_to_jsonable( + that: List[our_types.Referable], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.Referable`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(item.transform(_SERIALIZER)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__reference_to_jsonable( + that: List[our_types.Reference], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.Reference`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_reference_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__security_attribute_object_to_jsonable( + that: List[our_types.SecurityAttributeObject], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.SecurityAttributeObject`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_security_attribute_object_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__service_specification_profile_enum_to_jsonable( + that: List[our_types.ServiceSpecificationProfileEnum], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.ServiceSpecificationProfileEnum`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(item.value) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__specific_asset_id_to_jsonable( + that: List[our_types.SpecificAssetID], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.SpecificAssetID`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_specific_asset_id_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__submodel_descriptor_to_jsonable( + that: List[our_types.SubmodelDescriptor], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.SubmodelDescriptor`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_submodel_descriptor_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__submodel_element_metadata_to_jsonable( + that: List[our_types.SubmodelElementMetadata], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.SubmodelElementMetadata`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(item.transform(_SERIALIZER)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__submodel_element_to_jsonable( + that: List[our_types.SubmodelElement], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.SubmodelElement`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(item.transform(_SERIALIZER)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__submodel_metadata_to_jsonable( + that: List[our_types.SubmodelMetadata], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.SubmodelMetadata`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_submodel_metadata_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__submodel_recent_change_to_jsonable( + that: List[our_types.SubmodelRecentChange], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.SubmodelRecentChange`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_submodel_recent_change_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__submodel_to_jsonable( + that: List[our_types.Submodel], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.Submodel`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_submodel_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _list_of__value_reference_pair_to_jsonable( + that: List[our_types.ValueReferencePair], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a list of + :py:class:`.types.ValueReferencePair`. + + :param that: list to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + for i, item in enumerate(that): + try: + jsonable.append(_value_reference_pair_to_jsonable(item)) + except SerializationException as exception: + exception._prepend_index(i) + raise + return jsonable + + +def _tuple2_of__string_value__string_value_to_jsonable( + that: Tuple[our_types.StringValue, our_types.StringValue], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a tuple of 2 item(s). + + :param that: tuple to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + try: + jsonable.append(that[0].transform(_SERIALIZER)) + except SerializationException as exception: + exception._prepend_index(0) + raise + try: + jsonable.append(that[1].transform(_SERIALIZER)) + except SerializationException as exception: + exception._prepend_index(1) + raise + return jsonable + + +def _tuple2_of__value__value_to_jsonable( + that: Tuple[our_types.Value, our_types.Value], +) -> List[MutableJsonable]: + """ + Serialize :paramref:`that` as a tuple of 2 item(s). + + :param that: tuple to be serialized + :return: JSON-able representation of :paramref:`that` + """ + jsonable: List[MutableJsonable] = [] + try: + jsonable.append(that[0].transform(_SERIALIZER)) + except SerializationException as exception: + exception._prepend_index(0) + raise + try: + jsonable.append(that[1].transform(_SERIALIZER)) + except SerializationException as exception: + exception._prepend_index(1) + raise + return jsonable + + +def _extension_to_jsonable( + that: our_types.Extension, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + try: + jsonable["name"] = that.name + except SerializationException as exception: + exception._prepend_property("name") + raise + if that.value_type is not None: + try: + jsonable["valueType"] = that.value_type.value + except SerializationException as exception: + exception._prepend_property("value_type") + raise + if that.value is not None: + try: + jsonable["value"] = that.value + except SerializationException as exception: + exception._prepend_property("value") + raise + if that.refers_to is not None: + try: + jsonable["refersTo"] = _list_of__reference_to_jsonable(that.refers_to) + except SerializationException as exception: + exception._prepend_property("refers_to") + raise + return jsonable + + +def _administrative_information_to_jsonable( + that: our_types.AdministrativeInformation, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + if that.version is not None: + try: + jsonable["version"] = that.version + except SerializationException as exception: + exception._prepend_property("version") + raise + if that.revision is not None: + try: + jsonable["revision"] = that.revision + except SerializationException as exception: + exception._prepend_property("revision") + raise + if that.creator is not None: + try: + jsonable["creator"] = _reference_to_jsonable(that.creator) + except SerializationException as exception: + exception._prepend_property("creator") + raise + if that.created_at is not None: + try: + jsonable["createdAt"] = that.created_at + except SerializationException as exception: + exception._prepend_property("created_at") + raise + if that.updated_at is not None: + try: + jsonable["updatedAt"] = that.updated_at + except SerializationException as exception: + exception._prepend_property("updated_at") + raise + if that.template_id is not None: + try: + jsonable["templateId"] = that.template_id + except SerializationException as exception: + exception._prepend_property("template_ID") + raise + return jsonable + + +def _qualifier_to_jsonable( + that: our_types.Qualifier, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.kind is not None: + try: + jsonable["kind"] = that.kind.value + except SerializationException as exception: + exception._prepend_property("kind") + raise + try: + jsonable["type"] = that.type + except SerializationException as exception: + exception._prepend_property("type") + raise + try: + jsonable["valueType"] = that.value_type.value + except SerializationException as exception: + exception._prepend_property("value_type") + raise + if that.value is not None: + try: + jsonable["value"] = that.value + except SerializationException as exception: + exception._prepend_property("value") + raise + if that.value_id is not None: + try: + jsonable["valueId"] = _reference_to_jsonable(that.value_id) + except SerializationException as exception: + exception._prepend_property("value_ID") + raise + return jsonable + + +def _asset_administration_shell_to_jsonable( + that: our_types.AssetAdministrationShell, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.administration is not None: + try: + jsonable["administration"] = _administrative_information_to_jsonable( + that.administration + ) + except SerializationException as exception: + exception._prepend_property("administration") + raise + try: + jsonable["id"] = that.id + except SerializationException as exception: + exception._prepend_property("ID") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + if that.derived_from is not None: + try: + jsonable["derivedFrom"] = _reference_to_jsonable(that.derived_from) + except SerializationException as exception: + exception._prepend_property("derived_from") + raise + try: + jsonable["assetInformation"] = _asset_information_to_jsonable( + that.asset_information + ) + except SerializationException as exception: + exception._prepend_property("asset_information") + raise + if that.submodels is not None: + try: + jsonable["submodels"] = _list_of__reference_to_jsonable(that.submodels) + except SerializationException as exception: + exception._prepend_property("submodels") + raise + jsonable["modelType"] = "AssetAdministrationShell" + return jsonable + + +def _asset_information_to_jsonable( + that: our_types.AssetInformation, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["assetKind"] = that.asset_kind.value + except SerializationException as exception: + exception._prepend_property("asset_kind") + raise + if that.global_asset_id is not None: + try: + jsonable["globalAssetId"] = that.global_asset_id + except SerializationException as exception: + exception._prepend_property("global_asset_ID") + raise + if that.specific_asset_ids is not None: + try: + jsonable["specificAssetIds"] = _list_of__specific_asset_id_to_jsonable( + that.specific_asset_ids + ) + except SerializationException as exception: + exception._prepend_property("specific_asset_IDs") + raise + if that.asset_type is not None: + try: + jsonable["assetType"] = that.asset_type + except SerializationException as exception: + exception._prepend_property("asset_type") + raise + if that.default_thumbnail is not None: + try: + jsonable["defaultThumbnail"] = _resource_to_jsonable(that.default_thumbnail) + except SerializationException as exception: + exception._prepend_property("default_thumbnail") + raise + return jsonable + + +def _resource_to_jsonable( + that: our_types.Resource, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["path"] = that.path + except SerializationException as exception: + exception._prepend_property("path") + raise + if that.content_type is not None: + try: + jsonable["contentType"] = that.content_type + except SerializationException as exception: + exception._prepend_property("content_type") + raise + return jsonable + + +def _specific_asset_id_to_jsonable( + that: our_types.SpecificAssetID, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + try: + jsonable["name"] = that.name + except SerializationException as exception: + exception._prepend_property("name") + raise + try: + jsonable["value"] = that.value + except SerializationException as exception: + exception._prepend_property("value") + raise + if that.external_subject_id is not None: + try: + jsonable["externalSubjectId"] = _reference_to_jsonable( + that.external_subject_id + ) + except SerializationException as exception: + exception._prepend_property("external_subject_ID") + raise + return jsonable + + +def _submodel_to_jsonable( + that: our_types.Submodel, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.administration is not None: + try: + jsonable["administration"] = _administrative_information_to_jsonable( + that.administration + ) + except SerializationException as exception: + exception._prepend_property("administration") + raise + try: + jsonable["id"] = that.id + except SerializationException as exception: + exception._prepend_property("ID") + raise + if that.kind is not None: + try: + jsonable["kind"] = that.kind.value + except SerializationException as exception: + exception._prepend_property("kind") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + if that.submodel_elements is not None: + try: + jsonable["submodelElements"] = _list_of__submodel_element_to_jsonable( + that.submodel_elements + ) + except SerializationException as exception: + exception._prepend_property("submodel_elements") + raise + jsonable["modelType"] = "Submodel" + return jsonable + + +def _relationship_element_to_jsonable( + that: our_types.RelationshipElement, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + if that.first is not None: + try: + jsonable["first"] = _reference_to_jsonable(that.first) + except SerializationException as exception: + exception._prepend_property("first") + raise + if that.second is not None: + try: + jsonable["second"] = _reference_to_jsonable(that.second) + except SerializationException as exception: + exception._prepend_property("second") + raise + jsonable["modelType"] = "RelationshipElement" + return jsonable + + +def _submodel_element_list_to_jsonable( + that: our_types.SubmodelElementList, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + if that.order_relevant is not None: + try: + jsonable["orderRelevant"] = that.order_relevant + except SerializationException as exception: + exception._prepend_property("order_relevant") + raise + if that.semantic_id_list_element is not None: + try: + jsonable["semanticIdListElement"] = _reference_to_jsonable( + that.semantic_id_list_element + ) + except SerializationException as exception: + exception._prepend_property("semantic_ID_list_element") + raise + try: + jsonable["typeValueListElement"] = that.type_value_list_element.value + except SerializationException as exception: + exception._prepend_property("type_value_list_element") + raise + if that.value_type_list_element is not None: + try: + jsonable["valueTypeListElement"] = that.value_type_list_element.value + except SerializationException as exception: + exception._prepend_property("value_type_list_element") + raise + if that.value is not None: + try: + jsonable["value"] = _list_of__submodel_element_to_jsonable(that.value) + except SerializationException as exception: + exception._prepend_property("value") + raise + jsonable["modelType"] = "SubmodelElementList" + return jsonable + + +def _submodel_element_collection_to_jsonable( + that: our_types.SubmodelElementCollection, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + if that.value is not None: + try: + jsonable["value"] = _list_of__submodel_element_to_jsonable(that.value) + except SerializationException as exception: + exception._prepend_property("value") + raise + jsonable["modelType"] = "SubmodelElementCollection" + return jsonable + + +def _property_to_jsonable( + that: our_types.Property, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + try: + jsonable["valueType"] = that.value_type.value + except SerializationException as exception: + exception._prepend_property("value_type") + raise + if that.value is not None: + try: + jsonable["value"] = that.value + except SerializationException as exception: + exception._prepend_property("value") + raise + if that.value_id is not None: + try: + jsonable["valueId"] = _reference_to_jsonable(that.value_id) + except SerializationException as exception: + exception._prepend_property("value_ID") + raise + jsonable["modelType"] = "Property" + return jsonable + + +def _multi_language_property_to_jsonable( + that: our_types.MultiLanguageProperty, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + if that.value is not None: + try: + jsonable["value"] = _list_of__lang_string_text_type_to_jsonable(that.value) + except SerializationException as exception: + exception._prepend_property("value") + raise + if that.value_id is not None: + try: + jsonable["valueId"] = _reference_to_jsonable(that.value_id) + except SerializationException as exception: + exception._prepend_property("value_ID") + raise + jsonable["modelType"] = "MultiLanguageProperty" + return jsonable + + +def _range_to_jsonable(that: our_types.Range) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + try: + jsonable["valueType"] = that.value_type.value + except SerializationException as exception: + exception._prepend_property("value_type") + raise + if that.min is not None: + try: + jsonable["min"] = that.min + except SerializationException as exception: + exception._prepend_property("min") + raise + if that.max is not None: + try: + jsonable["max"] = that.max + except SerializationException as exception: + exception._prepend_property("max") + raise + jsonable["modelType"] = "Range" + return jsonable + + +def _reference_element_to_jsonable( + that: our_types.ReferenceElement, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + if that.value is not None: + try: + jsonable["value"] = _reference_to_jsonable(that.value) + except SerializationException as exception: + exception._prepend_property("value") + raise + jsonable["modelType"] = "ReferenceElement" + return jsonable + + +def _blob_to_jsonable(that: our_types.Blob) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + if that.value is not None: + try: + jsonable["value"] = _bytes_to_base64_str(that.value) + except SerializationException as exception: + exception._prepend_property("value") + raise + if that.content_type is not None: + try: + jsonable["contentType"] = that.content_type + except SerializationException as exception: + exception._prepend_property("content_type") + raise + jsonable["modelType"] = "Blob" + return jsonable + + +def _file_to_jsonable(that: our_types.File) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + if that.value is not None: + try: + jsonable["value"] = that.value + except SerializationException as exception: + exception._prepend_property("value") + raise + if that.content_type is not None: + try: + jsonable["contentType"] = that.content_type + except SerializationException as exception: + exception._prepend_property("content_type") + raise + jsonable["modelType"] = "File" + return jsonable + + +def _annotated_relationship_element_to_jsonable( + that: our_types.AnnotatedRelationshipElement, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + if that.first is not None: + try: + jsonable["first"] = _reference_to_jsonable(that.first) + except SerializationException as exception: + exception._prepend_property("first") + raise + if that.second is not None: + try: + jsonable["second"] = _reference_to_jsonable(that.second) + except SerializationException as exception: + exception._prepend_property("second") + raise + if that.annotations is not None: + try: + jsonable["annotations"] = _list_of__data_element_to_jsonable( + that.annotations + ) + except SerializationException as exception: + exception._prepend_property("annotations") + raise + jsonable["modelType"] = "AnnotatedRelationshipElement" + return jsonable + + +def _entity_to_jsonable(that: our_types.Entity) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + if that.statements is not None: + try: + jsonable["statements"] = _list_of__submodel_element_to_jsonable( + that.statements + ) + except SerializationException as exception: + exception._prepend_property("statements") + raise + if that.entity_type is not None: + try: + jsonable["entityType"] = that.entity_type.value + except SerializationException as exception: + exception._prepend_property("entity_type") + raise + if that.global_asset_id is not None: + try: + jsonable["globalAssetId"] = that.global_asset_id + except SerializationException as exception: + exception._prepend_property("global_asset_ID") + raise + if that.specific_asset_ids is not None: + try: + jsonable["specificAssetIds"] = _list_of__specific_asset_id_to_jsonable( + that.specific_asset_ids + ) + except SerializationException as exception: + exception._prepend_property("specific_asset_IDs") + raise + jsonable["modelType"] = "Entity" + return jsonable + + +def _event_payload_to_jsonable( + that: our_types.EventPayload, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["source"] = _reference_to_jsonable(that.source) + except SerializationException as exception: + exception._prepend_property("source") + raise + if that.source_semantic_id is not None: + try: + jsonable["sourceSemanticId"] = _reference_to_jsonable( + that.source_semantic_id + ) + except SerializationException as exception: + exception._prepend_property("source_semantic_ID") + raise + try: + jsonable["observableReference"] = _reference_to_jsonable( + that.observable_reference + ) + except SerializationException as exception: + exception._prepend_property("observable_reference") + raise + if that.observable_semantic_id is not None: + try: + jsonable["observableSemanticId"] = _reference_to_jsonable( + that.observable_semantic_id + ) + except SerializationException as exception: + exception._prepend_property("observable_semantic_ID") + raise + if that.topic is not None: + try: + jsonable["topic"] = that.topic + except SerializationException as exception: + exception._prepend_property("topic") + raise + if that.subject_id is not None: + try: + jsonable["subjectId"] = _reference_to_jsonable(that.subject_id) + except SerializationException as exception: + exception._prepend_property("subject_ID") + raise + try: + jsonable["timeStamp"] = that.time_stamp + except SerializationException as exception: + exception._prepend_property("time_stamp") + raise + if that.payload is not None: + try: + jsonable["payload"] = _bytes_to_base64_str(that.payload) + except SerializationException as exception: + exception._prepend_property("payload") + raise + return jsonable + + +def _basic_event_element_to_jsonable( + that: our_types.BasicEventElement, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + try: + jsonable["observed"] = _reference_to_jsonable(that.observed) + except SerializationException as exception: + exception._prepend_property("observed") + raise + try: + jsonable["direction"] = that.direction.value + except SerializationException as exception: + exception._prepend_property("direction") + raise + try: + jsonable["state"] = that.state.value + except SerializationException as exception: + exception._prepend_property("state") + raise + if that.message_topic is not None: + try: + jsonable["messageTopic"] = that.message_topic + except SerializationException as exception: + exception._prepend_property("message_topic") + raise + if that.message_broker is not None: + try: + jsonable["messageBroker"] = _reference_to_jsonable(that.message_broker) + except SerializationException as exception: + exception._prepend_property("message_broker") + raise + if that.last_update is not None: + try: + jsonable["lastUpdate"] = that.last_update + except SerializationException as exception: + exception._prepend_property("last_update") + raise + if that.min_interval is not None: + try: + jsonable["minInterval"] = that.min_interval + except SerializationException as exception: + exception._prepend_property("min_interval") + raise + if that.max_interval is not None: + try: + jsonable["maxInterval"] = that.max_interval + except SerializationException as exception: + exception._prepend_property("max_interval") + raise + jsonable["modelType"] = "BasicEventElement" + return jsonable + + +def _operation_to_jsonable( + that: our_types.Operation, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + if that.input_variables is not None: + try: + jsonable["inputVariables"] = _list_of__operation_variable_to_jsonable( + that.input_variables + ) + except SerializationException as exception: + exception._prepend_property("input_variables") + raise + if that.output_variables is not None: + try: + jsonable["outputVariables"] = _list_of__operation_variable_to_jsonable( + that.output_variables + ) + except SerializationException as exception: + exception._prepend_property("output_variables") + raise + if that.inoutput_variables is not None: + try: + jsonable["inoutputVariables"] = _list_of__operation_variable_to_jsonable( + that.inoutput_variables + ) + except SerializationException as exception: + exception._prepend_property("inoutput_variables") + raise + jsonable["modelType"] = "Operation" + return jsonable + + +def _operation_variable_to_jsonable( + that: our_types.OperationVariable, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["value"] = that.value.transform(_SERIALIZER) + except SerializationException as exception: + exception._prepend_property("value") + raise + return jsonable + + +def _capability_to_jsonable( + that: our_types.Capability, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + jsonable["modelType"] = "Capability" + return jsonable + + +def _concept_description_to_jsonable( + that: our_types.ConceptDescription, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.administration is not None: + try: + jsonable["administration"] = _administrative_information_to_jsonable( + that.administration + ) + except SerializationException as exception: + exception._prepend_property("administration") + raise + try: + jsonable["id"] = that.id + except SerializationException as exception: + exception._prepend_property("ID") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + if that.is_case_of is not None: + try: + jsonable["isCaseOf"] = _list_of__reference_to_jsonable(that.is_case_of) + except SerializationException as exception: + exception._prepend_property("is_case_of") + raise + jsonable["modelType"] = "ConceptDescription" + return jsonable + + +def _reference_to_jsonable( + that: our_types.Reference, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["type"] = that.type.value + except SerializationException as exception: + exception._prepend_property("type") + raise + if that.referred_semantic_id is not None: + try: + jsonable["referredSemanticId"] = _reference_to_jsonable( + that.referred_semantic_id + ) + except SerializationException as exception: + exception._prepend_property("referred_semantic_ID") + raise + try: + jsonable["keys"] = _list_of__key_to_jsonable(that.keys) + except SerializationException as exception: + exception._prepend_property("keys") + raise + return jsonable + + +def _key_to_jsonable(that: our_types.Key) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["type"] = that.type.value + except SerializationException as exception: + exception._prepend_property("type") + raise + try: + jsonable["value"] = that.value + except SerializationException as exception: + exception._prepend_property("value") + raise + return jsonable + + +def _lang_string_name_type_to_jsonable( + that: our_types.LangStringNameType, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["language"] = that.language + except SerializationException as exception: + exception._prepend_property("language") + raise + try: + jsonable["text"] = that.text + except SerializationException as exception: + exception._prepend_property("text") + raise + return jsonable + + +def _lang_string_text_type_to_jsonable( + that: our_types.LangStringTextType, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["language"] = that.language + except SerializationException as exception: + exception._prepend_property("language") + raise + try: + jsonable["text"] = that.text + except SerializationException as exception: + exception._prepend_property("text") + raise + return jsonable + + +def _environment_to_jsonable( + that: our_types.Environment, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.asset_administration_shells is not None: + try: + jsonable["assetAdministrationShells"] = ( + _list_of__asset_administration_shell_to_jsonable( + that.asset_administration_shells + ) + ) + except SerializationException as exception: + exception._prepend_property("asset_administration_shells") + raise + if that.submodels is not None: + try: + jsonable["submodels"] = _list_of__submodel_to_jsonable(that.submodels) + except SerializationException as exception: + exception._prepend_property("submodels") + raise + if that.concept_descriptions is not None: + try: + jsonable["conceptDescriptions"] = _list_of__concept_description_to_jsonable( + that.concept_descriptions + ) + except SerializationException as exception: + exception._prepend_property("concept_descriptions") + raise + return jsonable + + +def _embedded_data_specification_to_jsonable( + that: our_types.EmbeddedDataSpecification, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["dataSpecification"] = _reference_to_jsonable(that.data_specification) + except SerializationException as exception: + exception._prepend_property("data_specification") + raise + try: + jsonable["dataSpecificationContent"] = ( + that.data_specification_content.transform(_SERIALIZER) + ) + except SerializationException as exception: + exception._prepend_property("data_specification_content") + raise + return jsonable + + +def _level_type_to_jsonable( + that: our_types.LevelType, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["min"] = that.min + except SerializationException as exception: + exception._prepend_property("min") + raise + try: + jsonable["nom"] = that.nom + except SerializationException as exception: + exception._prepend_property("nom") + raise + try: + jsonable["typ"] = that.typ + except SerializationException as exception: + exception._prepend_property("typ") + raise + try: + jsonable["max"] = that.max + except SerializationException as exception: + exception._prepend_property("max") + raise + return jsonable + + +def _value_reference_pair_to_jsonable( + that: our_types.ValueReferencePair, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["value"] = that.value + except SerializationException as exception: + exception._prepend_property("value") + raise + if that.value_id is not None: + try: + jsonable["valueId"] = _reference_to_jsonable(that.value_id) + except SerializationException as exception: + exception._prepend_property("value_ID") + raise + return jsonable + + +def _value_list_to_jsonable( + that: our_types.ValueList, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["valueReferencePairs"] = _list_of__value_reference_pair_to_jsonable( + that.value_reference_pairs + ) + except SerializationException as exception: + exception._prepend_property("value_reference_pairs") + raise + return jsonable + + +def _lang_string_preferred_name_type_iec_61360_to_jsonable( + that: our_types.LangStringPreferredNameTypeIEC61360, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["language"] = that.language + except SerializationException as exception: + exception._prepend_property("language") + raise + try: + jsonable["text"] = that.text + except SerializationException as exception: + exception._prepend_property("text") + raise + return jsonable + + +def _lang_string_short_name_type_iec_61360_to_jsonable( + that: our_types.LangStringShortNameTypeIEC61360, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["language"] = that.language + except SerializationException as exception: + exception._prepend_property("language") + raise + try: + jsonable["text"] = that.text + except SerializationException as exception: + exception._prepend_property("text") + raise + return jsonable + + +def _lang_string_definition_type_iec_61360_to_jsonable( + that: our_types.LangStringDefinitionTypeIEC61360, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["language"] = that.language + except SerializationException as exception: + exception._prepend_property("language") + raise + try: + jsonable["text"] = that.text + except SerializationException as exception: + exception._prepend_property("text") + raise + return jsonable + + +def _lang_string_uom_to_jsonable( + that: our_types.LangStringUom, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["language"] = that.language + except SerializationException as exception: + exception._prepend_property("language") + raise + try: + jsonable["text"] = that.text + except SerializationException as exception: + exception._prepend_property("text") + raise + return jsonable + + +def _definition_type_uom_to_jsonable( + that: our_types.DefinitionTypeUom, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["language"] = that.language + except SerializationException as exception: + exception._prepend_property("language") + raise + try: + jsonable["text"] = that.text + except SerializationException as exception: + exception._prepend_property("text") + raise + return jsonable + + +def _data_specification_uom_to_jsonable( + that: our_types.DataSpecificationUom, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["preferredName"] = _list_of__lang_string_uom_to_jsonable( + that.preferred_name + ) + except SerializationException as exception: + exception._prepend_property("preferred_name") + raise + try: + jsonable["symbol"] = that.symbol + except SerializationException as exception: + exception._prepend_property("symbol") + raise + if that.specific_unit_id is not None: + try: + jsonable["specificUnitId"] = that.specific_unit_id + except SerializationException as exception: + exception._prepend_property("specific_unit_ID") + raise + if that.definition is not None: + try: + jsonable["definition"] = _list_of__definition_type_uom_to_jsonable( + that.definition + ) + except SerializationException as exception: + exception._prepend_property("definition") + raise + if that.preferred_name_quantity is not None: + try: + jsonable["preferredNameQuantity"] = _list_of__lang_string_uom_to_jsonable( + that.preferred_name_quantity + ) + except SerializationException as exception: + exception._prepend_property("preferred_name_quantity") + raise + if that.quantity_id is not None: + try: + jsonable["quantityId"] = that.quantity_id + except SerializationException as exception: + exception._prepend_property("quantity_ID") + raise + if that.classification_system is not None: + try: + jsonable["classificationSystem"] = that.classification_system + except SerializationException as exception: + exception._prepend_property("classification_system") + raise + if that.classification_system_version is not None: + try: + jsonable["classificationSystemVersion"] = that.classification_system_version + except SerializationException as exception: + exception._prepend_property("classification_system_version") + raise + jsonable["modelType"] = "DataSpecificationUom" + return jsonable + + +def _data_specification_iec_61360_to_jsonable( + that: our_types.DataSpecificationIEC61360, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["preferredName"] = ( + _list_of__lang_string_preferred_name_type_iec_61360_to_jsonable( + that.preferred_name + ) + ) + except SerializationException as exception: + exception._prepend_property("preferred_name") + raise + if that.short_name is not None: + try: + jsonable["shortName"] = ( + _list_of__lang_string_short_name_type_iec_61360_to_jsonable( + that.short_name + ) + ) + except SerializationException as exception: + exception._prepend_property("short_name") + raise + if that.unit is not None: + try: + jsonable["unit"] = that.unit + except SerializationException as exception: + exception._prepend_property("unit") + raise + if that.unit_id is not None: + try: + jsonable["unitId"] = _reference_to_jsonable(that.unit_id) + except SerializationException as exception: + exception._prepend_property("unit_ID") + raise + if that.source_of_definition is not None: + try: + jsonable["sourceOfDefinition"] = that.source_of_definition + except SerializationException as exception: + exception._prepend_property("source_of_definition") + raise + if that.symbol is not None: + try: + jsonable["symbol"] = that.symbol + except SerializationException as exception: + exception._prepend_property("symbol") + raise + if that.data_type is not None: + try: + jsonable["dataType"] = that.data_type.value + except SerializationException as exception: + exception._prepend_property("data_type") + raise + if that.definition is not None: + try: + jsonable["definition"] = ( + _list_of__lang_string_definition_type_iec_61360_to_jsonable( + that.definition + ) + ) + except SerializationException as exception: + exception._prepend_property("definition") + raise + if that.value_format is not None: + try: + jsonable["valueFormat"] = that.value_format + except SerializationException as exception: + exception._prepend_property("value_format") + raise + if that.value_list is not None: + try: + jsonable["valueList"] = _value_list_to_jsonable(that.value_list) + except SerializationException as exception: + exception._prepend_property("value_list") + raise + if that.value is not None: + try: + jsonable["value"] = that.value + except SerializationException as exception: + exception._prepend_property("value") + raise + if that.level_type is not None: + try: + jsonable["levelType"] = _level_type_to_jsonable(that.level_type) + except SerializationException as exception: + exception._prepend_property("level_type") + raise + jsonable["modelType"] = "DataSpecificationIec61360" + return jsonable + + +def _asset_administration_shell_descriptor_to_jsonable( + that: our_types.AssetAdministrationShellDescriptor, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + try: + jsonable["id"] = that.id + except SerializationException as exception: + exception._prepend_property("ID") + raise + if that.administration is not None: + try: + jsonable["administration"] = _administrative_information_to_jsonable( + that.administration + ) + except SerializationException as exception: + exception._prepend_property("administration") + raise + if that.asset_kind is not None: + try: + jsonable["assetKind"] = that.asset_kind.value + except SerializationException as exception: + exception._prepend_property("asset_kind") + raise + if that.asset_type is not None: + try: + jsonable["assetType"] = that.asset_type + except SerializationException as exception: + exception._prepend_property("asset_type") + raise + if that.endpoints is not None: + try: + jsonable["endpoints"] = _list_of__endpoint_to_jsonable(that.endpoints) + except SerializationException as exception: + exception._prepend_property("endpoints") + raise + if that.global_asset_id is not None: + try: + jsonable["globalAssetId"] = that.global_asset_id + except SerializationException as exception: + exception._prepend_property("global_asset_ID") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.specific_asset_ids is not None: + try: + jsonable["specificAssetIds"] = _list_of__specific_asset_id_to_jsonable( + that.specific_asset_ids + ) + except SerializationException as exception: + exception._prepend_property("specific_asset_IDs") + raise + if that.submodel_descriptors is not None: + try: + jsonable["submodelDescriptors"] = _list_of__submodel_descriptor_to_jsonable( + that.submodel_descriptors + ) + except SerializationException as exception: + exception._prepend_property("submodel_descriptors") + raise + return jsonable + + +def _submodel_descriptor_to_jsonable( + that: our_types.SubmodelDescriptor, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + try: + jsonable["endpoints"] = _list_of__endpoint_to_jsonable(that.endpoints) + except SerializationException as exception: + exception._prepend_property("endpoints") + raise + try: + jsonable["id"] = that.id + except SerializationException as exception: + exception._prepend_property("ID") + raise + if that.administration is not None: + try: + jsonable["administration"] = _administrative_information_to_jsonable( + that.administration + ) + except SerializationException as exception: + exception._prepend_property("administration") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + return jsonable + + +def _endpoint_to_jsonable( + that: our_types.Endpoint, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["protocolInformation"] = _protocol_information_to_jsonable( + that.protocol_information + ) + except SerializationException as exception: + exception._prepend_property("protocol_information") + raise + try: + jsonable["interface"] = that.interface + except SerializationException as exception: + exception._prepend_property("interface") + raise + return jsonable + + +def _protocol_information_to_jsonable( + that: our_types.ProtocolInformation, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["href"] = that.href + except SerializationException as exception: + exception._prepend_property("href") + raise + if that.endpoint_protocol is not None: + try: + jsonable["endpointProtocol"] = that.endpoint_protocol + except SerializationException as exception: + exception._prepend_property("endpoint_protocol") + raise + if that.endpoint_protocol_version is not None: + try: + jsonable["endpointProtocolVersion"] = list(that.endpoint_protocol_version) + except SerializationException as exception: + exception._prepend_property("endpoint_protocol_version") + raise + if that.subprotocol is not None: + try: + jsonable["subprotocol"] = that.subprotocol + except SerializationException as exception: + exception._prepend_property("subprotocol") + raise + if that.subprotocol_body is not None: + try: + jsonable["subprotocolBody"] = that.subprotocol_body + except SerializationException as exception: + exception._prepend_property("subprotocol_body") + raise + if that.subprotocol_body_encoding is not None: + try: + jsonable["subprotocolBodyEncoding"] = that.subprotocol_body_encoding + except SerializationException as exception: + exception._prepend_property("subprotocol_body_encoding") + raise + if that.security_attributes is not None: + try: + jsonable["securityAttributes"] = ( + _list_of__security_attribute_object_to_jsonable( + that.security_attributes + ) + ) + except SerializationException as exception: + exception._prepend_property("security_attributes") + raise + return jsonable + + +def _security_attribute_object_to_jsonable( + that: our_types.SecurityAttributeObject, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["type"] = that.type.value + except SerializationException as exception: + exception._prepend_property("type") + raise + try: + jsonable["key"] = that.key + except SerializationException as exception: + exception._prepend_property("key") + raise + try: + jsonable["value"] = that.value + except SerializationException as exception: + exception._prepend_property("value") + raise + return jsonable + + +def _asset_link_to_jsonable( + that: our_types.AssetLink, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["name"] = that.name + except SerializationException as exception: + exception._prepend_property("name") + raise + try: + jsonable["value"] = that.value + except SerializationException as exception: + exception._prepend_property("value") + raise + return jsonable + + +def _service_description_to_jsonable( + that: our_types.ServiceDescription, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["profiles"] = _list_of__service_specification_profile_enum_to_jsonable( + that.profiles + ) + except SerializationException as exception: + exception._prepend_property("profiles") + raise + return jsonable + + +def _asset_administration_shell_recent_change_to_jsonable( + that: our_types.AssetAdministrationShellRecentChange, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["createdAt"] = that.created_at + except SerializationException as exception: + exception._prepend_property("created_at") + raise + try: + jsonable["updatedAt"] = that.updated_at + except SerializationException as exception: + exception._prepend_property("updated_at") + raise + try: + jsonable["id"] = that.id + except SerializationException as exception: + exception._prepend_property("ID") + raise + if that.global_asset_id is not None: + try: + jsonable["globalAssetId"] = that.global_asset_id + except SerializationException as exception: + exception._prepend_property("global_asset_ID") + raise + if that.specific_asset_ids is not None: + try: + jsonable["specificAssetIds"] = _list_of__specific_asset_id_to_jsonable( + that.specific_asset_ids + ) + except SerializationException as exception: + exception._prepend_property("specific_asset_IDs") + raise + return jsonable + + +def _concept_description_recent_change_to_jsonable( + that: our_types.ConceptDescriptionRecentChange, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["createdAt"] = that.created_at + except SerializationException as exception: + exception._prepend_property("created_at") + raise + try: + jsonable["updatedAt"] = that.updated_at + except SerializationException as exception: + exception._prepend_property("updated_at") + raise + try: + jsonable["id"] = that.id + except SerializationException as exception: + exception._prepend_property("ID") + raise + return jsonable + + +def _submodel_recent_change_to_jsonable( + that: our_types.SubmodelRecentChange, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["createdAt"] = that.created_at + except SerializationException as exception: + exception._prepend_property("created_at") + raise + try: + jsonable["updatedAt"] = that.updated_at + except SerializationException as exception: + exception._prepend_property("updated_at") + raise + try: + jsonable["id"] = that.id + except SerializationException as exception: + exception._prepend_property("ID") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + return jsonable + + +def _result_to_jsonable(that: our_types.Result) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.messages is not None: + try: + jsonable["messages"] = _list_of__message_to_jsonable(that.messages) + except SerializationException as exception: + exception._prepend_property("messages") + raise + return jsonable + + +def _message_to_jsonable( + that: our_types.Message, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["messageType"] = that.message_type.value + except SerializationException as exception: + exception._prepend_property("message_type") + raise + try: + jsonable["text"] = that.text + except SerializationException as exception: + exception._prepend_property("text") + raise + if that.code is not None: + try: + jsonable["code"] = that.code + except SerializationException as exception: + exception._prepend_property("code") + raise + if that.correlation_id is not None: + try: + jsonable["correlationId"] = that.correlation_id + except SerializationException as exception: + exception._prepend_property("correlation_ID") + raise + if that.timestamp is not None: + try: + jsonable["timestamp"] = that.timestamp + except SerializationException as exception: + exception._prepend_property("timestamp") + raise + return jsonable + + +def _operation_request_to_jsonable( + that: our_types.OperationRequest, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.input_arguments is not None: + try: + jsonable["inputArguments"] = _list_of__operation_variable_to_jsonable( + that.input_arguments + ) + except SerializationException as exception: + exception._prepend_property("input_arguments") + raise + if that.inoutput_arguments is not None: + try: + jsonable["inoutputArguments"] = _list_of__operation_variable_to_jsonable( + that.inoutput_arguments + ) + except SerializationException as exception: + exception._prepend_property("inoutput_arguments") + raise + if that.client_timeout_duration is not None: + try: + jsonable["clientTimeoutDuration"] = that.client_timeout_duration + except SerializationException as exception: + exception._prepend_property("client_timeout_duration") + raise + return jsonable + + +def _operation_request_async_to_jsonable( + that: our_types.OperationRequestAsync, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.input_arguments is not None: + try: + jsonable["inputArguments"] = _list_of__operation_variable_to_jsonable( + that.input_arguments + ) + except SerializationException as exception: + exception._prepend_property("input_arguments") + raise + if that.inoutput_arguments is not None: + try: + jsonable["inoutputArguments"] = _list_of__operation_variable_to_jsonable( + that.inoutput_arguments + ) + except SerializationException as exception: + exception._prepend_property("inoutput_arguments") + raise + try: + jsonable["clientTimeoutDuration"] = that.client_timeout_duration + except SerializationException as exception: + exception._prepend_property("client_timeout_duration") + raise + return jsonable + + +def _operation_request_value_only_to_jsonable( + that: our_types.OperationRequestValueOnly, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.input_arguments is not None: + try: + jsonable["inputArguments"] = _json_value_to_jsonable(that.input_arguments) + except SerializationException as exception: + exception._prepend_property("input_arguments") + raise + if that.inoutput_arguments is not None: + try: + jsonable["inoutputArguments"] = _json_value_to_jsonable( + that.inoutput_arguments + ) + except SerializationException as exception: + exception._prepend_property("inoutput_arguments") + raise + if that.client_timeout_duration is not None: + try: + jsonable["clientTimeoutDuration"] = that.client_timeout_duration + except SerializationException as exception: + exception._prepend_property("client_timeout_duration") + raise + return jsonable + + +def _operation_request_async_value_only_to_jsonable( + that: our_types.OperationRequestAsyncValueOnly, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.input_arguments is not None: + try: + jsonable["inputArguments"] = _json_value_to_jsonable(that.input_arguments) + except SerializationException as exception: + exception._prepend_property("input_arguments") + raise + if that.inoutput_arguments is not None: + try: + jsonable["inoutputArguments"] = _json_value_to_jsonable( + that.inoutput_arguments + ) + except SerializationException as exception: + exception._prepend_property("inoutput_arguments") + raise + try: + jsonable["clientTimeoutDuration"] = that.client_timeout_duration + except SerializationException as exception: + exception._prepend_property("client_timeout_duration") + raise + return jsonable + + +def _base_operation_result_to_jsonable( + that: our_types.BaseOperationResult, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["executionState"] = that.execution_state.value + except SerializationException as exception: + exception._prepend_property("execution_state") + raise + if that.messages is not None: + try: + jsonable["messages"] = _list_of__message_to_jsonable(that.messages) + except SerializationException as exception: + exception._prepend_property("messages") + raise + if that.success is not None: + try: + jsonable["success"] = that.success + except SerializationException as exception: + exception._prepend_property("success") + raise + return jsonable + + +def _operation_result_to_jsonable( + that: our_types.OperationResult, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["executionState"] = that.execution_state.value + except SerializationException as exception: + exception._prepend_property("execution_state") + raise + if that.messages is not None: + try: + jsonable["messages"] = _list_of__message_to_jsonable(that.messages) + except SerializationException as exception: + exception._prepend_property("messages") + raise + if that.success is not None: + try: + jsonable["success"] = that.success + except SerializationException as exception: + exception._prepend_property("success") + raise + if that.output_arguments is not None: + try: + jsonable["outputArguments"] = _list_of__operation_variable_to_jsonable( + that.output_arguments + ) + except SerializationException as exception: + exception._prepend_property("output_arguments") + raise + if that.inoutput_arguments is not None: + try: + jsonable["inoutputArguments"] = _list_of__operation_variable_to_jsonable( + that.inoutput_arguments + ) + except SerializationException as exception: + exception._prepend_property("inoutput_arguments") + raise + return jsonable + + +def _operation_result_value_only_to_jsonable( + that: our_types.OperationResultValueOnly, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["executionState"] = that.execution_state.value + except SerializationException as exception: + exception._prepend_property("execution_state") + raise + if that.messages is not None: + try: + jsonable["messages"] = _list_of__message_to_jsonable(that.messages) + except SerializationException as exception: + exception._prepend_property("messages") + raise + if that.success is not None: + try: + jsonable["success"] = that.success + except SerializationException as exception: + exception._prepend_property("success") + raise + if that.output_arguments is not None: + try: + jsonable["outputArguments"] = _json_value_to_jsonable(that.output_arguments) + except SerializationException as exception: + exception._prepend_property("output_arguments") + raise + if that.inoutput_arguments is not None: + try: + jsonable["inoutputArguments"] = _json_value_to_jsonable( + that.inoutput_arguments + ) + except SerializationException as exception: + exception._prepend_property("inoutput_arguments") + raise + return jsonable + + +def _operation_handle_to_jsonable( + that: our_types.OperationHandle, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["handleId"] = that.handle_id + except SerializationException as exception: + exception._prepend_property("handle_ID") + raise + return jsonable + + +def _paged_result_to_jsonable( + that: our_types.PagedResult, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.result is not None: + try: + jsonable["result"] = _list_of__referable_to_jsonable(that.result) + except SerializationException as exception: + exception._prepend_property("result") + raise + try: + jsonable["paging_metadata"] = _paging_metadata_to_jsonable(that.paging_metadata) + except SerializationException as exception: + exception._prepend_property("paging_metadata") + raise + return jsonable + + +def _paging_metadata_to_jsonable( + that: our_types.PagingMetadata, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.cursor is not None: + try: + jsonable["cursor"] = that.cursor + except SerializationException as exception: + exception._prepend_property("cursor") + raise + return jsonable + + +def _package_description_to_jsonable( + that: our_types.PackageDescription, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["packageId"] = that.package_id + except SerializationException as exception: + exception._prepend_property("package_ID") + raise + if that.aas_ids is not None: + try: + jsonable["aasIds"] = list(that.aas_ids) + except SerializationException as exception: + exception._prepend_property("AAS_IDs") + raise + return jsonable + + +def _property_metadata_to_jsonable( + that: our_types.PropertyMetadata, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + try: + jsonable["valueType"] = that.value_type.value + except SerializationException as exception: + exception._prepend_property("value_type") + raise + jsonable["modelType"] = "PropertyMetadata" + return jsonable + + +def _range_metadata_to_jsonable( + that: our_types.RangeMetadata, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + try: + jsonable["valueType"] = that.value_type.value + except SerializationException as exception: + exception._prepend_property("value_type") + raise + jsonable["modelType"] = "RangeMetadata" + return jsonable + + +def _blob_metadata_to_jsonable( + that: our_types.BlobMetadata, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + jsonable["modelType"] = "BlobMetadata" + return jsonable + + +def _file_metadata_to_jsonable( + that: our_types.FileMetadata, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + jsonable["modelType"] = "FileMetadata" + return jsonable + + +def _multi_language_property_metadata_to_jsonable( + that: our_types.MultiLanguagePropertyMetadata, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + jsonable["modelType"] = "MultiLanguagePropertyMetadata" + return jsonable + + +def _reference_element_metadata_to_jsonable( + that: our_types.ReferenceElementMetadata, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + jsonable["modelType"] = "ReferenceElementMetadata" + return jsonable + + +def _relationship_element_metadata_to_jsonable( + that: our_types.RelationshipElementMetadata, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + jsonable["modelType"] = "RelationshipElementMetadata" + return jsonable + + +def _annotated_relationship_element_metadata_to_jsonable( + that: our_types.AnnotatedRelationshipElementMetadata, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + jsonable["modelType"] = "AnnotatedRelationshipElementMetadata" + return jsonable + + +def _entity_metadata_to_jsonable( + that: our_types.EntityMetadata, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + jsonable["modelType"] = "EntityMetadata" + return jsonable + + +def _capability_metadata_to_jsonable( + that: our_types.CapabilityMetadata, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + jsonable["modelType"] = "CapabilityMetadata" + return jsonable + + +def _operation_metadata_to_jsonable( + that: our_types.OperationMetadata, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + jsonable["modelType"] = "OperationMetadata" + return jsonable + + +def _submodel_element_collection_metadata_to_jsonable( + that: our_types.SubmodelElementCollectionMetadata, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + jsonable["modelType"] = "SubmodelElementCollectionMetadata" + return jsonable + + +def _basic_event_element_metadata_to_jsonable( + that: our_types.BasicEventElementMetadata, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + try: + jsonable["direction"] = that.direction.value + except SerializationException as exception: + exception._prepend_property("direction") + raise + try: + jsonable["state"] = that.state.value + except SerializationException as exception: + exception._prepend_property("state") + raise + if that.message_topic is not None: + try: + jsonable["messageTopic"] = that.message_topic + except SerializationException as exception: + exception._prepend_property("message_topic") + raise + if that.message_broker is not None: + try: + jsonable["messageBroker"] = _reference_to_jsonable(that.message_broker) + except SerializationException as exception: + exception._prepend_property("message_broker") + raise + if that.last_update is not None: + try: + jsonable["lastUpdate"] = that.last_update + except SerializationException as exception: + exception._prepend_property("last_update") + raise + if that.min_interval is not None: + try: + jsonable["minInterval"] = that.min_interval + except SerializationException as exception: + exception._prepend_property("min_interval") + raise + if that.max_interval is not None: + try: + jsonable["maxInterval"] = that.max_interval + except SerializationException as exception: + exception._prepend_property("max_interval") + raise + jsonable["modelType"] = "BasicEventElementMetadata" + return jsonable + + +def _submodel_element_list_metadata_to_jsonable( + that: our_types.SubmodelElementListMetadata, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + if that.order_relevant is not None: + try: + jsonable["orderRelevant"] = that.order_relevant + except SerializationException as exception: + exception._prepend_property("order_relevant") + raise + if that.semantic_id_list_element is not None: + try: + jsonable["semanticIdListElement"] = _reference_to_jsonable( + that.semantic_id_list_element + ) + except SerializationException as exception: + exception._prepend_property("semantic_ID_list_element") + raise + try: + jsonable["typeValueListElement"] = that.type_value_list_element.value + except SerializationException as exception: + exception._prepend_property("type_value_list_element") + raise + if that.value_type_list_element is not None: + try: + jsonable["valueTypeListElement"] = that.value_type_list_element.value + except SerializationException as exception: + exception._prepend_property("value_type_list_element") + raise + jsonable["modelType"] = "SubmodelElementListMetadata" + return jsonable + + +def _submodel_metadata_to_jsonable( + that: our_types.SubmodelMetadata, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.administration is not None: + try: + jsonable["administration"] = _administrative_information_to_jsonable( + that.administration + ) + except SerializationException as exception: + exception._prepend_property("administration") + raise + try: + jsonable["id"] = that.id + except SerializationException as exception: + exception._prepend_property("ID") + raise + if that.kind is not None: + try: + jsonable["kind"] = that.kind.value + except SerializationException as exception: + exception._prepend_property("kind") + raise + if that.semantic_id is not None: + try: + jsonable["semanticId"] = _reference_to_jsonable(that.semantic_id) + except SerializationException as exception: + exception._prepend_property("semantic_ID") + raise + if that.supplemental_semantic_ids is not None: + try: + jsonable["supplementalSemanticIds"] = _list_of__reference_to_jsonable( + that.supplemental_semantic_ids + ) + except SerializationException as exception: + exception._prepend_property("supplemental_semantic_IDs") + raise + if that.qualifiers is not None: + try: + jsonable["qualifiers"] = _list_of__qualifier_to_jsonable(that.qualifiers) + except SerializationException as exception: + exception._prepend_property("qualifiers") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + jsonable["modelType"] = "SubmodelMetadata" + return jsonable + + +def _asset_administration_shell_metadata_to_jsonable( + that: our_types.AssetAdministrationShellMetadata, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.extensions is not None: + try: + jsonable["extensions"] = _list_of__extension_to_jsonable(that.extensions) + except SerializationException as exception: + exception._prepend_property("extensions") + raise + if that.category is not None: + try: + jsonable["category"] = that.category + except SerializationException as exception: + exception._prepend_property("category") + raise + if that.id_short is not None: + try: + jsonable["idShort"] = that.id_short + except SerializationException as exception: + exception._prepend_property("ID_short") + raise + if that.display_name is not None: + try: + jsonable["displayName"] = _list_of__lang_string_name_type_to_jsonable( + that.display_name + ) + except SerializationException as exception: + exception._prepend_property("display_name") + raise + if that.description is not None: + try: + jsonable["description"] = _list_of__lang_string_text_type_to_jsonable( + that.description + ) + except SerializationException as exception: + exception._prepend_property("description") + raise + if that.administration is not None: + try: + jsonable["administration"] = _administrative_information_to_jsonable( + that.administration + ) + except SerializationException as exception: + exception._prepend_property("administration") + raise + try: + jsonable["id"] = that.id + except SerializationException as exception: + exception._prepend_property("ID") + raise + if that.embedded_data_specifications is not None: + try: + jsonable["embeddedDataSpecifications"] = ( + _list_of__embedded_data_specification_to_jsonable( + that.embedded_data_specifications + ) + ) + except SerializationException as exception: + exception._prepend_property("embedded_data_specifications") + raise + if that.derived_from is not None: + try: + jsonable["derivedFrom"] = _reference_to_jsonable(that.derived_from) + except SerializationException as exception: + exception._prepend_property("derived_from") + raise + jsonable["modelType"] = "AssetAdministrationShellMetadata" + return jsonable + + +def _reference_element_value_to_jsonable( + that: our_types.ReferenceElementValue, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["type"] = that.type.value + except SerializationException as exception: + exception._prepend_property("type") + raise + try: + jsonable["keys"] = _list_of__key_to_jsonable(that.keys) + except SerializationException as exception: + exception._prepend_property("keys") + raise + if that.referred_semantic_id is not None: + try: + jsonable["referredSemanticId"] = _reference_to_jsonable( + that.referred_semantic_id + ) + except SerializationException as exception: + exception._prepend_property("referred_semantic_ID") + raise + return jsonable + + +def _blob_value_to_jsonable( + that: our_types.BlobValue, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.content_type is not None: + try: + jsonable["contentType"] = that.content_type + except SerializationException as exception: + exception._prepend_property("content_type") + raise + if that.value is not None: + try: + jsonable["value"] = _bytes_to_base64_str(that.value) + except SerializationException as exception: + exception._prepend_property("value") + raise + return jsonable + + +def _file_value_to_jsonable( + that: our_types.FileValue, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.content_type is not None: + try: + jsonable["contentType"] = that.content_type + except SerializationException as exception: + exception._prepend_property("content_type") + raise + if that.value is not None: + try: + jsonable["value"] = that.value + except SerializationException as exception: + exception._prepend_property("value") + raise + return jsonable + + +def _range_value_to_jsonable( + that: our_types.RangeValue, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["min"] = _float_to_jsonable(that.min) + except SerializationException as exception: + exception._prepend_property("min") + raise + try: + jsonable["max"] = _float_to_jsonable(that.max) + except SerializationException as exception: + exception._prepend_property("max") + raise + return jsonable + + +def _relationship_element_value_to_jsonable( + that: our_types.RelationshipElementValue, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.first is not None: + try: + jsonable["first"] = _reference_to_jsonable(that.first) + except SerializationException as exception: + exception._prepend_property("first") + raise + if that.second is not None: + try: + jsonable["second"] = _reference_to_jsonable(that.second) + except SerializationException as exception: + exception._prepend_property("second") + raise + return jsonable + + +def _basic_event_element_value_to_jsonable( + that: our_types.BasicEventElementValue, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["observed"] = _reference_to_jsonable(that.observed) + except SerializationException as exception: + exception._prepend_property("observed") + raise + return jsonable + + +def _annotated_relationship_element_value_to_jsonable( + that: our_types.AnnotatedRelationshipElementValue, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.first is not None: + try: + jsonable["first"] = _reference_to_jsonable(that.first) + except SerializationException as exception: + exception._prepend_property("first") + raise + if that.second is not None: + try: + jsonable["second"] = _reference_to_jsonable(that.second) + except SerializationException as exception: + exception._prepend_property("second") + raise + if that.annotations is not None: + try: + jsonable["annotations"] = _json_value_to_jsonable(that.annotations) + except SerializationException as exception: + exception._prepend_property("annotations") + raise + return jsonable + + +def _entity_value_to_jsonable( + that: our_types.EntityValue, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.entity_type is not None: + try: + jsonable["entityType"] = that.entity_type.value + except SerializationException as exception: + exception._prepend_property("entity_type") + raise + if that.global_asset_id is not None: + try: + jsonable["globalAssetId"] = that.global_asset_id + except SerializationException as exception: + exception._prepend_property("global_asset_ID") + raise + if that.specific_asset_ids is not None: + try: + jsonable["specificAssetIds"] = _list_of__json_object_to_jsonable( + that.specific_asset_ids + ) + except SerializationException as exception: + exception._prepend_property("specific_asset_IDs") + raise + if that.statements is not None: + try: + jsonable["statements"] = _json_value_to_jsonable(that.statements) + except SerializationException as exception: + exception._prepend_property("statements") + raise + return jsonable + + +def _get_asset_administration_shells_result_to_jsonable( + that: our_types.GetAssetAdministrationShellsResult, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["paging_metadata"] = _paging_metadata_to_jsonable(that.paging_metadata) + except SerializationException as exception: + exception._prepend_property("paging_metadata") + raise + if that.result is not None: + try: + jsonable["result"] = _list_of__asset_administration_shell_to_jsonable( + that.result + ) + except SerializationException as exception: + exception._prepend_property("result") + raise + return jsonable + + +def _get_asset_administration_shells_metadata_result_to_jsonable( + that: our_types.GetAssetAdministrationShellsMetadataResult, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["paging_metadata"] = _paging_metadata_to_jsonable(that.paging_metadata) + except SerializationException as exception: + exception._prepend_property("paging_metadata") + raise + if that.result is not None: + try: + jsonable["result"] = ( + _list_of__asset_administration_shell_metadata_to_jsonable(that.result) + ) + except SerializationException as exception: + exception._prepend_property("result") + raise + return jsonable + + +def _get_all_asset_administration_shells_recent_changes_result_to_jsonable( + that: our_types.GetAllAssetAdministrationShellsRecentChangesResult, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["paging_metadata"] = _paging_metadata_to_jsonable(that.paging_metadata) + except SerializationException as exception: + exception._prepend_property("paging_metadata") + raise + if that.result is not None: + try: + jsonable["result"] = ( + _list_of__asset_administration_shell_recent_change_to_jsonable( + that.result + ) + ) + except SerializationException as exception: + exception._prepend_property("result") + raise + return jsonable + + +def _get_asset_administration_shell_descriptors_result_to_jsonable( + that: our_types.GetAssetAdministrationShellDescriptorsResult, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["paging_metadata"] = _paging_metadata_to_jsonable(that.paging_metadata) + except SerializationException as exception: + exception._prepend_property("paging_metadata") + raise + if that.result is not None: + try: + jsonable["result"] = ( + _list_of__asset_administration_shell_descriptor_to_jsonable(that.result) + ) + except SerializationException as exception: + exception._prepend_property("result") + raise + return jsonable + + +def _get_concept_descriptions_result_to_jsonable( + that: our_types.GetConceptDescriptionsResult, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["paging_metadata"] = _paging_metadata_to_jsonable(that.paging_metadata) + except SerializationException as exception: + exception._prepend_property("paging_metadata") + raise + if that.result is not None: + try: + jsonable["result"] = _list_of__concept_description_to_jsonable(that.result) + except SerializationException as exception: + exception._prepend_property("result") + raise + return jsonable + + +def _get_all_concept_descriptions_recent_changes_result_to_jsonable( + that: our_types.GetAllConceptDescriptionsRecentChangesResult, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["paging_metadata"] = _paging_metadata_to_jsonable(that.paging_metadata) + except SerializationException as exception: + exception._prepend_property("paging_metadata") + raise + if that.result is not None: + try: + jsonable["result"] = ( + _list_of__concept_description_recent_change_to_jsonable(that.result) + ) + except SerializationException as exception: + exception._prepend_property("result") + raise + return jsonable + + +def _get_package_descriptions_result_to_jsonable( + that: our_types.GetPackageDescriptionsResult, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["paging_metadata"] = _paging_metadata_to_jsonable(that.paging_metadata) + except SerializationException as exception: + exception._prepend_property("paging_metadata") + raise + if that.result is not None: + try: + jsonable["result"] = _list_of__package_description_to_jsonable(that.result) + except SerializationException as exception: + exception._prepend_property("result") + raise + return jsonable + + +def _get_path_items_result_to_jsonable( + that: our_types.GetPathItemsResult, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["paging_metadata"] = _paging_metadata_to_jsonable(that.paging_metadata) + except SerializationException as exception: + exception._prepend_property("paging_metadata") + raise + if that.result is not None: + try: + jsonable["result"] = list(that.result) + except SerializationException as exception: + exception._prepend_property("result") + raise + return jsonable + + +def _get_references_result_to_jsonable( + that: our_types.GetReferencesResult, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["paging_metadata"] = _paging_metadata_to_jsonable(that.paging_metadata) + except SerializationException as exception: + exception._prepend_property("paging_metadata") + raise + if that.result is not None: + try: + jsonable["result"] = _list_of__reference_to_jsonable(that.result) + except SerializationException as exception: + exception._prepend_property("result") + raise + return jsonable + + +def _get_submodel_descriptors_result_to_jsonable( + that: our_types.GetSubmodelDescriptorsResult, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["paging_metadata"] = _paging_metadata_to_jsonable(that.paging_metadata) + except SerializationException as exception: + exception._prepend_property("paging_metadata") + raise + if that.result is not None: + try: + jsonable["result"] = _list_of__submodel_descriptor_to_jsonable(that.result) + except SerializationException as exception: + exception._prepend_property("result") + raise + return jsonable + + +def _get_submodel_elements_metadata_result_to_jsonable( + that: our_types.GetSubmodelElementsMetadataResult, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["paging_metadata"] = _paging_metadata_to_jsonable(that.paging_metadata) + except SerializationException as exception: + exception._prepend_property("paging_metadata") + raise + if that.result is not None: + try: + jsonable["result"] = _list_of__submodel_element_metadata_to_jsonable( + that.result + ) + except SerializationException as exception: + exception._prepend_property("result") + raise + return jsonable + + +def _get_submodel_elements_result_to_jsonable( + that: our_types.GetSubmodelElementsResult, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["paging_metadata"] = _paging_metadata_to_jsonable(that.paging_metadata) + except SerializationException as exception: + exception._prepend_property("paging_metadata") + raise + if that.result is not None: + try: + jsonable["result"] = _list_of__submodel_element_to_jsonable(that.result) + except SerializationException as exception: + exception._prepend_property("result") + raise + return jsonable + + +def _get_submodel_elements_value_result_to_jsonable( + that: our_types.GetSubmodelElementsValueResult, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["paging_metadata"] = _paging_metadata_to_jsonable(that.paging_metadata) + except SerializationException as exception: + exception._prepend_property("paging_metadata") + raise + if that.result is not None: + try: + jsonable["result"] = _json_value_to_jsonable(that.result) + except SerializationException as exception: + exception._prepend_property("result") + raise + return jsonable + + +def _get_all_submodels_recent_changes_result_to_jsonable( + that: our_types.GetAllSubmodelsRecentChangesResult, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["paging_metadata"] = _paging_metadata_to_jsonable(that.paging_metadata) + except SerializationException as exception: + exception._prepend_property("paging_metadata") + raise + if that.result is not None: + try: + jsonable["result"] = _list_of__submodel_recent_change_to_jsonable( + that.result + ) + except SerializationException as exception: + exception._prepend_property("result") + raise + return jsonable + + +def _get_submodels_metadata_result_to_jsonable( + that: our_types.GetSubmodelsMetadataResult, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["paging_metadata"] = _paging_metadata_to_jsonable(that.paging_metadata) + except SerializationException as exception: + exception._prepend_property("paging_metadata") + raise + if that.result is not None: + try: + jsonable["result"] = _list_of__submodel_metadata_to_jsonable(that.result) + except SerializationException as exception: + exception._prepend_property("result") + raise + return jsonable + + +def _get_submodels_result_to_jsonable( + that: our_types.GetSubmodelsResult, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["paging_metadata"] = _paging_metadata_to_jsonable(that.paging_metadata) + except SerializationException as exception: + exception._prepend_property("paging_metadata") + raise + if that.result is not None: + try: + jsonable["result"] = _list_of__submodel_to_jsonable(that.result) + except SerializationException as exception: + exception._prepend_property("result") + raise + return jsonable + + +def _get_submodels_value_result_to_jsonable( + that: our_types.GetSubmodelsValueResult, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["paging_metadata"] = _paging_metadata_to_jsonable(that.paging_metadata) + except SerializationException as exception: + exception._prepend_property("paging_metadata") + raise + if that.result is not None: + try: + jsonable["result"] = _json_value_to_jsonable(that.result) + except SerializationException as exception: + exception._prepend_property("result") + raise + return jsonable + + +def _claim_attribute_to_jsonable( + that: our_types.ClaimAttribute, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["CLAIM"] = that.claim + except SerializationException as exception: + exception._prepend_property("claim") + raise + return jsonable + + +def _global_attribute_to_jsonable( + that: our_types.GlobalAttribute, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["GLOBAL"] = that.kind.value + except SerializationException as exception: + exception._prepend_property("kind") + raise + return jsonable + + +def _reference_attribute_to_jsonable( + that: our_types.ReferenceAttribute, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["REFERENCE"] = that.reference + except SerializationException as exception: + exception._prepend_property("reference") + raise + return jsonable + + +def _date_time_attribute_item_to_jsonable( + that: our_types.DateTimeAttributeItem, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["GLOBAL"] = that.kind.value + except SerializationException as exception: + exception._prepend_property("kind") + raise + return jsonable + + +def _field_operand_to_jsonable( + that: our_types.FieldOperand, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$field"] = that.field + except SerializationException as exception: + exception._prepend_property("field") + raise + return jsonable + + +def _string_literal_to_jsonable( + that: our_types.StringLiteral, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$strVal"] = that.str_val + except SerializationException as exception: + exception._prepend_property("str_val") + raise + return jsonable + + +def _attribute_operand_to_jsonable( + that: our_types.AttributeOperand, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$attribute"] = that.attribute.transform(_SERIALIZER) + except SerializationException as exception: + exception._prepend_property("attribute") + raise + return jsonable + + +def _number_literal_to_jsonable( + that: our_types.NumberLiteral, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$numVal"] = _float_to_jsonable(that.num_val) + except SerializationException as exception: + exception._prepend_property("num_val") + raise + return jsonable + + +def _hex_literal_to_jsonable( + that: our_types.HexLiteral, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$hexVal"] = that.hex_val + except SerializationException as exception: + exception._prepend_property("hex_val") + raise + return jsonable + + +def _date_time_literal_to_jsonable( + that: our_types.DateTimeLiteral, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$dateTimeVal"] = that.date_time_val + except SerializationException as exception: + exception._prepend_property("date_time_val") + raise + return jsonable + + +def _time_literal_to_jsonable( + that: our_types.TimeLiteral, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$timeVal"] = that.time_val + except SerializationException as exception: + exception._prepend_property("time_val") + raise + return jsonable + + +def _boolean_literal_to_jsonable( + that: our_types.BooleanLiteral, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$boolean"] = that.boolean + except SerializationException as exception: + exception._prepend_property("boolean") + raise + return jsonable + + +def _string_cast_to_jsonable( + that: our_types.StringCast, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$strCast"] = that.str_cast.transform(_SERIALIZER) + except SerializationException as exception: + exception._prepend_property("str_cast") + raise + return jsonable + + +def _number_cast_to_jsonable( + that: our_types.NumberCast, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$numCast"] = that.num_cast.transform(_SERIALIZER) + except SerializationException as exception: + exception._prepend_property("num_cast") + raise + return jsonable + + +def _hex_cast_to_jsonable( + that: our_types.HexCast, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$hexCast"] = that.hex_cast.transform(_SERIALIZER) + except SerializationException as exception: + exception._prepend_property("hex_cast") + raise + return jsonable + + +def _boolean_cast_to_jsonable( + that: our_types.BooleanCast, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$boolCast"] = that.bool_cast.transform(_SERIALIZER) + except SerializationException as exception: + exception._prepend_property("bool_cast") + raise + return jsonable + + +def _date_time_cast_to_jsonable( + that: our_types.DateTimeCast, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$dateTimeCast"] = that.date_time_cast.transform(_SERIALIZER) + except SerializationException as exception: + exception._prepend_property("date_time_cast") + raise + return jsonable + + +def _time_cast_to_jsonable( + that: our_types.TimeCast, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$timeCast"] = that.time_cast.transform(_SERIALIZER) + except SerializationException as exception: + exception._prepend_property("time_cast") + raise + return jsonable + + +def _day_of_week_to_jsonable( + that: our_types.DayOfWeek, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$dayOfWeek"] = that.day_of_week.transform(_SERIALIZER) + except SerializationException as exception: + exception._prepend_property("day_of_week") + raise + return jsonable + + +def _day_of_month_to_jsonable( + that: our_types.DayOfMonth, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$dayOfMonth"] = that.day_of_month.transform(_SERIALIZER) + except SerializationException as exception: + exception._prepend_property("day_of_month") + raise + return jsonable + + +def _month_to_jsonable(that: our_types.Month) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$month"] = that.month.transform(_SERIALIZER) + except SerializationException as exception: + exception._prepend_property("month") + raise + return jsonable + + +def _year_to_jsonable(that: our_types.Year) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$year"] = that.year.transform(_SERIALIZER) + except SerializationException as exception: + exception._prepend_property("year") + raise + return jsonable + + +def _date_time_attribute_operand_to_jsonable( + that: our_types.DateTimeAttributeOperand, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$attribute"] = _date_time_attribute_item_to_jsonable(that.attribute) + except SerializationException as exception: + exception._prepend_property("attribute") + raise + return jsonable + + +def _equal_comparison_to_jsonable( + that: our_types.EqualComparison, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$eq"] = _tuple2_of__value__value_to_jsonable(that.eq) + except SerializationException as exception: + exception._prepend_property("eq") + raise + return jsonable + + +def _not_equal_comparison_to_jsonable( + that: our_types.NotEqualComparison, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$ne"] = _tuple2_of__value__value_to_jsonable(that.ne) + except SerializationException as exception: + exception._prepend_property("ne") + raise + return jsonable + + +def _greater_than_comparison_to_jsonable( + that: our_types.GreaterThanComparison, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$gt"] = _tuple2_of__value__value_to_jsonable(that.gt) + except SerializationException as exception: + exception._prepend_property("gt") + raise + return jsonable + + +def _greater_than_or_equal_comparison_to_jsonable( + that: our_types.GreaterThanOrEqualComparison, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$ge"] = _tuple2_of__value__value_to_jsonable(that.ge) + except SerializationException as exception: + exception._prepend_property("ge") + raise + return jsonable + + +def _less_than_comparison_to_jsonable( + that: our_types.LessThanComparison, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$lt"] = _tuple2_of__value__value_to_jsonable(that.lt) + except SerializationException as exception: + exception._prepend_property("lt") + raise + return jsonable + + +def _less_than_or_equal_comparison_to_jsonable( + that: our_types.LessThanOrEqualComparison, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$le"] = _tuple2_of__value__value_to_jsonable(that.le) + except SerializationException as exception: + exception._prepend_property("le") + raise + return jsonable + + +def _contains_comparison_to_jsonable( + that: our_types.ContainsComparison, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$contains"] = _tuple2_of__string_value__string_value_to_jsonable( + that.contains + ) + except SerializationException as exception: + exception._prepend_property("contains") + raise + return jsonable + + +def _starts_with_comparison_to_jsonable( + that: our_types.StartsWithComparison, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$starts-with"] = _tuple2_of__string_value__string_value_to_jsonable( + that.starts_with + ) + except SerializationException as exception: + exception._prepend_property("starts_with") + raise + return jsonable + + +def _ends_with_comparison_to_jsonable( + that: our_types.EndsWithComparison, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$ends-with"] = _tuple2_of__string_value__string_value_to_jsonable( + that.ends_with + ) + except SerializationException as exception: + exception._prepend_property("ends_with") + raise + return jsonable + + +def _regex_comparison_to_jsonable( + that: our_types.RegexComparison, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$regex"] = _tuple2_of__string_value__string_value_to_jsonable( + that.regex + ) + except SerializationException as exception: + exception._prepend_property("regex") + raise + return jsonable + + +def _match_clause_to_jsonable( + that: our_types.MatchClause, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$match"] = _list_of__match_expression_to_jsonable(that.match_operands) + except SerializationException as exception: + exception._prepend_property("match_operands") + raise + return jsonable + + +def _and_expression_to_jsonable( + that: our_types.AndExpression, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$and"] = _list_of__logical_expression_to_jsonable(that.and_operands) + except SerializationException as exception: + exception._prepend_property("and_operands") + raise + return jsonable + + +def _or_expression_to_jsonable( + that: our_types.OrExpression, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$or"] = _list_of__logical_expression_to_jsonable(that.or_operands) + except SerializationException as exception: + exception._prepend_property("or_operands") + raise + return jsonable + + +def _not_expression_to_jsonable( + that: our_types.NotExpression, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$not"] = that.not_operand.transform(_SERIALIZER) + except SerializationException as exception: + exception._prepend_property("not_operand") + raise + return jsonable + + +def _query_filter_to_jsonable( + that: our_types.QueryFilter, +) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + try: + jsonable["$fragment"] = that.fragment + except SerializationException as exception: + exception._prepend_property("fragment") + raise + try: + jsonable["$condition"] = that.condition.transform(_SERIALIZER) + except SerializationException as exception: + exception._prepend_property("condition") + raise + return jsonable + + +def _query_to_jsonable(that: our_types.Query) -> MutableMapping[str, MutableJsonable]: + """Serialize :paramref:`that` to a JSON-able representation.""" + jsonable: MutableMapping[str, MutableJsonable] = {} + if that.select is not None: + try: + jsonable["$select"] = that.select.value + except SerializationException as exception: + exception._prepend_property("select") + raise + try: + jsonable["$condition"] = that.condition.transform(_SERIALIZER) + except SerializationException as exception: + exception._prepend_property("condition") + raise + if that.filters is not None: + try: + jsonable["$filters"] = _list_of__query_filter_to_jsonable(that.filters) + except SerializationException as exception: + exception._prepend_property("filters") + raise + return jsonable + + +class _Serializer(our_types.AbstractTransformer[MutableJsonable]): + """ + Dispatch on the class of an instance to serialize it. + + The methods *are* the serializers, instead of forwarding to them, so that + a dispatch costs a single call. Wherever the class of a value is already + known -- which is every class without concrete descendants -- the serializer + is called directly and this transformer is not involved at all. + """ + + transform_extension = staticmethod(_extension_to_jsonable) + transform_administrative_information = staticmethod( + _administrative_information_to_jsonable + ) + transform_qualifier = staticmethod(_qualifier_to_jsonable) + transform_asset_administration_shell = staticmethod( + _asset_administration_shell_to_jsonable + ) + transform_asset_information = staticmethod(_asset_information_to_jsonable) + transform_resource = staticmethod(_resource_to_jsonable) + transform_specific_asset_id = staticmethod(_specific_asset_id_to_jsonable) + transform_submodel = staticmethod(_submodel_to_jsonable) + transform_relationship_element = staticmethod(_relationship_element_to_jsonable) + transform_submodel_element_list = staticmethod(_submodel_element_list_to_jsonable) + transform_submodel_element_collection = staticmethod( + _submodel_element_collection_to_jsonable + ) + transform_property = staticmethod(_property_to_jsonable) + transform_multi_language_property = staticmethod( + _multi_language_property_to_jsonable + ) + transform_range = staticmethod(_range_to_jsonable) + transform_reference_element = staticmethod(_reference_element_to_jsonable) + transform_blob = staticmethod(_blob_to_jsonable) + transform_file = staticmethod(_file_to_jsonable) + transform_annotated_relationship_element = staticmethod( + _annotated_relationship_element_to_jsonable + ) + transform_entity = staticmethod(_entity_to_jsonable) + transform_event_payload = staticmethod(_event_payload_to_jsonable) + transform_basic_event_element = staticmethod(_basic_event_element_to_jsonable) + transform_operation = staticmethod(_operation_to_jsonable) + transform_operation_variable = staticmethod(_operation_variable_to_jsonable) + transform_capability = staticmethod(_capability_to_jsonable) + transform_concept_description = staticmethod(_concept_description_to_jsonable) + transform_reference = staticmethod(_reference_to_jsonable) + transform_key = staticmethod(_key_to_jsonable) + transform_lang_string_name_type = staticmethod(_lang_string_name_type_to_jsonable) + transform_lang_string_text_type = staticmethod(_lang_string_text_type_to_jsonable) + transform_environment = staticmethod(_environment_to_jsonable) + transform_embedded_data_specification = staticmethod( + _embedded_data_specification_to_jsonable + ) + transform_level_type = staticmethod(_level_type_to_jsonable) + transform_value_reference_pair = staticmethod(_value_reference_pair_to_jsonable) + transform_value_list = staticmethod(_value_list_to_jsonable) + transform_lang_string_preferred_name_type_iec_61360 = staticmethod( + _lang_string_preferred_name_type_iec_61360_to_jsonable + ) + transform_lang_string_short_name_type_iec_61360 = staticmethod( + _lang_string_short_name_type_iec_61360_to_jsonable + ) + transform_lang_string_definition_type_iec_61360 = staticmethod( + _lang_string_definition_type_iec_61360_to_jsonable + ) + transform_lang_string_uom = staticmethod(_lang_string_uom_to_jsonable) + transform_definition_type_uom = staticmethod(_definition_type_uom_to_jsonable) + transform_data_specification_uom = staticmethod(_data_specification_uom_to_jsonable) + transform_data_specification_iec_61360 = staticmethod( + _data_specification_iec_61360_to_jsonable + ) + transform_asset_administration_shell_descriptor = staticmethod( + _asset_administration_shell_descriptor_to_jsonable + ) + transform_submodel_descriptor = staticmethod(_submodel_descriptor_to_jsonable) + transform_endpoint = staticmethod(_endpoint_to_jsonable) + transform_protocol_information = staticmethod(_protocol_information_to_jsonable) + transform_security_attribute_object = staticmethod( + _security_attribute_object_to_jsonable + ) + transform_asset_link = staticmethod(_asset_link_to_jsonable) + transform_service_description = staticmethod(_service_description_to_jsonable) + transform_asset_administration_shell_recent_change = staticmethod( + _asset_administration_shell_recent_change_to_jsonable + ) + transform_concept_description_recent_change = staticmethod( + _concept_description_recent_change_to_jsonable + ) + transform_submodel_recent_change = staticmethod(_submodel_recent_change_to_jsonable) + transform_result = staticmethod(_result_to_jsonable) + transform_message = staticmethod(_message_to_jsonable) + transform_operation_request = staticmethod(_operation_request_to_jsonable) + transform_operation_request_async = staticmethod( + _operation_request_async_to_jsonable + ) + transform_operation_request_value_only = staticmethod( + _operation_request_value_only_to_jsonable + ) + transform_operation_request_async_value_only = staticmethod( + _operation_request_async_value_only_to_jsonable + ) + transform_base_operation_result = staticmethod(_base_operation_result_to_jsonable) + transform_operation_result = staticmethod(_operation_result_to_jsonable) + transform_operation_result_value_only = staticmethod( + _operation_result_value_only_to_jsonable + ) + transform_operation_handle = staticmethod(_operation_handle_to_jsonable) + transform_paged_result = staticmethod(_paged_result_to_jsonable) + transform_paging_metadata = staticmethod(_paging_metadata_to_jsonable) + transform_package_description = staticmethod(_package_description_to_jsonable) + transform_property_metadata = staticmethod(_property_metadata_to_jsonable) + transform_range_metadata = staticmethod(_range_metadata_to_jsonable) + transform_blob_metadata = staticmethod(_blob_metadata_to_jsonable) + transform_file_metadata = staticmethod(_file_metadata_to_jsonable) + transform_multi_language_property_metadata = staticmethod( + _multi_language_property_metadata_to_jsonable + ) + transform_reference_element_metadata = staticmethod( + _reference_element_metadata_to_jsonable + ) + transform_relationship_element_metadata = staticmethod( + _relationship_element_metadata_to_jsonable + ) + transform_annotated_relationship_element_metadata = staticmethod( + _annotated_relationship_element_metadata_to_jsonable + ) + transform_entity_metadata = staticmethod(_entity_metadata_to_jsonable) + transform_capability_metadata = staticmethod(_capability_metadata_to_jsonable) + transform_operation_metadata = staticmethod(_operation_metadata_to_jsonable) + transform_submodel_element_collection_metadata = staticmethod( + _submodel_element_collection_metadata_to_jsonable + ) + transform_basic_event_element_metadata = staticmethod( + _basic_event_element_metadata_to_jsonable + ) + transform_submodel_element_list_metadata = staticmethod( + _submodel_element_list_metadata_to_jsonable + ) + transform_submodel_metadata = staticmethod(_submodel_metadata_to_jsonable) + transform_asset_administration_shell_metadata = staticmethod( + _asset_administration_shell_metadata_to_jsonable + ) + transform_reference_element_value = staticmethod( + _reference_element_value_to_jsonable + ) + transform_blob_value = staticmethod(_blob_value_to_jsonable) + transform_file_value = staticmethod(_file_value_to_jsonable) + transform_range_value = staticmethod(_range_value_to_jsonable) + transform_relationship_element_value = staticmethod( + _relationship_element_value_to_jsonable + ) + transform_basic_event_element_value = staticmethod( + _basic_event_element_value_to_jsonable + ) + transform_annotated_relationship_element_value = staticmethod( + _annotated_relationship_element_value_to_jsonable + ) + transform_entity_value = staticmethod(_entity_value_to_jsonable) + transform_get_asset_administration_shells_result = staticmethod( + _get_asset_administration_shells_result_to_jsonable + ) + transform_get_asset_administration_shells_metadata_result = staticmethod( + _get_asset_administration_shells_metadata_result_to_jsonable + ) + transform_get_all_asset_administration_shells_recent_changes_result = staticmethod( + _get_all_asset_administration_shells_recent_changes_result_to_jsonable + ) + transform_get_asset_administration_shell_descriptors_result = staticmethod( + _get_asset_administration_shell_descriptors_result_to_jsonable + ) + transform_get_concept_descriptions_result = staticmethod( + _get_concept_descriptions_result_to_jsonable + ) + transform_get_all_concept_descriptions_recent_changes_result = staticmethod( + _get_all_concept_descriptions_recent_changes_result_to_jsonable + ) + transform_get_package_descriptions_result = staticmethod( + _get_package_descriptions_result_to_jsonable + ) + transform_get_path_items_result = staticmethod(_get_path_items_result_to_jsonable) + transform_get_references_result = staticmethod(_get_references_result_to_jsonable) + transform_get_submodel_descriptors_result = staticmethod( + _get_submodel_descriptors_result_to_jsonable + ) + transform_get_submodel_elements_metadata_result = staticmethod( + _get_submodel_elements_metadata_result_to_jsonable + ) + transform_get_submodel_elements_result = staticmethod( + _get_submodel_elements_result_to_jsonable + ) + transform_get_submodel_elements_value_result = staticmethod( + _get_submodel_elements_value_result_to_jsonable + ) + transform_get_all_submodels_recent_changes_result = staticmethod( + _get_all_submodels_recent_changes_result_to_jsonable + ) + transform_get_submodels_metadata_result = staticmethod( + _get_submodels_metadata_result_to_jsonable + ) + transform_get_submodels_result = staticmethod(_get_submodels_result_to_jsonable) + transform_get_submodels_value_result = staticmethod( + _get_submodels_value_result_to_jsonable + ) + transform_claim_attribute = staticmethod(_claim_attribute_to_jsonable) + transform_global_attribute = staticmethod(_global_attribute_to_jsonable) + transform_reference_attribute = staticmethod(_reference_attribute_to_jsonable) + transform_date_time_attribute_item = staticmethod( + _date_time_attribute_item_to_jsonable + ) + transform_field_operand = staticmethod(_field_operand_to_jsonable) + transform_string_literal = staticmethod(_string_literal_to_jsonable) + transform_attribute_operand = staticmethod(_attribute_operand_to_jsonable) + transform_number_literal = staticmethod(_number_literal_to_jsonable) + transform_hex_literal = staticmethod(_hex_literal_to_jsonable) + transform_date_time_literal = staticmethod(_date_time_literal_to_jsonable) + transform_time_literal = staticmethod(_time_literal_to_jsonable) + transform_boolean_literal = staticmethod(_boolean_literal_to_jsonable) + transform_string_cast = staticmethod(_string_cast_to_jsonable) + transform_number_cast = staticmethod(_number_cast_to_jsonable) + transform_hex_cast = staticmethod(_hex_cast_to_jsonable) + transform_boolean_cast = staticmethod(_boolean_cast_to_jsonable) + transform_date_time_cast = staticmethod(_date_time_cast_to_jsonable) + transform_time_cast = staticmethod(_time_cast_to_jsonable) + transform_day_of_week = staticmethod(_day_of_week_to_jsonable) + transform_day_of_month = staticmethod(_day_of_month_to_jsonable) + transform_month = staticmethod(_month_to_jsonable) + transform_year = staticmethod(_year_to_jsonable) + transform_date_time_attribute_operand = staticmethod( + _date_time_attribute_operand_to_jsonable + ) + transform_equal_comparison = staticmethod(_equal_comparison_to_jsonable) + transform_not_equal_comparison = staticmethod(_not_equal_comparison_to_jsonable) + transform_greater_than_comparison = staticmethod( + _greater_than_comparison_to_jsonable + ) + transform_greater_than_or_equal_comparison = staticmethod( + _greater_than_or_equal_comparison_to_jsonable + ) + transform_less_than_comparison = staticmethod(_less_than_comparison_to_jsonable) + transform_less_than_or_equal_comparison = staticmethod( + _less_than_or_equal_comparison_to_jsonable + ) + transform_contains_comparison = staticmethod(_contains_comparison_to_jsonable) + transform_starts_with_comparison = staticmethod(_starts_with_comparison_to_jsonable) + transform_ends_with_comparison = staticmethod(_ends_with_comparison_to_jsonable) + transform_regex_comparison = staticmethod(_regex_comparison_to_jsonable) + transform_match_clause = staticmethod(_match_clause_to_jsonable) + transform_and_expression = staticmethod(_and_expression_to_jsonable) + transform_or_expression = staticmethod(_or_expression_to_jsonable) + transform_not_expression = staticmethod(_not_expression_to_jsonable) + transform_query_filter = staticmethod(_query_filter_to_jsonable) + transform_query = staticmethod(_query_to_jsonable) + + +_SERIALIZER = _Serializer() + + +def to_jsonable(that: our_types.Class) -> MutableJsonable: + """ + Convert :paramref:`that` to a JSON-able structure. + + :param that: + Model instance to be recursively converted to a JSON-able structure + :return: + JSON-able structure which can be further encoded with, *e.g.*, :py:mod:`json` + :raise: + :py:class:`SerializationException` if :paramref:`that` contains a number + which JSON can not represent + """ + return that.transform(_SERIALIZER) + + +# endregion + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/aas_core3_2/jsonvalueverification.py b/aas_core3_2/jsonvalueverification.py new file mode 100644 index 0000000..e8d2b6e --- /dev/null +++ b/aas_core3_2/jsonvalueverification.py @@ -0,0 +1,140 @@ +""" +Verify that a value is JSON-able. + +A JSON-able value is, recursively, exactly as JSON itself is defined: +a boolean, a finite number, a string, an array of JSON-able values or +an object of JSON-able values with string keys. Python offers no type which +says exactly that, so a value has to be walked to make sure of it. + +This module depends on no class of the meta-model. It is invoked from +the ordinary per-class dispatch of +:py:mod:`aas_core3_2.verification`, exactly as every other kind +of property is -- save for the keys of a ``JSONObject`` with a constrained +primitive as its key, which the verification checks itself, by reusing +the function it already generated for that constrained primitive. +""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import collections.abc +import math +from typing import Iterator + +import aas_core3_2.common as our_common +import aas_core3_2.types as our_types +from aas_core3_2.reporting import Error, IndexSegment, KeySegment + + +def verify_json_value(value: our_types.JsonValue) -> Iterator[Error]: + """ + Verify that :paramref:`value` is a JSON-able value, at any depth. + + The path of an error points into :paramref:`value` itself: an item of + an array contributes an index segment and a member of an object a key + segment, so that the path leads all the way down to the culprit. + + The value is walked depth first, so an error deep inside the first member + is reported before an error on the second one. The errors thus come in + the order in which a reader meets them going through the value. + + :param value: to be verified + :yield: errors, if any + """ + # NOTE (mristin): + # A ``bool`` is an ``int`` in Python, so it has to be checked first -- + # otherwise every boolean would be taken for a number. + if isinstance(value, bool): + return + + if isinstance(value, int): + # NOTE (mristin): + # JSON knows a single numeric type, so an ``int`` becomes a ``float`` + # on the way out. Only an ``int`` which that conversion can not carry + # exactly is an error here -- see + # :py:func:`.common.try_to_convert_int_to_float`. + if our_common.try_to_convert_int_to_float(value) is None: + yield Error( + f"Expected a JSON-able value, but got the integer {value}, " + f"which is not exactly representable as a JSON number" + ) + + return + + if isinstance(value, float): + # NOTE (mristin): + # JSON knows neither an infinity nor a not-a-number, so neither is + # a JSON-able value, even though a Python ``float`` is happy to hold + # either. + if not math.isfinite(value): + yield Error( + f"Expected a JSON-able value, but got the number {value}, " + f"which is neither finite nor representable in JSON" + ) + + return + + if isinstance(value, str): + return + + if isinstance(value, (dict, collections.abc.Mapping)): + for key, item_value in value.items(): + if not isinstance(key, str): + # NOTE (mristin): + # There is no key segment to report here: a key which is no + # string names nothing which the path could descend into, so + # the path stops at the object which holds it. + yield Error( + f"Expected only string keys in a JSON-able object, but got " + f"a key of type: {type(key)}" + ) + continue + + for error in verify_json_value(item_value): + error.path._prepend(KeySegment(value, key)) + yield error + + return + + array_like = our_common.try_to_cast_to_array_like(value) + if array_like is not None: + for i, item_value in enumerate(array_like): + for error in verify_json_value(item_value): + error.path._prepend(IndexSegment(array_like, i)) + yield error + + return + + yield Error( + f"Expected a JSON-able value (a boolean, a number, a string, an array " + f"or an object), but got: {type(value)}" + ) + + +def verify_json_array(value: our_types.JsonArray) -> Iterator[Error]: + """ + Verify that :paramref:`value` is a JSON-able array. + + :param value: to be verified + :yield: errors, if any + """ + if our_common.try_to_cast_to_array_like(value) is None: + yield Error(f"Expected a JSON-able array, but got: {type(value)}") + return + + yield from verify_json_value(value) + + +def verify_json_object(value: our_types.JsonObject) -> Iterator[Error]: + """ + Verify that :paramref:`value` is a JSON-able object. + + :param value: to be verified + :yield: errors, if any + """ + if not isinstance(value, (dict, collections.abc.Mapping)): + yield Error(f"Expected a JSON-able object, but got: {type(value)}") + return + + yield from verify_json_value(value) diff --git a/aas_core3_2/py.typed b/aas_core3_2/py.typed new file mode 100644 index 0000000..479815b --- /dev/null +++ b/aas_core3_2/py.typed @@ -0,0 +1 @@ +# Marker file for PEP 561. The mypy package uses inline types. diff --git a/aas_core3_2/reporting.py b/aas_core3_2/reporting.py new file mode 100644 index 0000000..ce085c6 --- /dev/null +++ b/aas_core3_2/reporting.py @@ -0,0 +1,171 @@ +""" +Report where in the data an error lies. + +A path is a sequence of segments which lead from the instance you handed over +down to the erroneous value. It renders as a Python access expression, so that +you can paste it as it stands: + +.. code-block:: + + .things[1].labels[0] + +The vocabulary lives on its own so that +:py:mod:`aas_core3_2.verification`, and the verification of +a JSON-able value where the meta-model has one, report with the very same +classes. +""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import collections +import json +import sys +from typing import Any, Deque, Mapping, Sequence, Union + +if sys.version_info >= (3, 8): + from typing import Final +else: + from typing_extensions import Final + +import aas_core3_2.types as our_types + +# NOTE (mristin): +# The SDK defines three of these path vocabularies: this one, the one in +# :py:mod:`aas_core3_2.jsonization`, and the one in +# :py:mod:`aas_core3_2.xmlcommon`. +# They look alike, and it is tempting to merge them, but they are not +# interchangeable. +# +# Each of them points into a different thing, and every segment carries +# a back-pointer to the container it stepped through, so the type of that +# back-pointer differs from one to the next: +# +# * This one points into the instances which you built, so a property +# segment holds a class of the meta-model. +# * The jsonization's points into the JSON-able structure being read or +# written, so a property segment holds the JSON-able mapping instead: +# while a document is being parsed, the instance which the property would +# belong to does not exist yet. +# * The xmlcommon's points into the XML document, where there are no +# properties at all, only elements, so it names an element instead. +# +# The three also render differently: a path into the instances is a Python +# access expression, a path into a JSON-able structure starts at the root of +# the document and carries no leading dot, and a path into an XML document +# is a relative XPath. +# +# Merging them would mean either dropping the back-pointers, which have been +# part of the public API of this SDK since before these modules were split +# apart, or defining a single path over the union of all the segment kinds -- +# in which case every consumer would have to handle segments which can never +# occur in its world. Three small vocabularies which each say exactly what +# they can say cost less than one large one which lies about its range. + + +class PropertySegment: + """Represent a property access on a path to an erroneous value.""" + + #: Instance containing the property + instance: Final[our_types.Class] + + #: Name of the property + name: Final[str] + + def __init__(self, instance: our_types.Class, name: str) -> None: + """Initialize with the given values.""" + self.instance = instance + self.name = name + + def __str__(self) -> str: + return f".{self.name}" + + +class IndexSegment: + """Represent an index access on a path to an erroneous value.""" + + #: Sequence containing the item at :py:attr:`~index` + sequence: Final[Sequence[Any]] + + #: Index of the item + index: Final[int] + + def __init__(self, sequence: Sequence[Any], index: int) -> None: + """Initialize with the given values.""" + self.sequence = sequence + self.index = index + + def __str__(self) -> str: + return f"[{self.index}]" + + +class KeySegment: + """ + Represent a member access on a path to an erroneous value. + + Unlike a :py:class:`PropertySegment`, which names a property of one of our + classes, a key names a member of an open JSON-able object. It is known only + at run time, and can be any string at all, so it is always rendered + as a subscript. + """ + + #: Mapping containing the value at :py:attr:`~key` + mapping: Final[Mapping[str, Any]] + + #: Key of the value + key: Final[str] + + def __init__(self, mapping: Mapping[str, Any], key: str) -> None: + """Initialize with the given values.""" + self.mapping = mapping + self.key = key + + def __str__(self) -> str: + return f"[{json.dumps(self.key, ensure_ascii=False)}]" + + +Segment = Union[PropertySegment, IndexSegment, KeySegment] + + +class Path: + """Represent the relative path to the erroneous value.""" + + def __init__(self) -> None: + """Initialize as an empty path.""" + # NOTE (mristin): + # A path is built as the stack unwinds, so every segment is prepended and + # none is ever appended. A list would copy the whole path on each of them, + # which makes a path of depth *d* cost *d^2* to build, while a deque + # prepends in constant time. + self._segments: Deque[Segment] = collections.deque() + + @property + def segments(self) -> Sequence[Segment]: + """Get the segments of the path.""" + return self._segments + + def _prepend(self, segment: Segment) -> None: + """Insert the :paramref:`segment` in front of other segments.""" + self._segments.appendleft(segment) + + def __str__(self) -> str: + return "".join(str(segment) for segment in self._segments) + + +class Error: + """Represent a verification error in the data.""" + + #: Human-readable description of the error + cause: Final[str] + + #: Path to the erroneous value + path: Final[Path] + + def __init__(self, cause: str) -> None: + """Initialize as an error with an empty path.""" + self.cause = cause + self.path = Path() + + def __repr__(self) -> str: + return f"Error(path={self.path}, cause={self.cause})" diff --git a/aas_core3_2/stringification.py b/aas_core3_2/stringification.py new file mode 100644 index 0000000..15c4d9e --- /dev/null +++ b/aas_core3_2/stringification.py @@ -0,0 +1,718 @@ +"""De-serialize enumerations from string representations.""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +from typing import ( + Mapping, + Optional, +) + +import aas_core3_2.types as our_types + +_MODELLING_KIND_FROM_STR: Mapping[str, our_types.ModellingKind] = { + "Template": our_types.ModellingKind.TEMPLATE, + "Instance": our_types.ModellingKind.INSTANCE, +} + + +def modelling_kind_from_str(text: str) -> Optional[our_types.ModellingKind]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.ModellingKind`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.ModellingKind`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.ModellingKind` + or ``None``, if :paramref:`text` invalid. + """ + return _MODELLING_KIND_FROM_STR.get(text) + + +_QUALIFIER_KIND_FROM_STR: Mapping[str, our_types.QualifierKind] = { + "ValueQualifier": our_types.QualifierKind.VALUE_QUALIFIER, + "ConceptQualifier": our_types.QualifierKind.CONCEPT_QUALIFIER, + "TemplateQualifier": our_types.QualifierKind.TEMPLATE_QUALIFIER, +} + + +def qualifier_kind_from_str(text: str) -> Optional[our_types.QualifierKind]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.QualifierKind`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.QualifierKind`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.QualifierKind` + or ``None``, if :paramref:`text` invalid. + """ + return _QUALIFIER_KIND_FROM_STR.get(text) + + +_ASSET_KIND_FROM_STR: Mapping[str, our_types.AssetKind] = { + "Type": our_types.AssetKind.TYPE, + "Instance": our_types.AssetKind.INSTANCE, + "Batch": our_types.AssetKind.BATCH, + "Role": our_types.AssetKind.ROLE, + "NotApplicable": our_types.AssetKind.NOT_APPLICABLE, +} + + +def asset_kind_from_str(text: str) -> Optional[our_types.AssetKind]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.AssetKind`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.AssetKind`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.AssetKind` + or ``None``, if :paramref:`text` invalid. + """ + return _ASSET_KIND_FROM_STR.get(text) + + +_AAS_SUBMODEL_ELEMENTS_FROM_STR: Mapping[str, our_types.AASSubmodelElements] = { + "AnnotatedRelationshipElement": our_types.AASSubmodelElements.ANNOTATED_RELATIONSHIP_ELEMENT, + "BasicEventElement": our_types.AASSubmodelElements.BASIC_EVENT_ELEMENT, + "Blob": our_types.AASSubmodelElements.BLOB, + "Capability": our_types.AASSubmodelElements.CAPABILITY, + "DataElement": our_types.AASSubmodelElements.DATA_ELEMENT, + "Entity": our_types.AASSubmodelElements.ENTITY, + "EventElement": our_types.AASSubmodelElements.EVENT_ELEMENT, + "File": our_types.AASSubmodelElements.FILE, + "MultiLanguageProperty": our_types.AASSubmodelElements.MULTI_LANGUAGE_PROPERTY, + "Operation": our_types.AASSubmodelElements.OPERATION, + "Property": our_types.AASSubmodelElements.PROPERTY, + "Range": our_types.AASSubmodelElements.RANGE, + "ReferenceElement": our_types.AASSubmodelElements.REFERENCE_ELEMENT, + "RelationshipElement": our_types.AASSubmodelElements.RELATIONSHIP_ELEMENT, + "SubmodelElement": our_types.AASSubmodelElements.SUBMODEL_ELEMENT, + "SubmodelElementList": our_types.AASSubmodelElements.SUBMODEL_ELEMENT_LIST, + "SubmodelElementCollection": our_types.AASSubmodelElements.SUBMODEL_ELEMENT_COLLECTION, +} + + +def aas_submodel_elements_from_str( + text: str, +) -> Optional[our_types.AASSubmodelElements]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.AASSubmodelElements`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.AASSubmodelElements`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.AASSubmodelElements` + or ``None``, if :paramref:`text` invalid. + """ + return _AAS_SUBMODEL_ELEMENTS_FROM_STR.get(text) + + +_ENTITY_TYPE_FROM_STR: Mapping[str, our_types.EntityType] = { + "CoManagedEntity": our_types.EntityType.CO_MANAGED_ENTITY, + "SelfManagedEntity": our_types.EntityType.SELF_MANAGED_ENTITY, +} + + +def entity_type_from_str(text: str) -> Optional[our_types.EntityType]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.EntityType`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.EntityType`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.EntityType` + or ``None``, if :paramref:`text` invalid. + """ + return _ENTITY_TYPE_FROM_STR.get(text) + + +_DIRECTION_FROM_STR: Mapping[str, our_types.Direction] = { + "input": our_types.Direction.INPUT, + "output": our_types.Direction.OUTPUT, +} + + +def direction_from_str(text: str) -> Optional[our_types.Direction]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.Direction`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.Direction`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.Direction` + or ``None``, if :paramref:`text` invalid. + """ + return _DIRECTION_FROM_STR.get(text) + + +_STATE_OF_EVENT_FROM_STR: Mapping[str, our_types.StateOfEvent] = { + "on": our_types.StateOfEvent.ON, + "off": our_types.StateOfEvent.OFF, +} + + +def state_of_event_from_str(text: str) -> Optional[our_types.StateOfEvent]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.StateOfEvent`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.StateOfEvent`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.StateOfEvent` + or ``None``, if :paramref:`text` invalid. + """ + return _STATE_OF_EVENT_FROM_STR.get(text) + + +_REFERENCE_TYPES_FROM_STR: Mapping[str, our_types.ReferenceTypes] = { + "ExternalReference": our_types.ReferenceTypes.EXTERNAL_REFERENCE, + "ModelReference": our_types.ReferenceTypes.MODEL_REFERENCE, +} + + +def reference_types_from_str(text: str) -> Optional[our_types.ReferenceTypes]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.ReferenceTypes`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.ReferenceTypes`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.ReferenceTypes` + or ``None``, if :paramref:`text` invalid. + """ + return _REFERENCE_TYPES_FROM_STR.get(text) + + +_KEY_TYPES_FROM_STR: Mapping[str, our_types.KeyTypes] = { + "AnnotatedRelationshipElement": our_types.KeyTypes.ANNOTATED_RELATIONSHIP_ELEMENT, + "AssetAdministrationShell": our_types.KeyTypes.ASSET_ADMINISTRATION_SHELL, + "BasicEventElement": our_types.KeyTypes.BASIC_EVENT_ELEMENT, + "Blob": our_types.KeyTypes.BLOB, + "Capability": our_types.KeyTypes.CAPABILITY, + "ConceptDescription": our_types.KeyTypes.CONCEPT_DESCRIPTION, + "DataElement": our_types.KeyTypes.DATA_ELEMENT, + "Entity": our_types.KeyTypes.ENTITY, + "EventElement": our_types.KeyTypes.EVENT_ELEMENT, + "File": our_types.KeyTypes.FILE, + "FragmentReference": our_types.KeyTypes.FRAGMENT_REFERENCE, + "GlobalReference": our_types.KeyTypes.GLOBAL_REFERENCE, + "Identifiable": our_types.KeyTypes.IDENTIFIABLE, + "MultiLanguageProperty": our_types.KeyTypes.MULTI_LANGUAGE_PROPERTY, + "Operation": our_types.KeyTypes.OPERATION, + "Property": our_types.KeyTypes.PROPERTY, + "Range": our_types.KeyTypes.RANGE, + "Referable": our_types.KeyTypes.REFERABLE, + "ReferenceElement": our_types.KeyTypes.REFERENCE_ELEMENT, + "RelationshipElement": our_types.KeyTypes.RELATIONSHIP_ELEMENT, + "Submodel": our_types.KeyTypes.SUBMODEL, + "SubmodelElement": our_types.KeyTypes.SUBMODEL_ELEMENT, + "SubmodelElementCollection": our_types.KeyTypes.SUBMODEL_ELEMENT_COLLECTION, + "SubmodelElementList": our_types.KeyTypes.SUBMODEL_ELEMENT_LIST, +} + + +def key_types_from_str(text: str) -> Optional[our_types.KeyTypes]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.KeyTypes`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.KeyTypes`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.KeyTypes` + or ``None``, if :paramref:`text` invalid. + """ + return _KEY_TYPES_FROM_STR.get(text) + + +_DATA_TYPE_DEF_XSD_FROM_STR: Mapping[str, our_types.DataTypeDefXSD] = { + "xs:anyURI": our_types.DataTypeDefXSD.ANY_URI, + "xs:base64Binary": our_types.DataTypeDefXSD.BASE_64_BINARY, + "xs:boolean": our_types.DataTypeDefXSD.BOOLEAN, + "xs:byte": our_types.DataTypeDefXSD.BYTE, + "xs:date": our_types.DataTypeDefXSD.DATE, + "xs:dateTime": our_types.DataTypeDefXSD.DATE_TIME, + "xs:decimal": our_types.DataTypeDefXSD.DECIMAL, + "xs:double": our_types.DataTypeDefXSD.DOUBLE, + "xs:duration": our_types.DataTypeDefXSD.DURATION, + "xs:float": our_types.DataTypeDefXSD.FLOAT, + "xs:gDay": our_types.DataTypeDefXSD.G_DAY, + "xs:gMonth": our_types.DataTypeDefXSD.G_MONTH, + "xs:gMonthDay": our_types.DataTypeDefXSD.G_MONTH_DAY, + "xs:gYear": our_types.DataTypeDefXSD.G_YEAR, + "xs:gYearMonth": our_types.DataTypeDefXSD.G_YEAR_MONTH, + "xs:hexBinary": our_types.DataTypeDefXSD.HEX_BINARY, + "xs:int": our_types.DataTypeDefXSD.INT, + "xs:integer": our_types.DataTypeDefXSD.INTEGER, + "xs:long": our_types.DataTypeDefXSD.LONG, + "xs:negativeInteger": our_types.DataTypeDefXSD.NEGATIVE_INTEGER, + "xs:nonNegativeInteger": our_types.DataTypeDefXSD.NON_NEGATIVE_INTEGER, + "xs:nonPositiveInteger": our_types.DataTypeDefXSD.NON_POSITIVE_INTEGER, + "xs:positiveInteger": our_types.DataTypeDefXSD.POSITIVE_INTEGER, + "xs:short": our_types.DataTypeDefXSD.SHORT, + "xs:string": our_types.DataTypeDefXSD.STRING, + "xs:time": our_types.DataTypeDefXSD.TIME, + "xs:unsignedByte": our_types.DataTypeDefXSD.UNSIGNED_BYTE, + "xs:unsignedInt": our_types.DataTypeDefXSD.UNSIGNED_INT, + "xs:unsignedLong": our_types.DataTypeDefXSD.UNSIGNED_LONG, + "xs:unsignedShort": our_types.DataTypeDefXSD.UNSIGNED_SHORT, +} + + +def data_type_def_xsd_from_str(text: str) -> Optional[our_types.DataTypeDefXSD]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.DataTypeDefXSD`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.DataTypeDefXSD`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.DataTypeDefXSD` + or ``None``, if :paramref:`text` invalid. + """ + return _DATA_TYPE_DEF_XSD_FROM_STR.get(text) + + +_DATA_TYPE_IEC_61360_FROM_STR: Mapping[str, our_types.DataTypeIEC61360] = { + "DATE": our_types.DataTypeIEC61360.DATE, + "STRING": our_types.DataTypeIEC61360.STRING, + "STRING_TRANSLATABLE": our_types.DataTypeIEC61360.STRING_TRANSLATABLE, + "INTEGER_MEASURE": our_types.DataTypeIEC61360.INTEGER_MEASURE, + "INTEGER_COUNT": our_types.DataTypeIEC61360.INTEGER_COUNT, + "INTEGER_CURRENCY": our_types.DataTypeIEC61360.INTEGER_CURRENCY, + "REAL_MEASURE": our_types.DataTypeIEC61360.REAL_MEASURE, + "REAL_COUNT": our_types.DataTypeIEC61360.REAL_COUNT, + "REAL_CURRENCY": our_types.DataTypeIEC61360.REAL_CURRENCY, + "BOOLEAN": our_types.DataTypeIEC61360.BOOLEAN, + "IRI": our_types.DataTypeIEC61360.IRI, + "IRDI": our_types.DataTypeIEC61360.IRDI, + "RATIONAL": our_types.DataTypeIEC61360.RATIONAL, + "RATIONAL_MEASURE": our_types.DataTypeIEC61360.RATIONAL_MEASURE, + "TIME": our_types.DataTypeIEC61360.TIME, + "TIMESTAMP": our_types.DataTypeIEC61360.TIMESTAMP, + "FILE": our_types.DataTypeIEC61360.FILE, + "HTML": our_types.DataTypeIEC61360.HTML, + "BLOB": our_types.DataTypeIEC61360.BLOB, +} + + +def data_type_iec_61360_from_str(text: str) -> Optional[our_types.DataTypeIEC61360]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.DataTypeIEC61360`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.DataTypeIEC61360`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.DataTypeIEC61360` + or ``None``, if :paramref:`text` invalid. + """ + return _DATA_TYPE_IEC_61360_FROM_STR.get(text) + + +_SERIALIZATION_FORMAT_FROM_STR: Mapping[str, our_types.SerializationFormat] = { + "application/json": our_types.SerializationFormat.JSON, + "application/xml": our_types.SerializationFormat.XML, + "application/aasx+xml": our_types.SerializationFormat.AASX, +} + + +def serialization_format_from_str(text: str) -> Optional[our_types.SerializationFormat]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.SerializationFormat`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.SerializationFormat`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.SerializationFormat` + or ``None``, if :paramref:`text` invalid. + """ + return _SERIALIZATION_FORMAT_FROM_STR.get(text) + + +_SECURITY_TYPE_ENUM_FROM_STR: Mapping[str, our_types.SecurityTypeEnum] = { + "NONE": our_types.SecurityTypeEnum.NO_SECURITY, + "RFC_TLSA": our_types.SecurityTypeEnum.RFC_TLSA, + "W3C_DID": our_types.SecurityTypeEnum.W3C_DID, +} + + +def security_type_enum_from_str(text: str) -> Optional[our_types.SecurityTypeEnum]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.SecurityTypeEnum`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.SecurityTypeEnum`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.SecurityTypeEnum` + or ``None``, if :paramref:`text` invalid. + """ + return _SECURITY_TYPE_ENUM_FROM_STR.get(text) + + +_SERVICE_SPECIFICATION_PROFILE_ENUM_FROM_STR: Mapping[ + str, our_types.ServiceSpecificationProfileEnum +] = { + "https://admin-shell.io/aas/API/3/0/AssetAdministrationShellServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.AAS_SERVICE_SPECIFICATION_SSP_001_V3_0, + "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.AAS_SERVICE_SPECIFICATION_SSP_001_V3_1, + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.AAS_SERVICE_SPECIFICATION_SSP_001_V3_2, + "https://admin-shell.io/aas/API/3/0/AssetAdministrationShellServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.AAS_SERVICE_SPECIFICATION_SSP_002_V3_0, + "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.AAS_SERVICE_SPECIFICATION_SSP_002_V3_1, + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.AAS_SERVICE_SPECIFICATION_SSP_002_V3_2, + "https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.SUBMODEL_SERVICE_SPECIFICATION_SSP_001_V3_0, + "https://admin-shell.io/aas/API/3/1/SubmodelServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.SUBMODEL_SERVICE_SPECIFICATION_SSP_001_V3_1, + "https://admin-shell.io/aas/API/3/2/SubmodelServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.SUBMODEL_SERVICE_SPECIFICATION_SSP_001_V3_2, + "https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.SUBMODEL_SERVICE_SPECIFICATION_SSP_002_V3_0, + "https://admin-shell.io/aas/API/3/1/SubmodelServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.SUBMODEL_SERVICE_SPECIFICATION_SSP_002_V3_1, + "https://admin-shell.io/aas/API/3/2/SubmodelServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.SUBMODEL_SERVICE_SPECIFICATION_SSP_002_V3_2, + "https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-003": our_types.ServiceSpecificationProfileEnum.SUBMODEL_SERVICE_SPECIFICATION_SSP_003_V3_0, + "https://admin-shell.io/aas/API/3/1/SubmodelServiceSpecification/SSP-003": our_types.ServiceSpecificationProfileEnum.SUBMODEL_SERVICE_SPECIFICATION_SSP_003_V3_1, + "https://admin-shell.io/aas/API/3/2/SubmodelServiceSpecification/SSP-003": our_types.ServiceSpecificationProfileEnum.SUBMODEL_SERVICE_SPECIFICATION_SSP_003_V3_2, + "https://admin-shell.io/aas/API/3/0/AasxFileServerServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.AASX_FILE_SERVER_SERVICE_SPECIFICATION_SSP_001_V3_0, + "https://admin-shell.io/aas/API/3/1/AasxFileServerServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.AASX_FILE_SERVER_SERVICE_SPECIFICATION_SSP_001_V3_1, + "https://admin-shell.io/aas/API/3/2/AasxFileServerServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.AASX_FILE_SERVER_SERVICE_SPECIFICATION_SSP_001_V3_2, + "https://admin-shell.io/aas/API/3/1/AasxFileServerServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.AASX_FILE_SERVER_SERVICE_SPECIFICATION_SSP_002_V3_1, + "https://admin-shell.io/aas/API/3/2/AasxFileServerServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.AASX_FILE_SERVER_SERVICE_SPECIFICATION_SSP_002_V3_2, + "https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRegistryServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_001_V3_0, + "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRegistryServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_001_V3_1, + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRegistryServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_001_V3_2, + "https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRegistryServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_002_V3_0, + "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRegistryServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_002_V3_1, + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRegistryServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_002_V3_2, + "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRegistryServiceSpecification/SSP-003": our_types.ServiceSpecificationProfileEnum.AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_003_V3_1, + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRegistryServiceSpecification/SSP-003": our_types.ServiceSpecificationProfileEnum.AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_003_V3_2, + "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRegistryServiceSpecification/SSP-004": our_types.ServiceSpecificationProfileEnum.AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_004_V3_1, + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRegistryServiceSpecification/SSP-004": our_types.ServiceSpecificationProfileEnum.AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_004_V3_2, + "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRegistryServiceSpecification/SSP-005": our_types.ServiceSpecificationProfileEnum.AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_005_V3_1, + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRegistryServiceSpecification/SSP-005": our_types.ServiceSpecificationProfileEnum.AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_005_V3_2, + "https://admin-shell.io/aas/API/3/0/SubmodelRegistryServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REGISTRY_SERVICE_SPECIFICATION_SSP_001_V3_0, + "https://admin-shell.io/aas/API/3/1/SubmodelRegistryServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REGISTRY_SERVICE_SPECIFICATION_SSP_001_V3_1, + "https://admin-shell.io/aas/API/3/2/SubmodelRegistryServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REGISTRY_SERVICE_SPECIFICATION_SSP_001_V3_2, + "https://admin-shell.io/aas/API/3/0/SubmodelRegistryServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REGISTRY_SERVICE_SPECIFICATION_SSP_002_V3_0, + "https://admin-shell.io/aas/API/3/1/SubmodelRegistryServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REGISTRY_SERVICE_SPECIFICATION_SSP_002_V3_1, + "https://admin-shell.io/aas/API/3/2/SubmodelRegistryServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REGISTRY_SERVICE_SPECIFICATION_SSP_002_V3_2, + "https://admin-shell.io/aas/API/3/1/SubmodelRegistryServiceSpecification/SSP-003": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REGISTRY_SERVICE_SPECIFICATION_SSP_003_V3_1, + "https://admin-shell.io/aas/API/3/2/SubmodelRegistryServiceSpecification/SSP-003": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REGISTRY_SERVICE_SPECIFICATION_SSP_003_V3_2, + "https://admin-shell.io/aas/API/3/1/SubmodelRegistryServiceSpecification/SSP-004": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REGISTRY_SERVICE_SPECIFICATION_SSP_004_V3_1, + "https://admin-shell.io/aas/API/3/2/SubmodelRegistryServiceSpecification/SSP-004": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REGISTRY_SERVICE_SPECIFICATION_SSP_004_V3_2, + "https://admin-shell.io/aas/API/3/0/DiscoveryServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.DISCOVERY_SERVICE_SPECIFICATION_SSP_001_V3_0, + "https://admin-shell.io/aas/API/3/1/DiscoveryServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.DISCOVERY_SERVICE_SPECIFICATION_SSP_001_V3_1, + "https://admin-shell.io/aas/API/3/2/DiscoveryServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.DISCOVERY_SERVICE_SPECIFICATION_SSP_001_V3_2, + "https://admin-shell.io/aas/API/3/2/DiscoveryServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.DISCOVERY_SERVICE_SPECIFICATION_SSP_002_V3_2, + "https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRepositoryServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.AAS_REPOSITORY_SERVICE_SPECIFICATION_SSP_001_V3_0, + "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRepositoryServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.AAS_REPOSITORY_SERVICE_SPECIFICATION_SSP_001_V3_1, + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRepositoryServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.AAS_REPOSITORY_SERVICE_SPECIFICATION_SSP_001_V3_2, + "https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRepositoryServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.AAS_REPOSITORY_SERVICE_SPECIFICATION_SSP_002_V3_0, + "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRepositoryServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.AAS_REPOSITORY_SERVICE_SPECIFICATION_SSP_002_V3_1, + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRepositoryServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.AAS_REPOSITORY_SERVICE_SPECIFICATION_SSP_002_V3_2, + "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRepositoryServiceSpecification/SSP-003": our_types.ServiceSpecificationProfileEnum.AAS_REPOSITORY_SERVICE_SPECIFICATION_SSP_003_V3_1, + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRepositoryServiceSpecification/SSP-003": our_types.ServiceSpecificationProfileEnum.AAS_REPOSITORY_SERVICE_SPECIFICATION_SSP_003_V3_2, + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRepositoryServiceSpecification/SSP-004": our_types.ServiceSpecificationProfileEnum.AAS_REPOSITORY_SERVICE_SPECIFICATION_SSP_004_V3_2, + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRepositoryServiceSpecification/SSP-005": our_types.ServiceSpecificationProfileEnum.AAS_REPOSITORY_SERVICE_SPECIFICATION_SSP_005_V3_2, + "https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_001_V3_0, + "https://admin-shell.io/aas/API/3/1/SubmodelRepositoryServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_001_V3_1, + "https://admin-shell.io/aas/API/3/2/SubmodelRepositoryServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_001_V3_2, + "https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_002_V3_0, + "https://admin-shell.io/aas/API/3/1/SubmodelRepositoryServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_002_V3_1, + "https://admin-shell.io/aas/API/3/2/SubmodelRepositoryServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_002_V3_2, + "https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-003": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_003_V3_0, + "https://admin-shell.io/aas/API/3/1/SubmodelRepositoryServiceSpecification/SSP-003": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_003_V3_1, + "https://admin-shell.io/aas/API/3/2/SubmodelRepositoryServiceSpecification/SSP-003": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_003_V3_2, + "https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-004": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_004_V3_0, + "https://admin-shell.io/aas/API/3/1/SubmodelRepositoryServiceSpecification/SSP-004": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_004_V3_1, + "https://admin-shell.io/aas/API/3/2/SubmodelRepositoryServiceSpecification/SSP-004": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_004_V3_2, + "https://admin-shell.io/aas/API/3/1/SubmodelRepositoryServiceSpecification/SSP-005": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_005_V3_1, + "https://admin-shell.io/aas/API/3/2/SubmodelRepositoryServiceSpecification/SSP-005": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_005_V3_2, + "https://admin-shell.io/aas/API/3/2/SubmodelRepositoryServiceSpecification/SSP-006": our_types.ServiceSpecificationProfileEnum.SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_006_V3_2, + "https://admin-shell.io/aas/API/3/0/ConceptDescriptionRepositoryServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.CONCEPT_DESCRIPTION_REPOSITORY_SERVICE_SPECIFICATION_SSP_001_V3_0, + "https://admin-shell.io/aas/API/3/1/ConceptDescriptionRepositoryServiceSpecification/SSP-001": our_types.ServiceSpecificationProfileEnum.CONCEPT_DESCRIPTION_REPOSITORY_SERVICE_SPECIFICATION_SSP_001_V3_1, + "https://admin-shell.io/aas/API/3/2/ConceptDescriptionRepositoryServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.CONCEPT_DESCRIPTION_REPOSITORY_SERVICE_SPECIFICATION_SSP_002_V3_2, + "https://admin-shell.io/aas/API/3/1/ConceptDescriptionRepositoryServiceSpecification/SSP-002": our_types.ServiceSpecificationProfileEnum.CONCEPT_DESCRIPTION_REPOSITORY_SERVICE_SPECIFICATION_SSP_002_V3_1, + "https://admin-shell.io/aas/API/3/2/ConceptDescriptionRepositoryServiceSpecification/SSP-003": our_types.ServiceSpecificationProfileEnum.CONCEPT_DESCRIPTION_REPOSITORY_SERVICE_SPECIFICATION_SSP_003_V3_2, +} + + +def service_specification_profile_enum_from_str( + text: str, +) -> Optional[our_types.ServiceSpecificationProfileEnum]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.ServiceSpecificationProfileEnum`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.ServiceSpecificationProfileEnum`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.ServiceSpecificationProfileEnum` + or ``None``, if :paramref:`text` invalid. + """ + return _SERVICE_SPECIFICATION_PROFILE_ENUM_FROM_STR.get(text) + + +_STATUS_CODE_FROM_STR: Mapping[str, our_types.StatusCode] = { + "Success": our_types.StatusCode.SUCCESS, + "SuccessCreated": our_types.StatusCode.SUCCESS_CREATED, + "SuccessAccepted": our_types.StatusCode.SUCCESS_ACCEPTED, + "SuccessNoContent": our_types.StatusCode.SUCCESS_NO_CONTENT, + "ClientErrorBadRequest": our_types.StatusCode.CLIENT_ERROR_BAD_REQUEST, + "ClientNotAuthorized": our_types.StatusCode.CLIENT_NOT_AUTHORIZED, + "ClientForbidden": our_types.StatusCode.CLIENT_FORBIDDEN, + "ClientMethodNotAllowed": our_types.StatusCode.CLIENT_METHOD_NOT_ALLOWED, + "ClientErrorResourceNotFound": our_types.StatusCode.CLIENT_ERROR_RESOURCE_NOT_FOUND, + "ClientResourceConflict": our_types.StatusCode.CLIENT_RESOURCE_CONFLICT, + "ServerInternalError": our_types.StatusCode.SERVER_INTERNAL_ERROR, + "ServerNotImplemented": our_types.StatusCode.SERVER_NOT_IMPLEMENTED, + "ServerErrorBadGateway": our_types.StatusCode.SERVER_ERROR_BAD_GATEWAY, +} + + +def status_code_from_str(text: str) -> Optional[our_types.StatusCode]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.StatusCode`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.StatusCode`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.StatusCode` + or ``None``, if :paramref:`text` invalid. + """ + return _STATUS_CODE_FROM_STR.get(text) + + +_MESSAGE_TYPE_ENUM_FROM_STR: Mapping[str, our_types.MessageTypeEnum] = { + "Undefined": our_types.MessageTypeEnum.UNDEFINED, + "Info": our_types.MessageTypeEnum.INFO, + "Warning": our_types.MessageTypeEnum.WARNING, + "Error": our_types.MessageTypeEnum.ERROR, + "Exception": our_types.MessageTypeEnum.EXCEPTION, +} + + +def message_type_enum_from_str(text: str) -> Optional[our_types.MessageTypeEnum]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.MessageTypeEnum`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.MessageTypeEnum`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.MessageTypeEnum` + or ``None``, if :paramref:`text` invalid. + """ + return _MESSAGE_TYPE_ENUM_FROM_STR.get(text) + + +_EXECUTION_STATE_FROM_STR: Mapping[str, our_types.ExecutionState] = { + "Initiated": our_types.ExecutionState.INITIATED, + "Running": our_types.ExecutionState.RUNNING, + "Completed": our_types.ExecutionState.COMPLETED, + "Canceled": our_types.ExecutionState.CANCELED, + "Failed": our_types.ExecutionState.FAILED, + "Timeout": our_types.ExecutionState.TIMEOUT, +} + + +def execution_state_from_str(text: str) -> Optional[our_types.ExecutionState]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.ExecutionState`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.ExecutionState`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.ExecutionState` + or ``None``, if :paramref:`text` invalid. + """ + return _EXECUTION_STATE_FROM_STR.get(text) + + +_LEVEL_FROM_STR: Mapping[str, our_types.Level] = { + "Deep": our_types.Level.DEEP, + "Core": our_types.Level.CORE, +} + + +def level_from_str(text: str) -> Optional[our_types.Level]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.Level`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.Level`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.Level` + or ``None``, if :paramref:`text` invalid. + """ + return _LEVEL_FROM_STR.get(text) + + +_CONTENT_FROM_STR: Mapping[str, our_types.Content] = { + "Normal": our_types.Content.NORMAL, + "Metadata": our_types.Content.METADATA, + "Value": our_types.Content.VALUE, + "Reference": our_types.Content.REFERENCE, + "Path": our_types.Content.PATH, +} + + +def content_from_str(text: str) -> Optional[our_types.Content]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.Content`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.Content`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.Content` + or ``None``, if :paramref:`text` invalid. + """ + return _CONTENT_FROM_STR.get(text) + + +_EXTENT_FROM_STR: Mapping[str, our_types.Extent] = { + "WithoutBLOBValue": our_types.Extent.WITHOUT_BLOB_VALUE, + "WithBLOBValue": our_types.Extent.WITH_BLOB_VALUE, +} + + +def extent_from_str(text: str) -> Optional[our_types.Extent]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.Extent`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.Extent`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.Extent` + or ``None``, if :paramref:`text` invalid. + """ + return _EXTENT_FROM_STR.get(text) + + +_GLOBAL_ATTRIBUTE_KIND_FROM_STR: Mapping[str, our_types.GlobalAttributeKind] = { + "LOCALNOW": our_types.GlobalAttributeKind.LOCAL_NOW, + "UTCNOW": our_types.GlobalAttributeKind.UTC_NOW, + "CLIENTNOW": our_types.GlobalAttributeKind.CLIENT_NOW, + "ANONYMOUS": our_types.GlobalAttributeKind.ANONYMOUS, +} + + +def global_attribute_kind_from_str( + text: str, +) -> Optional[our_types.GlobalAttributeKind]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.GlobalAttributeKind`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.GlobalAttributeKind`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.GlobalAttributeKind` + or ``None``, if :paramref:`text` invalid. + """ + return _GLOBAL_ATTRIBUTE_KIND_FROM_STR.get(text) + + +_DATE_TIME_GLOBAL_ATTRIBUTE_KIND_FROM_STR: Mapping[ + str, our_types.DateTimeGlobalAttributeKind +] = { + "LOCALNOW": our_types.DateTimeGlobalAttributeKind.LOCAL_NOW, + "UTCNOW": our_types.DateTimeGlobalAttributeKind.UTC_NOW, + "CLIENTNOW": our_types.DateTimeGlobalAttributeKind.CLIENT_NOW, +} + + +def date_time_global_attribute_kind_from_str( + text: str, +) -> Optional[our_types.DateTimeGlobalAttributeKind]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.DateTimeGlobalAttributeKind`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.DateTimeGlobalAttributeKind`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.DateTimeGlobalAttributeKind` + or ``None``, if :paramref:`text` invalid. + """ + return _DATE_TIME_GLOBAL_ATTRIBUTE_KIND_FROM_STR.get(text) + + +_QUERY_SELECT_FROM_STR: Mapping[str, our_types.QuerySelect] = { + "id": our_types.QuerySelect.ID, +} + + +def query_select_from_str(text: str) -> Optional[our_types.QuerySelect]: + """ + Parse :paramref:`text` as string representation + of :py:class:`aas_core3_2.QuerySelect`. + + If :paramref:`text` is not a valid string representation of a literal + of :py:class:`aas_core3_2.QuerySelect`, return ``None``. + + :param text: to be parsed + :return: + the corresponding literal of :py:class:`aas_core3_2.QuerySelect` + or ``None``, if :paramref:`text` invalid. + """ + return _QUERY_SELECT_FROM_STR.get(text) + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/aas_core3_2/types.py b/aas_core3_2/types.py new file mode 100644 index 0000000..1e3054b --- /dev/null +++ b/aas_core3_2/types.py @@ -0,0 +1,24322 @@ +""" +--- WORK IN PROGRESS --- +Provide an implementation of the Asset Administration Shell (AAS) V3.2. + +The presented version of the Metamodel is related to the work of +aas-core-works, which can be found here: https://github.com/aas-core-works. + +The presented content is neither related to the IDTA nor +Plattform Industrie 4.0 and does not represent an official publication. + +We diverge from the book in the following points. + +We did not implement the following constraints as they are too general and can not +be formalized as part of the core library, but affects external components such as +AAS registry or AAS server: + +* :ref:`Constraint AASd-022 ` + +We did not implement the following constraints since they depend on registry and +de-referencing of :py:class:`Reference` objects: + +* :ref:`Constraint AASd-006 ` +* :ref:`Constraint AASd-007 ` +* :ref:`Constraint AASc-3a-003 ` + +Some constraints are not enforceable as they depend on the wider context +such as language understanding, so we could not formalize them: + +* :ref:`Constraint AASd-012 `: This constraint requires that the texts inside + ``Multi_language_property`` shall have the same meanings in the separate languages. + This cannot be tested. + +Furthermore, we diverge from the book in the following points regarding +the enumerations. We have to implement subsets of enumerations as sets as common +programming languages do not support inheritance of enumerations. The relationship +between the properties and the sets is defined through invariants. This causes +the following divergences: + +* We decided therefore to remove the enumeration ``DataTypeDefRDF`` + and keep only :py:class:`DataTypeDefXSD` as enumeration. Otherwise, we would have + to write redundant invariants all over the meta-model because ``DataTypeDefRDF`` + is actually never used in any type definition. +* The enumeration :py:class:`AASSubmodelElements` is used in two different contexts. + One context is the definition of key types in a reference. Another context is + the definition of element types in a :py:class:`SubmodelElementList`. + + To avoid confusion, we introduce two separate enumerations for the separate contexts. + Firstly, a set of :py:class:`KeyTypes`, :py:attr:`.constants.AAS_SUBMODEL_ELEMENTS_AS_KEYS` to + represent the first context (key type in a reference). + Secondly, the enumeration :py:class:`AASSubmodelElements` is kept as designator + for :py:attr:`SubmodelElementList.type_value_list_element`. +* The specification introduces several types of ``Lang_string_set``. + These types differ between the allowed length of their text inside the singular + ``Lang_string`` objects. Since the native representation of ``Lang_string_set`` as + ``List`` of ``Lang_string`` is required by specification, it is impossible to + introduce separate ``Lang_string_set`` types. Therefore, the distinction is drawn here + between the ``Lang_string`` types. + + ``DefinitionTypeIEC61360`` is represented as a + ``List`` of :py:class:`LangStringDefinitionTypeIEC61360` + + ``MultiLanguageNameType`` is represented as a + ``List`` of :py:class:`LangStringNameType` + + ``PreferredNameTypeIEC61360`` is represented as a + ``List`` of :py:class:`LangStringPreferredNameTypeIEC61360` + + ``ShortNameTypeIEC61360`` is represented as a + ``List`` of :py:class:`LangStringShortNameTypeIEC61360` + + ``MultiLanguageTextType`` is represented as a + ``List`` of :py:class:`LangStringTextType` + + Furthermore, since ``Lang_string`` is not used anywhere, we rename it to + :py:class:`AbstractLangString`. + +Concerning the data specifications, we embed them within +:py:class:`HasDataSpecification` instead of referencing them *via* an external reference. +The working group decided to change the rules for serialization *after* the book was +published. The data specifications are critical in applications, but there is no +possibility to access them through a data channel as they are not part of +an environment. +""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import abc +import enum +from typing import ( + Generic, + Iterator, + Optional, + TypeVar, + List, + Tuple, + Union, + Any, + Mapping, + Sequence, +) + +T = TypeVar("T") +ContextT = TypeVar("ContextT") + + +# NOTE (mristin): +# A JSON-able value is, recursively, exactly as JSON itself is defined: +# a boolean, a number, a string, an array of JSON-able values or an object +# of JSON-able values with string keys -- never a ``None``, and never +# an infinity or a not-a-number, neither of which JSON can represent. +# +# JSON knows a single numeric type. Python tells an ``int`` from a ``float``, +# and a caller will naturally write either, so both are admitted here -- but +# an ``int`` only so long as a ``float`` can hold it exactly. The +# de-serialization converts every number it reads to a ``float``, and both +# the verification and the serialization refuse an ``int`` which that +# conversion would round. +# +# Recursive type aliases are not yet available in mypy +# (see https://github.com/python/mypy/issues/731), so the item and the value +# types have to be spelled ``Any`` instead of ``JsonValue``. +JsonValue = Union[bool, int, float, str, Sequence[Any], Mapping[str, Any]] + + +#: Represent a JSON-able value which is known to be an array +JsonArray = Sequence[Any] + + +#: Represent a JSON-able value which is known to be an object +JsonObject = Mapping[str, Any] + + +class Class(abc.ABC): + """Represent the most general class of the meta-model.""" + + @abc.abstractmethod + def descend_once(self) -> Iterator["Class"]: + """Iterate over all the instances referenced from this one.""" + raise NotImplementedError + + @abc.abstractmethod + def descend(self) -> Iterator["Class"]: + """Iterate recursively over all the instances referenced from this one.""" + raise NotImplementedError + + @abc.abstractmethod + def accept(self, visitor: "AbstractVisitor") -> None: + """ + Dispatch the :paramref:`visitor` on this instance. + + :param visitor: to be dispatched + """ + raise NotImplementedError + + @abc.abstractmethod + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """ + Dispatch the :paramref:`visitor` on this instance with :paramref:`context`. + + :param visitor: to be dispatched + :param context: of the visitation + """ + raise NotImplementedError + + @abc.abstractmethod + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """ + Dispatch the :paramref:`transformer` on this instance. + + :param transformer: to be dispatched + :return: transformed self + """ + raise NotImplementedError + + @abc.abstractmethod + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance with :paramref:`context`. + + :param transformer: to be dispatched + :return: transformed self + """ + raise NotImplementedError + + +class HasSemantics(Class): + """ + Element that can have a semantic definition plus some supplemental semantic + definitions. + + :constraint AASd-118: + .. _constraint_AASd-118: + + If there are ID :py:attr:`supplemental_semantic_ids` defined + then there shall be also a main semantic ID :py:attr:`semantic_id`. + """ + + #: Identifier of the semantic definition of the element. It is called semantic ID + #: of the element or also main semantic ID of the element. + semantic_id: Optional["Reference"] + + #: Identifier of a supplemental semantic definition of the element. + #: It is called supplemental semantic ID of the element. + supplemental_semantic_ids: Optional[List["Reference"]] + + def over_supplemental_semantic_ids_or_empty(self) -> Iterator["Reference"]: + """Yield from :py:attr:`.supplemental_semantic_ids` if set.""" + if self.supplemental_semantic_ids is not None: + yield from self.supplemental_semantic_ids + + def __init__( + self, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + ) -> None: + """Initialize with the given values.""" + self.semantic_id = semantic_id + self.supplemental_semantic_ids = supplemental_semantic_ids + + +class Extension(HasSemantics): + """Single extension of an element.""" + + #: Name of the extension. + #: + #: :constraint AASd-077: + #: .. _constraint_AASd-077: + #: + #: The name of an extension (Extension/name) within :py:class:`HasExtensions` needs + #: to be unique. + name: str + + #: Data type of the :py:attr:`value` attribute of the extension. + #: + #: Default: :py:attr:`DataTypeDefXSD.STRING` + value_type: Optional["DataTypeDefXSD"] + + #: Value of the extension + value: Optional[str] + + #: Reference to an element the extension refers to. + refers_to: Optional[List["Reference"]] + + def over_refers_to_or_empty(self) -> Iterator["Reference"]: + """Yield from :py:attr:`.refers_to` if set.""" + if self.refers_to is not None: + yield from self.refers_to + + def value_type_or_default(self) -> "DataTypeDefXSD": + if self.value_type is not None: + return self.value_type + return DataTypeDefXSD.STRING + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.refers_to is not None: + yield from _descend_list_of__reference(self.refers_to, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_extension(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_extension_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_extension(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_extension_with_context(self, context) + + def __init__( + self, + name: str, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + value_type: Optional["DataTypeDefXSD"] = None, + value: Optional[str] = None, + refers_to: Optional[List["Reference"]] = None, + ) -> None: + """Initialize with the given values.""" + HasSemantics.__init__(self, semantic_id, supplemental_semantic_ids) + self.name = name + self.value_type = value_type + self.value = value + self.refers_to = refers_to + + +class HasExtensions(Class): + """ + Element that can be extended by proprietary extensions. + + .. note:: + + Extensions are proprietary, i.e. they do not support global interoperability. + """ + + #: An extension of the element. + extensions: Optional[List["Extension"]] + + def over_extensions_or_empty(self) -> Iterator["Extension"]: + """Yield from :py:attr:`.extensions` if set.""" + if self.extensions is not None: + yield from self.extensions + + def __init__(self, extensions: Optional[List["Extension"]] = None) -> None: + """Initialize with the given values.""" + self.extensions = extensions + + +class Referable(HasExtensions): + """ + Element that is referable by its :py:attr:`id_short`. + + This ID is not globally unique. + This ID is unique within the name space of the element. + + :constraint AASd-022: + .. _constraint_AASd-022: + + :py:attr:`id_short` of non-identifiable referables + within the same name space shall be unique (case-sensitive). + """ + + #: The category is a value that gives further meta information + #: w.r.t. the class of the element. + #: It affects the expected existence of attributes and the applicability of + #: constraints. + #: + #: .. note:: + #: + #: The category is not identical to the semantic definition + #: (:py:class:`HasSemantics`) of an element. The category could e.g. denote that + #: the element is a measurement value, whereas the semantic definition of + #: the element would denote that it is the measured temperature. + #: + #: .. note:: + #: + #: Deprecated. + category: Optional[str] + + #: In case of identifiables, this attribute is a short name of the element. + #: In case of a referable, this ID is an identifying string of the element within + #: its name space. + #: + #: .. note:: + #: + #: In case the element is a property and the property has a semantic definition + #: (:py:attr:`HasSemantics.semantic_id`) conformant to IEC61360 + #: the :py:attr:`id_short` is typically identical to the short name in English, + #: if available. + id_short: Optional[str] + + #: Display name. Can be provided in several languages. + display_name: Optional[List["LangStringNameType"]] + + #: Description or comments on the element. + #: + #: The description can be provided in several languages. + #: + #: If no description is defined, the definition of the concept + #: description that defines the semantics of the element is used. + #: + #: Additional information can be provided, e.g., if the element is + #: qualified and which qualifier types can be expected in which + #: context or which additional data specification templates. + description: Optional[List["LangStringTextType"]] + + def over_display_name_or_empty(self) -> Iterator["LangStringNameType"]: + """Yield from :py:attr:`.display_name` if set.""" + if self.display_name is not None: + yield from self.display_name + + def over_description_or_empty(self) -> Iterator["LangStringTextType"]: + """Yield from :py:attr:`.description` if set.""" + if self.description is not None: + yield from self.description + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + ) -> None: + """Initialize with the given values.""" + HasExtensions.__init__(self, extensions) + self.id_short = id_short + self.display_name = display_name + self.category = category + self.description = description + + +class Identifiable(Referable): + """An element that has a globally unique identifier.""" + + #: Administrative information of an identifiable element. + #: + #: .. note:: + #: + #: Some of the administrative information like the version number might need to + #: be part of the identification. + administration: Optional["AdministrativeInformation"] + + #: The globally unique identification of the element. + id: str + + def __init__( + self, + id: str, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + administration: Optional["AdministrativeInformation"] = None, + ) -> None: + """Initialize with the given values.""" + Referable.__init__( + self, extensions, category, id_short, display_name, description + ) + self.id = id + self.administration = administration + + +class ModellingKind(enum.Enum): + """ + Enumeration for denoting whether an element is a template or an instance. + """ + + #: Specification of the common features of a structured element in sufficient detail + #: that such an instance can be instantiated using it + TEMPLATE = "Template" + + #: Concrete, clearly identifiable element instance. Its creation and validation + #: may be guided by a corresponding element template. + INSTANCE = "Instance" + + +class HasKind(Class): + """ + An element with a kind is an element that can either represent a template or an + instance. + + Default for an element is that it is representing an instance. + """ + + #: Kind of the element: either template or instance. + #: + #: Default: :py:attr:`ModellingKind.INSTANCE` + kind: Optional["ModellingKind"] + + def kind_or_default(self) -> "ModellingKind": + if self.kind is not None: + return self.kind + return ModellingKind.INSTANCE + + def __init__(self, kind: Optional["ModellingKind"] = None) -> None: + """Initialize with the given values.""" + self.kind = kind + + +class HasDataSpecification(Class): + """ + Element that can be extended by using data specification templates. + + A data specification template defines a named set of additional attributes an + element may or shall have. The data specifications used are explicitly specified + with their global ID. + """ + + #: Embedded data specification. + embedded_data_specifications: Optional[List["EmbeddedDataSpecification"]] + + def over_embedded_data_specifications_or_empty( + self, + ) -> Iterator["EmbeddedDataSpecification"]: + """Yield from :py:attr:`.embedded_data_specifications` if set.""" + if self.embedded_data_specifications is not None: + yield from self.embedded_data_specifications + + def __init__( + self, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + ) -> None: + """Initialize with the given values.""" + self.embedded_data_specifications = embedded_data_specifications + + +class AdministrativeInformation(HasDataSpecification): + """ + Administrative metainformation for an element. + + :constraint AASd-005: + .. _constraint_AASd-005: + + If :py:attr:`version` is not specified, :py:attr:`revision` shall also be + unspecified. This means that a revision requires a version. If there is + no version, there is no revision. Revision is optional. + """ + + #: Version of the element. + version: Optional[str] + + #: Revision of the element. + revision: Optional[str] + + #: The subject ID of the subject responsible for making the element. + creator: Optional["Reference"] + + #: date of creation. + created_at: Optional[str] + + #: date of update. + updated_at: Optional[str] + + #: Identifier of the template that guided the creation of the element. + #: + #: .. note:: + #: + #: So far, :py:attr:`template_id` is only applicable for :py:class:`Submodel`'s, + #: since template specifications are standardized for Submodels only. + #: + #: .. note:: + #: + #: In case of a submodel, the :py:attr:`template_id` is the identifier + #: of the submodel template that guided the creation of the submodel + #: + #: .. note:: + #: + #: The :py:attr:`template_id` is not relevant for validation in Submodels. + #: For validation the :py:attr:`Submodel.semantic_id` shall be used. + #: + #: .. note:: + #: + #: Usage of :py:attr:`template_id` is not restricted to submodel instances. So also + #: the creation of submodel templates can be guided by another submodel template. + template_id: Optional[str] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + if self.creator is not None: + yield self.creator + + if recurse: + yield from self.creator.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_administrative_information(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_administrative_information_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_administrative_information(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_administrative_information_with_context( + self, context + ) + + def __init__( + self, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + version: Optional[str] = None, + revision: Optional[str] = None, + creator: Optional["Reference"] = None, + created_at: Optional[str] = None, + updated_at: Optional[str] = None, + template_id: Optional[str] = None, + ) -> None: + """Initialize with the given values.""" + HasDataSpecification.__init__(self, embedded_data_specifications) + self.version = version + self.revision = revision + self.creator = creator + self.created_at = created_at + self.updated_at = updated_at + self.template_id = template_id + + +class Qualifiable(Class): + """ + A qualifiable element may be further qualified by one or more + qualifiers. + + :constraint AASd-119: + .. _constraint_AASd-119: + + If any :py:attr:`Qualifier.kind` value of :py:attr:`qualifiers` is + equal to :py:attr:`QualifierKind.TEMPLATE_QUALIFIER` and the qualified element + inherits from :py:class:`HasKind` then the qualified element shall be of + kind Template (:py:attr:`HasKind.kind` = :py:attr:`ModellingKind.TEMPLATE`). + + .. note:: + + This constraint is checked at :py:class:`Submodel`. + """ + + #: Additional qualification of a qualifiable element. + #: + #: :constraint AASd-021: + #: .. _constraint_AASd-021: + #: + #: Every qualifiable shall only have one qualifier with the same + #: :py:attr:`Qualifier.type`. + qualifiers: Optional[List["Qualifier"]] + + def over_qualifiers_or_empty(self) -> Iterator["Qualifier"]: + """Yield from :py:attr:`.qualifiers` if set.""" + if self.qualifiers is not None: + yield from self.qualifiers + + def __init__(self, qualifiers: Optional[List["Qualifier"]] = None) -> None: + """Initialize with the given values.""" + self.qualifiers = qualifiers + + +class QualifierKind(enum.Enum): + """ + Enumeration for kinds of qualifiers. + + .. note:: + + This element is experimental and therefore may be subject to change or may be + removed completely in future versions of the meta-model. + """ + + #: qualifies the value of the element; the corresponding qualifier value can + #: change over time. + #: + #: Value qualifiers are only applicable to elements with kind + #: :py:attr:`ModellingKind.INSTANCE`. + VALUE_QUALIFIER = "ValueQualifier" + + #: qualifies the semantic definition (:py:attr:`HasSemantics.semantic_id`) the + #: element is referring to; the corresponding qualifier value is static. + CONCEPT_QUALIFIER = "ConceptQualifier" + + #: qualifies the elements within a specific submodel on concept level; the + #: corresponding qualifier value is static. + #: + #: Template qualifiers are only applicable to elements with kind + #: :py:attr:`ModellingKind.TEMPLATE`. + TEMPLATE_QUALIFIER = "TemplateQualifier" + + +class Qualifier(HasSemantics): + """ + A qualifier is essentially a type-value-pair. Depending on the kind of + qualifier, it makes additional statements: + + * w.r.t. the value of the qualified element, + * w.r.t. the concept, i.e. semantic definition of the qualified element, + * w.r.t. existence and other meta information of the qualified element type. + + :constraint AASd-006: + .. _constraint_AASd-006: + + If both the :py:attr:`value` and the :py:attr:`value_id` of + a :py:class:`Qualifier` are present then the :py:attr:`value` needs + to be identical to the value of the referenced coded value + in :py:attr:`value_id`. + + :constraint AASd-020: + .. _constraint_AASd-020: + + The value of :py:attr:`value` shall be consistent with the data type as + defined in :py:attr:`value_type`. + """ + + #: The qualifier kind describes the kind of qualifier that is applied to the + #: element. + #: + #: Default: :py:attr:`QualifierKind.CONCEPT_QUALIFIER` + kind: Optional["QualifierKind"] + + #: The qualifier *type* describes the type of qualifier that is applied to + #: the element. + type: str + + #: Data type of the qualifier value. + value_type: "DataTypeDefXSD" + + #: The qualifier value is the value of the qualifier. + value: Optional[str] + + #: Reference to the global unique ID of a coded value. + value_id: Optional["Reference"] + + def kind_or_default(self) -> "QualifierKind": + if self.kind is not None: + return self.kind + return QualifierKind.CONCEPT_QUALIFIER + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.value_id is not None: + yield self.value_id + + if recurse: + yield from self.value_id.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_qualifier(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_qualifier_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_qualifier(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_qualifier_with_context(self, context) + + def __init__( + self, + type: str, + value_type: "DataTypeDefXSD", + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + kind: Optional["QualifierKind"] = None, + value: Optional[str] = None, + value_id: Optional["Reference"] = None, + ) -> None: + """Initialize with the given values.""" + HasSemantics.__init__(self, semantic_id, supplemental_semantic_ids) + self.type = type + self.value_type = value_type + self.kind = kind + self.value = value + self.value_id = value_id + + +class AssetAdministrationShell(Identifiable, HasDataSpecification): + """An Asset Administration Shell.""" + + #: The reference to the Asset Administration Shell, which the Asset + #: Administration Shell was derived from. + derived_from: Optional["Reference"] + + #: Meta information about the asset, the Asset Administration Shell is + #: representing. + asset_information: "AssetInformation" + + #: References to submodels of the Asset Administration Shell. + #: + #: A submodel is a description of an aspect of the asset, the Asset + #: Administration Shell is representing. + #: + #: The asset of an Asset Administration Shell is typically described by one or + #: more submodels. + #: + #: Temporarily, no submodel might be assigned to the Asset Administration Shell. + submodels: Optional[List["Reference"]] + + def over_submodels_or_empty(self) -> Iterator["Reference"]: + """Yield from :py:attr:`.submodels` if set.""" + if self.submodels is not None: + yield from self.submodels + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.administration is not None: + yield self.administration + + if recurse: + yield from self.administration.descend() + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + if self.derived_from is not None: + yield self.derived_from + + if recurse: + yield from self.derived_from.descend() + + yield self.asset_information + + if recurse: + yield from self.asset_information.descend() + + if self.submodels is not None: + yield from _descend_list_of__reference(self.submodels, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_asset_administration_shell(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_asset_administration_shell_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_asset_administration_shell(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_asset_administration_shell_with_context( + self, context + ) + + def __init__( + self, + id: str, + asset_information: "AssetInformation", + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + administration: Optional["AdministrativeInformation"] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + derived_from: Optional["Reference"] = None, + submodels: Optional[List["Reference"]] = None, + ) -> None: + """Initialize with the given values.""" + Identifiable.__init__( + self, + id, + extensions, + category, + id_short, + display_name, + description, + administration, + ) + HasDataSpecification.__init__(self, embedded_data_specifications) + self.derived_from = derived_from + self.asset_information = asset_information + self.submodels = submodels + + +class AssetInformation(Class): + """ + In :py:class:`AssetInformation` identifying metadata of the asset that is + represented by an Asset Administration Shell is defined. + + Several asset kinds are distinguished like for example type assets and + instance assets. + + The asset has a globally unique identifier, plus – if needed – additional + domain-specific (proprietary) identifiers. However, to support the corner case + of very first phase of life cycle where a stabilized/constant global asset + identifier does not already exist, the corresponding attribute + :py:attr:`global_asset_id` is optional. + + :constraint AASd-116: + .. _constraint_AASd-116: + + ``globalAssetId`` (case-insensitive) is a reserved key for + :py:attr:`SpecificAssetID.name` with the semantics as defined in + ``https://admin-shell.io/aas/3/x/AssetInformation/globalAssetId`` + where ``x`` is the minor version. + + .. note:: + + :ref:`Constraint AASd-116 ` is important to enable a generic search across + global and specific asset IDs (e.g. in IDTA-01002-3-0 discovery + operations like GetAllAssetLinksById). In the future the constraint + might become more strict in stating that the name ``globalAssetId`` + shall not be used as :py:attr:`SpecificAssetID.name`. + + .. note:: + + The comparison against ``globalAssetId`` is ASCII case-insensitive. + + :constraint AASd-131: + .. _constraint_AASd-131: + + For :py:class:`AssetInformation` either the :py:attr:`global_asset_id` shall be + defined or at least one item in :py:attr:`specific_asset_ids`. + """ + + #: Denotes whether the Asset is of kind :py:attr:`AssetKind.TYPE`, + #: :py:attr:`AssetKind.INSTANCE`, :py:attr:`AssetKind.BATCH`, :py:attr:`AssetKind.ROLE`, + #: or :py:attr:`AssetKind.NOT_APPLICABLE`. + asset_kind: "AssetKind" + + #: Identifier of the asset, the Asset Administration Shell is representing. + #: + #: This attribute is required as soon as the Asset Administration Shell is + #: exchanged via partners in the life cycle of the asset. In a first phase of the + #: life cycle, the asset might not yet have a global asset ID but already an + #: internal identifier. The internal identifier would be modelled via + #: :py:attr:`specific_asset_ids`. + global_asset_id: Optional[str] + + #: Additional domain-specific, typically proprietary identifier for the asset like + #: serial number, manufacturer part ID, customer part IDs, etc. + specific_asset_ids: Optional[List["SpecificAssetID"]] + + #: In case :py:attr:`asset_kind` is not :py:attr:`AssetKind.NOT_APPLICABLE` the + #: :py:attr:`asset_type` is the asset ID of the type asset of the asset under + #: consideration as identified by :py:attr:`global_asset_id`. + #: + #: .. note:: + #: + #: In case :py:attr:`asset_kind` is "Instance" then the :py:attr:`asset_type` denotes + #: which "Type" the asset is of. But it is also possible + #: to have an :py:attr:`asset_type` of an asset of kind "Type". + asset_type: Optional[str] + + #: Thumbnail of the asset represented by the Asset Administration Shell. + #: + #: Used as default. + default_thumbnail: Optional["Resource"] + + def over_specific_asset_ids_or_empty(self) -> Iterator["SpecificAssetID"]: + """Yield from :py:attr:`.specific_asset_ids` if set.""" + if self.specific_asset_ids is not None: + yield from self.specific_asset_ids + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.specific_asset_ids is not None: + yield from _descend_list_of__specific_asset_id( + self.specific_asset_ids, recurse + ) + + if self.default_thumbnail is not None: + yield self.default_thumbnail + + if recurse: + yield from self.default_thumbnail.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_asset_information(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_asset_information_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_asset_information(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_asset_information_with_context(self, context) + + def __init__( + self, + asset_kind: "AssetKind", + global_asset_id: Optional[str] = None, + specific_asset_ids: Optional[List["SpecificAssetID"]] = None, + asset_type: Optional[str] = None, + default_thumbnail: Optional["Resource"] = None, + ) -> None: + """Initialize with the given values.""" + self.asset_kind = asset_kind + self.global_asset_id = global_asset_id + self.specific_asset_ids = specific_asset_ids + self.asset_type = asset_type + self.default_thumbnail = default_thumbnail + + +class Resource(Class): + """ + Resource represents an address to a file (a locator). The value is a URI that + can represent an absolute or relative path. + """ + + #: Path and name of the resource (with file extension). + #: + #: The path can be absolute or relative. + path: str + + #: Content type of the content of the file. + #: + #: A single content type (MIME type) can have multiple file extensions + #: associated with it. + content_type: Optional[str] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_resource(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_resource_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_resource(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_resource_with_context(self, context) + + def __init__(self, path: str, content_type: Optional[str] = None) -> None: + """Initialize with the given values.""" + self.path = path + self.content_type = content_type + + +class AssetKind(enum.Enum): + """ + Enumeration for denoting whether an asset is a type asset or an instance + asset or a batch asset or is a role or whether this kind of classification + is not applicable. + """ + + #: Type asset + TYPE = "Type" + + #: Instance asset + INSTANCE = "Instance" + + #: Batch asset + BATCH = "Batch" + + #: Role asset + ROLE = "Role" + + #: None of the other asset kinds + NOT_APPLICABLE = "NotApplicable" + + +class SpecificAssetID(HasSemantics): + """ + A specific asset ID describes a generic supplementary identifying attribute of the + asset. + + The specific asset ID is not necessarily globally unique. + + :constraint AASd-133: + .. _constraint_AASd-133: + + :py:attr:`external_subject_id` shall be an external reference, + i.e. :py:attr:`Reference.type` = :py:attr:`ReferenceTypes.EXTERNAL_REFERENCE`. + """ + + #: Name of the asset identifier. + name: str + + #: The value of the specific asset identifier with the corresponding name. + value: str + + #: The unique ID of the (external) subject the specific asset ID value belongs + #: to or has meaning to. + #: + #: .. note:: + #: + #: This is an external reference. + external_subject_id: Optional["Reference"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.external_subject_id is not None: + yield self.external_subject_id + + if recurse: + yield from self.external_subject_id.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_specific_asset_id(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_specific_asset_id_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_specific_asset_id(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_specific_asset_id_with_context(self, context) + + def __init__( + self, + name: str, + value: str, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + external_subject_id: Optional["Reference"] = None, + ) -> None: + """Initialize with the given values.""" + HasSemantics.__init__(self, semantic_id, supplemental_semantic_ids) + self.name = name + self.value = value + self.external_subject_id = external_subject_id + + +class Submodel(Identifiable, HasKind, HasSemantics, Qualifiable, HasDataSpecification): + """ + A submodel defines a specific aspect of the asset represented by the Asset + Administration Shell. + + A submodel is used to structure the digital representation and technical + functionality of an Administration Shell into distinguishable parts. Each submodel + refers to a well-defined domain or subject. Submodels can become standardized + and, in turn, submodel templates. + """ + + #: Submodel elements contained in the submodel. + submodel_elements: Optional[List["SubmodelElement"]] + + def over_submodel_elements_or_empty(self) -> Iterator["SubmodelElement"]: + """Yield from :py:attr:`.submodel_elements` if set.""" + if self.submodel_elements is not None: + yield from self.submodel_elements + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.administration is not None: + yield self.administration + + if recurse: + yield from self.administration.descend() + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + if self.submodel_elements is not None: + yield from _descend_list_of__submodel_element( + self.submodel_elements, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_submodel(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_submodel_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_submodel(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_submodel_with_context(self, context) + + def __init__( + self, + id: str, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + administration: Optional["AdministrativeInformation"] = None, + kind: Optional["ModellingKind"] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + submodel_elements: Optional[List["SubmodelElement"]] = None, + ) -> None: + """Initialize with the given values.""" + Identifiable.__init__( + self, + id, + extensions, + category, + id_short, + display_name, + description, + administration, + ) + HasKind.__init__(self, kind) + HasSemantics.__init__(self, semantic_id, supplemental_semantic_ids) + Qualifiable.__init__(self, qualifiers) + HasDataSpecification.__init__(self, embedded_data_specifications) + self.submodel_elements = submodel_elements + + +class SubmodelElement(Referable, HasSemantics, Qualifiable, HasDataSpecification): + """ + A submodel element is an element suitable for the description and differentiation of + assets. + + It is recommended to add a :py:attr:`HasSemantics.semantic_id` to a submodel element. + + :constraint AASd-129: + .. _constraint_AASd-129: + + If any :py:attr:`Qualifier.kind` value of :py:attr:`qualifiers` (attribute qualifier + inherited via Qualifiable) is equal to :py:attr:`QualifierKind.TEMPLATE_QUALIFIER`, + the submodel element shall be part of a submodel template, i.e. + a submodel with :py:attr:`Submodel.kind` (attribute kind inherited via + :py:class:`HasKind`) value equal to :py:attr:`ModellingKind.TEMPLATE`. + Exception: the submodel element is part of an :py:class:`OperationVariable`. + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + ) -> None: + """Initialize with the given values.""" + Referable.__init__( + self, extensions, category, id_short, display_name, description + ) + HasSemantics.__init__(self, semantic_id, supplemental_semantic_ids) + Qualifiable.__init__(self, qualifiers) + HasDataSpecification.__init__(self, embedded_data_specifications) + + +class RelationshipElement(SubmodelElement): + """ + A relationship element is used to define a relationship between two elements + being either referable (model reference) or external (external reference). + """ + + #: Reference to the first element in the relationship taking the role of the subject. + first: Optional["Reference"] + + #: Reference to the second element in the relationship taking the role of the object. + second: Optional["Reference"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + if self.first is not None: + yield self.first + + if recurse: + yield from self.first.descend() + + if self.second is not None: + yield self.second + + if recurse: + yield from self.second.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_relationship_element(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_relationship_element_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_relationship_element(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_relationship_element_with_context(self, context) + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + first: Optional["Reference"] = None, + second: Optional["Reference"] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElement.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + self.first = first + self.second = second + + +class AASSubmodelElements(enum.Enum): + """ + Enumeration of Submodel Element types including abstract Submodel Element types. + """ + + ANNOTATED_RELATIONSHIP_ELEMENT = "AnnotatedRelationshipElement" + + BASIC_EVENT_ELEMENT = "BasicEventElement" + + BLOB = "Blob" + + CAPABILITY = "Capability" + + #: Data element. + #: + #: .. note:: + #: + #: Data Element is abstract, *i.e.* if a key uses :py:attr:`DATA_ELEMENT` + #: the reference may be a :py:class:`Property`, a :py:class:`File` etc. + DATA_ELEMENT = "DataElement" + + ENTITY = "Entity" + + #: Event. + #: + #: .. note:: + #: + #: :py:class:`EventElement` is abstract. + EVENT_ELEMENT = "EventElement" + + FILE = "File" + + #: Property with a value that can be provided in multiple languages + MULTI_LANGUAGE_PROPERTY = "MultiLanguageProperty" + + OPERATION = "Operation" + + PROPERTY = "Property" + + #: Range with min and max + RANGE = "Range" + + #: Reference + REFERENCE_ELEMENT = "ReferenceElement" + + #: Relationship + RELATIONSHIP_ELEMENT = "RelationshipElement" + + #: Submodel Element + #: + #: .. note:: + #: + #: Submodel Element is abstract, *i.e.* if a key uses :py:attr:`SUBMODEL_ELEMENT` + #: the reference may be a :py:class:`Property`, an :py:class:`Operation` etc. + SUBMODEL_ELEMENT = "SubmodelElement" + + #: List of Submodel Elements + SUBMODEL_ELEMENT_LIST = "SubmodelElementList" + + #: Struct of Submodel Elements + SUBMODEL_ELEMENT_COLLECTION = "SubmodelElementCollection" + + +class SubmodelElementList(SubmodelElement): + """ + A submodel element list is an ordered list of submodel elements. + + .. note:: + + The list is ordered although the ordering might not be relevant + (see :py:attr:`order_relevant`). + + The numbering starts with zero (0). + + :constraint AASd-107: + .. _constraint_AASd-107: + + If a first level child element in a :py:class:`SubmodelElementList` has + a :py:attr:`HasSemantics.semantic_id` it + shall be identical to :py:attr:`semantic_id_list_element`. + + :constraint AASd-114: + .. _constraint_AASd-114: + + If two first level child elements in a :py:class:`SubmodelElementList` have + a :py:attr:`HasSemantics.semantic_id` then they shall be identical. + + :constraint AASd-115: + .. _constraint_AASd-115: + + If a first level child element in a :py:class:`SubmodelElementList` does not + specify a :py:attr:`HasSemantics.semantic_id` then the value is assumed to be + identical to :py:attr:`semantic_id_list_element`. + + :constraint AASd-108: + .. _constraint_AASd-108: + + All first level child elements in a :py:class:`SubmodelElementList` shall have + the same submodel element type as specified in :py:attr:`type_value_list_element`. + + :constraint AASd-109: + .. _constraint_AASd-109: + + If :py:attr:`type_value_list_element` is equal to + :py:attr:`AASSubmodelElements.PROPERTY` or + :py:attr:`AASSubmodelElements.RANGE` + :py:attr:`value_type_list_element` shall be set and all first + level child elements in the :py:class:`SubmodelElementList` shall have + the value type as specified in :py:attr:`value_type_list_element`. + + :constraint AASd-138: + .. _constraint_AASd-138: + + A :py:class:`SubmodelElementList` within a :py:class:`Submodel` of + :py:attr:`HasKind.kind` = :py:attr:`ModellingKind.TEMPLATE` or as part of + an :py:class:`OperationVariable` shall have exactly one element. + + .. note:: + + This constraint is checked at :py:class:`Submodel` and :py:class:`Operation`. + """ + + #: Defines whether order in list is relevant. If :py:attr:`order_relevant` = ``False`` + #: then the list is representing a set or a bag. + #: + #: Default: ``True`` + order_relevant: Optional[bool] + + #: Semantic ID the submodel elements contained in the list match to. + semantic_id_list_element: Optional["Reference"] + + #: The submodel element type of the submodel elements contained in the list. + type_value_list_element: "AASSubmodelElements" + + #: The value type of the submodel element contained in the list. + value_type_list_element: Optional["DataTypeDefXSD"] + + #: Submodel element contained in the list. + value: Optional[List["SubmodelElement"]] + + def over_value_or_empty(self) -> Iterator["SubmodelElement"]: + """Yield from :py:attr:`.value` if set.""" + if self.value is not None: + yield from self.value + + def order_relevant_or_default(self) -> bool: + if self.order_relevant is not None: + return self.order_relevant + return True + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + if self.semantic_id_list_element is not None: + yield self.semantic_id_list_element + + if recurse: + yield from self.semantic_id_list_element.descend() + + if self.value is not None: + yield from _descend_list_of__submodel_element(self.value, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_submodel_element_list(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_submodel_element_list_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_submodel_element_list(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_submodel_element_list_with_context(self, context) + + def __init__( + self, + type_value_list_element: "AASSubmodelElements", + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + order_relevant: Optional[bool] = None, + semantic_id_list_element: Optional["Reference"] = None, + value_type_list_element: Optional["DataTypeDefXSD"] = None, + value: Optional[List["SubmodelElement"]] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElement.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + self.type_value_list_element = type_value_list_element + self.order_relevant = order_relevant + self.semantic_id_list_element = semantic_id_list_element + self.value_type_list_element = value_type_list_element + self.value = value + + +class SubmodelElementCollection(SubmodelElement): + """ + A submodel element collection is a kind of struct, i.e. a logical encapsulation + of multiple named values. + """ + + #: Submodel element contained in the collection. + value: Optional[List["SubmodelElement"]] + + def over_value_or_empty(self) -> Iterator["SubmodelElement"]: + """Yield from :py:attr:`.value` if set.""" + if self.value is not None: + yield from self.value + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + if self.value is not None: + yield from _descend_list_of__submodel_element(self.value, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_submodel_element_collection(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_submodel_element_collection_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_submodel_element_collection(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_submodel_element_collection_with_context( + self, context + ) + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + value: Optional[List["SubmodelElement"]] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElement.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + self.value = value + + +class DataElement(SubmodelElement): + """ + A data element is a submodel element that is not further composed of + other submodel elements. + + A data element is a submodel element that has a value. The type of value differs + for different subtypes of data elements. + + .. note:: + + Categories are deprecated and should no longer be used. + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElement.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + + +class Property(DataElement): + """ + A property is a data element that has a single value. + + :constraint AASd-007: + .. _constraint_AASd-007: + + If both, the :py:attr:`value` and the :py:attr:`value_id` are + present then the value of :py:attr:`value` needs to be identical to + the value of the referenced coded value in :py:attr:`value_id`. + """ + + #: Data type of the :py:attr:`value` attribute. + value_type: "DataTypeDefXSD" + + #: The value of the property instance. + value: Optional[str] + + #: Reference to the global unique ID of a coded value. + value_id: Optional["Reference"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + if self.value_id is not None: + yield self.value_id + + if recurse: + yield from self.value_id.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_property(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_property_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_property(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_property_with_context(self, context) + + def __init__( + self, + value_type: "DataTypeDefXSD", + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + value: Optional[str] = None, + value_id: Optional["Reference"] = None, + ) -> None: + """Initialize with the given values.""" + DataElement.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + self.value_type = value_type + self.value = value + self.value_id = value_id + + +class MultiLanguageProperty(DataElement): + """ + A property is a data element that has a multi-language value. + + :constraint AASd-012: + .. _constraint_AASd-012: + + If both the :py:attr:`value` and the :py:attr:`value_id` are present then for each + string in a specific language the meaning must be the same as specified in + :py:attr:`value_id`. + """ + + #: The value of the property instance. + value: Optional[List["LangStringTextType"]] + + #: Reference to the global unique ID of a coded value. + value_id: Optional["Reference"] + + def over_value_or_empty(self) -> Iterator["LangStringTextType"]: + """Yield from :py:attr:`.value` if set.""" + if self.value is not None: + yield from self.value + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + if self.value is not None: + yield from _descend_list_of__lang_string_text_type(self.value, recurse) + + if self.value_id is not None: + yield self.value_id + + if recurse: + yield from self.value_id.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_multi_language_property(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_multi_language_property_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_multi_language_property(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_multi_language_property_with_context(self, context) + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + value: Optional[List["LangStringTextType"]] = None, + value_id: Optional["Reference"] = None, + ) -> None: + """Initialize with the given values.""" + DataElement.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + self.value = value + self.value_id = value_id + + +class Range(DataElement): + """ + A range data element is a data element that defines a range with min and max. + + .. note:: + + This element is experimental and therefore may be subject to change or may be + removed completely in future versions of the meta-model. + """ + + #: Data type of the :py:attr:`min` und :py:attr:`max` attributes + value_type: "DataTypeDefXSD" + + #: The minimum value of the range. + min: Optional[str] + + #: The maximum value of the range. + max: Optional[str] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_range(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_range_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_range(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_range_with_context(self, context) + + def __init__( + self, + value_type: "DataTypeDefXSD", + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + min: Optional[str] = None, + max: Optional[str] = None, + ) -> None: + """Initialize with the given values.""" + DataElement.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + self.value_type = value_type + self.min = min + self.max = max + + +class ReferenceElement(DataElement): + """ + A reference element is a data element that defines a logical reference to another + element within the same or another Asset Administration Shell or a reference to + an external object or entity. + """ + + #: External reference to an external object or entity or a logical reference to + #: another element within the same or another Asset Administration Shell (i.e. a + #: model reference to a Referable). + value: Optional["Reference"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + if self.value is not None: + yield self.value + + if recurse: + yield from self.value.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_reference_element(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_reference_element_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_reference_element(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_reference_element_with_context(self, context) + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + value: Optional["Reference"] = None, + ) -> None: + """Initialize with the given values.""" + DataElement.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + self.value = value + + +class Blob(DataElement): + """ + A :py:class:`Blob` is a data element that represents a file that is contained in the + :py:attr:`value` attribute with its source code. + """ + + #: The value of the :py:class:`Blob` instance of a blob data element. + #: + #: .. note:: + #: + #: In contrast to the file property the file content is stored directly as value + #: in the :py:class:`Blob` data element. + value: Optional[bytes] + + #: Content type of the content of the :py:class:`Blob`. + #: + #: The content type (MIME type) states which file extensions the file can have. + #: + #: Valid values are content types like ``application/json``, ``application/xls``, + #: ``image/jpg``. + #: + #: The allowed values are defined as in RFC2046. + content_type: Optional[str] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_blob(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_blob_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_blob(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_blob_with_context(self, context) + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + value: Optional[bytes] = None, + content_type: Optional[str] = None, + ) -> None: + """Initialize with the given values.""" + DataElement.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + self.content_type = content_type + self.value = value + + +class File(DataElement): + """ + A file is a data element that represents an address to a file (a locator). + + The value is a URI that can represent an absolute or relative path. + """ + + #: Path and name of the file (with file extension). + #: + #: The path can be absolute or relative. + value: Optional[str] + + #: Content type of the content of the file. + content_type: Optional[str] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_file(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_file_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_file(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_file_with_context(self, context) + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + value: Optional[str] = None, + content_type: Optional[str] = None, + ) -> None: + """Initialize with the given values.""" + DataElement.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + self.content_type = content_type + self.value = value + + +class AnnotatedRelationshipElement(RelationshipElement): + """ + An annotated relationship element is a relationship element that can be annotated + with additional data elements. + """ + + #: A data element that represents an annotation that holds for the relationship + #: between the two elements + annotations: Optional[List["DataElement"]] + + def over_annotations_or_empty(self) -> Iterator["DataElement"]: + """Yield from :py:attr:`.annotations` if set.""" + if self.annotations is not None: + yield from self.annotations + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + if self.first is not None: + yield self.first + + if recurse: + yield from self.first.descend() + + if self.second is not None: + yield self.second + + if recurse: + yield from self.second.descend() + + if self.annotations is not None: + yield from _descend_list_of__data_element(self.annotations, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_annotated_relationship_element(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_annotated_relationship_element_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_annotated_relationship_element(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_annotated_relationship_element_with_context( + self, context + ) + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + first: Optional["Reference"] = None, + second: Optional["Reference"] = None, + annotations: Optional[List["DataElement"]] = None, + ) -> None: + """Initialize with the given values.""" + RelationshipElement.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + first, + second, + ) + self.annotations = annotations + + +class Entity(SubmodelElement): + """ + An entity is a submodel element that is used to model entities. + + :constraint AASd-014: + .. _constraint_AASd-014: + + Either the attribute :py:attr:`global_asset_id` or :py:attr:`specific_asset_ids` + of an :py:class:`Entity` must be set if Entity/entityType is set to :py:attr:`EntityType.SELF_MANAGED_ENTITY`. + """ + + #: Statement applicable to the entity, each statement described by a + #: :py:class:`SubmodelElement` - typically with a qualified value. + statements: Optional[List["SubmodelElement"]] + + #: Describes whether the entity is a co-managed entity or a self-managed entity. + entity_type: Optional["EntityType"] + + #: Global identifier of the asset the entity is representing. + global_asset_id: Optional[str] + + #: Reference to a specific asset ID representing a supplementary identifier + #: of the asset represented by the Asset Administration Shell. + specific_asset_ids: Optional[List["SpecificAssetID"]] + + def over_statements_or_empty(self) -> Iterator["SubmodelElement"]: + """Yield from :py:attr:`.statements` if set.""" + if self.statements is not None: + yield from self.statements + + def over_specific_asset_ids_or_empty(self) -> Iterator["SpecificAssetID"]: + """Yield from :py:attr:`.specific_asset_ids` if set.""" + if self.specific_asset_ids is not None: + yield from self.specific_asset_ids + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + if self.statements is not None: + yield from _descend_list_of__submodel_element(self.statements, recurse) + + if self.specific_asset_ids is not None: + yield from _descend_list_of__specific_asset_id( + self.specific_asset_ids, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_entity(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_entity_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_entity(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_entity_with_context(self, context) + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + statements: Optional[List["SubmodelElement"]] = None, + entity_type: Optional["EntityType"] = None, + global_asset_id: Optional[str] = None, + specific_asset_ids: Optional[List["SpecificAssetID"]] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElement.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + self.statements = statements + self.entity_type = entity_type + self.global_asset_id = global_asset_id + self.specific_asset_ids = specific_asset_ids + + +class EntityType(enum.Enum): + """ + Enumeration for denoting whether an entity is a self-managed entity or a co-managed + entity. + """ + + #: There is no separate Asset Administration Shell for co-managed entities. + #: Co-managed entities need to be part of a self-managed entity. + CO_MANAGED_ENTITY = "CoManagedEntity" + + #: Self-managed entities have their own Asset Administration Shell but can be part + #: of another composite self-managed entity. + #: + #: The asset represented by an Asset Administration Shell is a self-managed entity + #: per definition. + SELF_MANAGED_ENTITY = "SelfManagedEntity" + + +class Direction(enum.Enum): + """ + Direction + + .. note:: + + This element is experimental and therefore may be subject to change or may be + removed completely in future versions of the meta-model. + """ + + #: Input direction + INPUT = "input" + + #: Output direction + OUTPUT = "output" + + +class StateOfEvent(enum.Enum): + """ + State of an event + + .. note:: + + This element is experimental and therefore may be subject to change or may be + removed completely in future versions of the meta-model. + """ + + #: Event is on + ON = "on" + + #: Event is off + OFF = "off" + + +class EventPayload(Class): + """ + Defines the necessary information of an event instance sent out or received. + + .. note:: + + This element is experimental and therefore may be subject to change or may be + removed completely in future versions of the meta-model. + """ + + #: Reference to the source event element. + source: "Reference" + + #: :py:attr:`HasSemantics.semantic_id` of the source event element, if available + #: + #: .. note:: + #: + #: It is recommended to use an external reference. + source_semantic_id: Optional["Reference"] + + #: Reference to the referable, which defines the scope of the event. + observable_reference: "Reference" + + #: :py:attr:`HasSemantics.semantic_id` of the referable which defines the scope of + #: the event, if available. + #: + #: .. note:: + #: + #: It is recommended to use an external reference. + observable_semantic_id: Optional["Reference"] + + #: Information for the outer message infrastructure to schedule the event for + #: the respective communication channel. + topic: Optional[str] + + #: Subject, who/which initiated the creation. + #: + #: .. note:: + #: + #: This is an external reference. + subject_id: Optional["Reference"] + + #: Timestamp in UTC, when this event was triggered. + time_stamp: str + + #: Event-specific payload. + payload: Optional[bytes] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.source + + if recurse: + yield from self.source.descend() + + if self.source_semantic_id is not None: + yield self.source_semantic_id + + if recurse: + yield from self.source_semantic_id.descend() + + yield self.observable_reference + + if recurse: + yield from self.observable_reference.descend() + + if self.observable_semantic_id is not None: + yield self.observable_semantic_id + + if recurse: + yield from self.observable_semantic_id.descend() + + if self.subject_id is not None: + yield self.subject_id + + if recurse: + yield from self.subject_id.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_event_payload(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_event_payload_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_event_payload(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_event_payload_with_context(self, context) + + def __init__( + self, + source: "Reference", + observable_reference: "Reference", + time_stamp: str, + source_semantic_id: Optional["Reference"] = None, + observable_semantic_id: Optional["Reference"] = None, + topic: Optional[str] = None, + subject_id: Optional["Reference"] = None, + payload: Optional[bytes] = None, + ) -> None: + """Initialize with the given values.""" + self.source = source + self.observable_reference = observable_reference + self.time_stamp = time_stamp + self.source_semantic_id = source_semantic_id + self.observable_semantic_id = observable_semantic_id + self.topic = topic + self.subject_id = subject_id + self.payload = payload + + +class EventElement(SubmodelElement): + """ + An event element. + + .. note:: + + This element is experimental and therefore may be subject to change or may be + removed completely in future versions of the meta-model. + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElement.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + + +class BasicEventElement(EventElement): + """ + A basic event element. + + .. note:: + + This element is experimental and therefore may be subject to change or may be + removed completely in future versions of the meta-model. + """ + + #: Reference to a referable, e.g., a data element or + #: a submodel, that is being observed. + observed: "Reference" + + #: Direction of event. + #: + #: Can be ``{ Input, Output }``. + direction: "Direction" + + #: State of event. + #: + #: Can be ``{ On, Off }``. + state: "StateOfEvent" + + #: Information for the outer message infrastructure to schedule the event for the + #: respective communication channel. + message_topic: Optional[str] + + #: Information about which outer message infrastructure shall handle messages for + #: the :py:class:`EventElement`. Refers to a :py:class:`Submodel`, + #: :py:class:`SubmodelElementList`, :py:class:`SubmodelElementCollection` or + #: :py:class:`Entity`, which contains :py:class:`DataElement`'s describing + #: the proprietary specification for the message broker. + #: + #: .. note:: + #: + #: This proprietary specification could be standardized by using respective + #: :py:class:`Submodel`'s for different message infrastructure, e.g., OPC UA, + #: MQTT or AMQP. + message_broker: Optional["Reference"] + + #: Timestamp in UTC, when the last event was received (input direction) or sent + #: (output direction). + last_update: Optional[str] + + #: For input direction reports on the maximum frequency, the software entity behind + #: the respective :py:class:`Referable` can handle input events. + #: + #: For output events, the maximum frequency of outputting this event to an outer + #: infrastructure is specified. + #: + #: Might be not specified, i.e. if there is no minimum interval. + min_interval: Optional[str] + + #: Not applicable for input direction. + #: + #: For output direction: maximum interval in time, the respective :py:class:`Referable` + #: shall send an update of the status of the event, even if no other trigger + #: condition for the event was not met. + #: + #: Might not be specified, i.e. if there is no maximum interval. + max_interval: Optional[str] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + yield self.observed + + if recurse: + yield from self.observed.descend() + + if self.message_broker is not None: + yield self.message_broker + + if recurse: + yield from self.message_broker.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_basic_event_element(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_basic_event_element_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_basic_event_element(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_basic_event_element_with_context(self, context) + + def __init__( + self, + observed: "Reference", + direction: "Direction", + state: "StateOfEvent", + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + message_topic: Optional[str] = None, + message_broker: Optional["Reference"] = None, + last_update: Optional[str] = None, + min_interval: Optional[str] = None, + max_interval: Optional[str] = None, + ) -> None: + """Initialize with the given values.""" + EventElement.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + self.observed = observed + self.direction = direction + self.state = state + self.message_topic = message_topic + self.message_broker = message_broker + self.last_update = last_update + self.min_interval = min_interval + self.max_interval = max_interval + + +class Operation(SubmodelElement): + """ + An operation is a submodel element with input and output variables. + + :constraint AASd-134: + .. _constraint_AASd-134: + + For an :py:class:`Operation` the :py:attr:`Referable.id_short` of all + :py:attr:`OperationVariable.value`'s in + :py:attr:`input_variables`, :py:attr:`output_variables` + and :py:attr:`inoutput_variables` shall be unique. + """ + + #: Input parameter of the operation. + input_variables: Optional[List["OperationVariable"]] + + #: Output parameter of the operation. + output_variables: Optional[List["OperationVariable"]] + + #: Parameter that is input and output of the operation. + #: + #: .. note:: + #: + #: In embedded systems inoutput variables are variables that can be read but + #: that are also written by the system. Typically, this is implemented via a + #: pointer (i.e. 'by reference' instead of 'by value'). + inoutput_variables: Optional[List["OperationVariable"]] + + def over_input_variables_or_empty(self) -> Iterator["OperationVariable"]: + """Yield from :py:attr:`.input_variables` if set.""" + if self.input_variables is not None: + yield from self.input_variables + + def over_output_variables_or_empty(self) -> Iterator["OperationVariable"]: + """Yield from :py:attr:`.output_variables` if set.""" + if self.output_variables is not None: + yield from self.output_variables + + def over_inoutput_variables_or_empty(self) -> Iterator["OperationVariable"]: + """Yield from :py:attr:`.inoutput_variables` if set.""" + if self.inoutput_variables is not None: + yield from self.inoutput_variables + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + if self.input_variables is not None: + yield from _descend_list_of__operation_variable( + self.input_variables, recurse + ) + + if self.output_variables is not None: + yield from _descend_list_of__operation_variable( + self.output_variables, recurse + ) + + if self.inoutput_variables is not None: + yield from _descend_list_of__operation_variable( + self.inoutput_variables, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_operation(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_operation_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_operation(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_operation_with_context(self, context) + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + input_variables: Optional[List["OperationVariable"]] = None, + output_variables: Optional[List["OperationVariable"]] = None, + inoutput_variables: Optional[List["OperationVariable"]] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElement.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + self.input_variables = input_variables + self.output_variables = output_variables + self.inoutput_variables = inoutput_variables + + +class OperationVariable(Class): + """ + The value of an operation variable is a submodel element that is used as input + and/or output variable of an operation. + + Specification of operations in a :py:class:`Submodel` with + :py:attr:`HasKind.kind` = :py:attr:`ModellingKind.INSTANCE` are handled + identical to operations in Submodel templates (:py:class:`Submodel` with + :py:attr:`HasKind.kind` = :py:attr:`ModellingKind.TEMPLATE`). + + .. note:: + + An operation can be invoked via an API call (``InvokeOperationSync`` + and ``InvokeOperationAsync``). For further explanation see Part 2 + (IDTA-01002). + + .. note:: + + :py:class:`OperationVariable` is introduced as a separate class to + enable future extensions, *e.g.* for adding a default value or + cardinality (optional/mandatory). + """ + + #: Describes an argument or result of an operation via a submodel element + value: "SubmodelElement" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.value + + if recurse: + yield from self.value.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_operation_variable(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_operation_variable_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_operation_variable(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_operation_variable_with_context(self, context) + + def __init__(self, value: "SubmodelElement") -> None: + """Initialize with the given values.""" + self.value = value + + +class Capability(SubmodelElement): + """ + A capability is the implementation-independent description of the potential of an + asset to achieve a certain effect in the physical or virtual world. + + .. note:: + + The :py:attr:`semantic_id` of a capability is typically an ontology, which + enables reasoning on capabilities. The mapping to one or more skills + implementing the capability is done via a relationship element with the + corresponding semantics. A skill is typically a property or an operation. + In more complex cases, the mapping can also be a collection or a complete + submodel. + """ + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_capability(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_capability_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_capability(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_capability_with_context(self, context) + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElement.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + + +class ConceptDescription(Identifiable, HasDataSpecification): + """ + The semantics of a property or other elements that may have a semantic description + is defined by a concept description. + + The description of the concept should follow a standardized schema (realized as + data specification template). + + :constraint AASc-3a-004: + .. _constraint_AASc-3a-004: + + For a :py:class:`ConceptDescription` with :py:attr:`category` ``PROPERTY`` or + ``VALUE`` using data specification IEC61360, + the :py:attr:`DataSpecificationIEC61360.data_type` is mandatory and shall be + one of: ``DATE``, ``STRING``, ``STRING_TRANSLATABLE``, ``INTEGER_MEASURE``, + ``INTEGER_COUNT``, ``INTEGER_CURRENCY``, ``REAL_MEASURE``, ``REAL_COUNT``, + ``REAL_CURRENCY``, ``BOOLEAN``, ``RATIONAL``, ``RATIONAL_MEASURE``, + ``TIME``, ``TIMESTAMP``. + + .. note:: + + Note: categories are deprecated since V3.0 of Part 1a of the document series + "Details of the Asset Administration Shell". + + :constraint AASc-3a-005: + .. _constraint_AASc-3a-005: + + For a :py:class:`ConceptDescription` with :py:attr:`category` ``REFERENCE`` + using data specification template IEC61360, + the :py:attr:`DataSpecificationIEC61360.data_type` shall be + one of: ``STRING``, ``IRI``, ``IRDI``. + + .. note:: + + Note: categories are deprecated since V3.0 of Part 1a of the document series + "Details of the Asset Administration Shell". + + :constraint AASc-3a-006: + .. _constraint_AASc-3a-006: + + For a :py:class:`ConceptDescription` with :py:attr:`category` ``DOCUMENT`` + using data specification IEC61360, + the :py:attr:`DataSpecificationIEC61360.data_type` shall be one of ``FILE``, + ``BLOB``, ``HTML`` + + .. note:: + + Categories are deprecated since V3.0 of Part 1a of the document series + "Details of the Asset Administration Shell". + + :constraint AASc-3a-007: + .. _constraint_AASc-3a-007: + + For a :py:class:`ConceptDescription` with :py:attr:`category` ``QUALIFIER_TYPE`` + using data specification IEC61360, + the :py:attr:`DataSpecificationIEC61360.data_type` is mandatory and shall be + defined. + + .. note:: + + Categories are deprecated since V3.0 of Part 1a of the document series + "Details of the Asset Administration Shell". + + :constraint AASc-3a-008: + .. _constraint_AASc-3a-008: + + For a :py:class:`ConceptDescription` using data specification template IEC61360, + :py:attr:`DataSpecificationIEC61360.definition` is mandatory and shall be + defined at least in English. + + Exception: The concept description describes a value, i.e. + :py:attr:`DataSpecificationIEC61360.value` is defined. + + :constraint AASc-3a-003: + .. _constraint_AASc-3a-003: + + For a :py:class:`ConceptDescription` using data specification template IEC61360, + referenced via :py:attr:`DataSpecificationIEC61360.value_list` + :py:attr:`ValueReferencePair.value_id` + the :py:attr:`DataSpecificationIEC61360.value` shall be set. + """ + + #: Reference to an external definition the concept is compatible to or was derived + #: from. + #: + #: .. note:: + #: + #: Compare with is-case-of relationship in ISO 13584-32 & IEC EN 61360 + is_case_of: Optional[List["Reference"]] + + def over_is_case_of_or_empty(self) -> Iterator["Reference"]: + """Yield from :py:attr:`.is_case_of` if set.""" + if self.is_case_of is not None: + yield from self.is_case_of + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.administration is not None: + yield self.administration + + if recurse: + yield from self.administration.descend() + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + if self.is_case_of is not None: + yield from _descend_list_of__reference(self.is_case_of, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_concept_description(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_concept_description_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_concept_description(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_concept_description_with_context(self, context) + + def __init__( + self, + id: str, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + administration: Optional["AdministrativeInformation"] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + is_case_of: Optional[List["Reference"]] = None, + ) -> None: + """Initialize with the given values.""" + Identifiable.__init__( + self, + id, + extensions, + category, + id_short, + display_name, + description, + administration, + ) + HasDataSpecification.__init__(self, embedded_data_specifications) + self.is_case_of = is_case_of + + +class ReferenceTypes(enum.Enum): + """ + Enumeration for denoting whether an element is an external or model reference. + """ + + #: External reference. + EXTERNAL_REFERENCE = "ExternalReference" + + #: Model reference. + MODEL_REFERENCE = "ModelReference" + + +class Reference(Class): + """ + Reference to either a model element of the same or another Asset Administration + Shell or to an external entity. + + A model reference is an ordered list of keys, each key referencing an element. The + complete list of keys may for example be concatenated to a path that gives + unique access to an element. + + An external reference is a reference to an external entity. + + :constraint AASd-121: + .. _constraint_AASd-121: + + For :py:class:`Reference`'s the value of :py:attr:`Key.type` of the first key of " + :py:attr:`keys` shall be one of :py:attr:`.constants.GLOBALLY_IDENTIFIABLES`. + + :constraint AASd-122: + .. _constraint_AASd-122: + + For external references, i.e. :py:class:`Reference`'s with + :py:attr:`type` = :py:attr:`ReferenceTypes.EXTERNAL_REFERENCE`, the value + of :py:attr:`Key.type` of the first key of :py:attr:`keys` shall be one of + :py:attr:`.constants.GENERIC_GLOBALLY_IDENTIFIABLES`. + + :constraint AASd-123: + .. _constraint_AASd-123: + + For model references, i.e. :py:class:`Reference`'s with + :py:attr:`type` = :py:attr:`ReferenceTypes.MODEL_REFERENCE`, the value + of :py:attr:`Key.type` of the first key of :py:attr:`keys` shall be one of + :py:attr:`.constants.AAS_IDENTIFIABLES`. + + :constraint AASd-124: + .. _constraint_AASd-124: + + For external references, i.e. :py:class:`Reference`'s with + :py:attr:`type` = :py:attr:`ReferenceTypes.EXTERNAL_REFERENCE`, the last + key of :py:attr:`keys` shall be either one of + :py:attr:`.constants.GENERIC_GLOBALLY_IDENTIFIABLES` or one of + :py:attr:`.constants.GENERIC_FRAGMENT_KEYS`. + + :constraint AASd-137: + .. _constraint_AASd-137: + + For external references, i.e. :py:class:`Reference`'s with + :py:attr:`type` = :py:attr:`ReferenceTypes.EXTERNAL_REFERENCE`, + the value of :py:attr:`Key.type` of any key in :py:attr:`keys` + shall not be one of :py:attr:`.constants.AAS_REFERABLES`. + + :constraint AASd-125: + .. _constraint_AASd-125: + + For model references, i.e. :py:class:`Reference`'s with + :py:attr:`type` = :py:attr:`ReferenceTypes.MODEL_REFERENCE`, with more + than one key in :py:attr:`keys` the value of :py:attr:`Key.type` + of each of the keys following the first + key of :py:attr:`keys` shall be one of :py:attr:`.constants.FRAGMENT_KEYS`. + + .. note:: + + :ref:`Constraint AASd-125 ` ensures that the shortest path is used. + + :constraint AASd-126: + .. _constraint_AASd-126: + + For model references, i.e. :py:class:`Reference`'s with + :py:attr:`type` = :py:attr:`ReferenceTypes.MODEL_REFERENCE`, with more + than one key in :py:attr:`keys` the value of :py:attr:`Key.type` + of the last key in the reference key chain may be + one of :py:attr:`.constants.GENERIC_FRAGMENT_KEYS` or no key at all + shall have a value out of :py:attr:`.constants.GENERIC_FRAGMENT_KEYS`. + + :constraint AASd-127: + .. _constraint_AASd-127: + + For model references, i.e. :py:class:`Reference`'s with + :py:attr:`type` = :py:attr:`ReferenceTypes.MODEL_REFERENCE`, with more + than one key in :py:attr:`keys` a key with :py:attr:`Key.type` + :py:attr:`KeyTypes.FRAGMENT_REFERENCE` shall be preceded by a key with + :py:attr:`Key.type` :py:attr:`KeyTypes.FILE` or :py:attr:`KeyTypes.BLOB`. All other + AAS fragments, i.e. :py:attr:`Key.type` values + out of :py:attr:`.constants.AAS_SUBMODEL_ELEMENTS_AS_KEYS`, do not support fragments. + + .. note:: + + Which kind of fragments are supported depends on the content type and the + specification of allowed fragment identifiers for the corresponding resource + being referenced via the reference. + + :constraint AASd-128: + .. _constraint_AASd-128: + + For model references, i.e. :py:class:`Reference`'s with + :py:attr:`type` = :py:attr:`ReferenceTypes.MODEL_REFERENCE`, the + :py:attr:`Key.value` of a :py:class:`Key` preceded by a :py:class:`Key` with + :py:attr:`Key.type` = :py:attr:`KeyTypes.SUBMODEL_ELEMENT_LIST` is an integer + number denoting the position in the array of the submodel element list. + """ + + #: Type of the reference. + #: + #: Denotes whether the reference is an external reference or a model reference. + type: "ReferenceTypes" + + #: Expected :py:attr:`HasSemantics.semantic_id` of the referenced model element + #: (:py:attr:`type` = :py:attr:`ReferenceTypes.MODEL_REFERENCE`); there + #: typically is no semantic ID for the referenced object of external references + #: (:py:attr:`type` = :py:attr:`ReferenceTypes.EXTERNAL_REFERENCE`). + #: + #: .. note:: + #: + #: If :py:attr:`referred_semantic_id` is defined, the + #: :py:attr:`HasSemantics.semantic_id` of the model element referenced should + #: have a matching semantic ID. If this is not the case, a validator should + #: raise a warning. + referred_semantic_id: Optional["Reference"] + + #: Unique references in their name space. + keys: List["Key"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.referred_semantic_id is not None: + yield self.referred_semantic_id + + if recurse: + yield from self.referred_semantic_id.descend() + + yield from _descend_list_of__key(self.keys, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_reference(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_reference_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_reference(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_reference_with_context(self, context) + + def __init__( + self, + type: "ReferenceTypes", + keys: List["Key"], + referred_semantic_id: Optional["Reference"] = None, + ) -> None: + """Initialize with the given values.""" + self.type = type + self.keys = keys + self.referred_semantic_id = referred_semantic_id + + +class Key(Class): + """A key is a reference to an element by its ID.""" + + #: Denotes which kind of entity is referenced. + #: + #: If :py:attr:`type` = :py:attr:`KeyTypes.GLOBAL_REFERENCE`, + #: the key represents a reference to a source that can be globally identified. + #: + #: If :py:attr:`type` = :py:attr:`KeyTypes.FRAGMENT_REFERENCE` the key represents + #: a bookmark or a similar local identifier within its parent element as specified + #: by the key that precedes this key. + #: + #: In all other cases, the key references a model element of the same or another + #: Asset Administration Shell. + #: The name of the model element is explicitly listed. + type: "KeyTypes" + + #: The key value, for example an IRDI or a URI or the ID-short or any other + #: fragment value + value: str + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_key(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_key_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_key(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_key_with_context(self, context) + + def __init__(self, type: "KeyTypes", value: str) -> None: + """Initialize with the given values.""" + self.type = type + self.value = value + + +class KeyTypes(enum.Enum): + """Enumeration of different key value types within a key.""" + + ANNOTATED_RELATIONSHIP_ELEMENT = "AnnotatedRelationshipElement" + + ASSET_ADMINISTRATION_SHELL = "AssetAdministrationShell" + + BASIC_EVENT_ELEMENT = "BasicEventElement" + + BLOB = "Blob" + + CAPABILITY = "Capability" + + CONCEPT_DESCRIPTION = "ConceptDescription" + + #: Data element. + #: + #: .. note:: + #: + #: Data elements are abstract, *i.e.* if a key uses :py:attr:`DATA_ELEMENT` + #: the reference may be a property, file, etc. + DATA_ELEMENT = "DataElement" + + ENTITY = "Entity" + + #: Event. + #: + #: .. note:: + #: + #: :py:class:`EventElement` is abstract. + EVENT_ELEMENT = "EventElement" + + FILE = "File" + + #: Bookmark or a similar local identifier of a subordinate part of + #: a primary resource + FRAGMENT_REFERENCE = "FragmentReference" + + GLOBAL_REFERENCE = "GlobalReference" + + #: Identifiable. + #: + #: .. note:: + #: + #: Identifiable is abstract, i.e. if a key uses "Identifiable" the reference + #: may be an :py:class:`AssetAdministrationShell`, a :py:class:`Submodel` or + #: a :py:class:`ConceptDescription`. + IDENTIFIABLE = "Identifiable" + + #: Property with a value that can be provided in multiple languages + MULTI_LANGUAGE_PROPERTY = "MultiLanguageProperty" + + OPERATION = "Operation" + + PROPERTY = "Property" + + #: Range with min and max + RANGE = "Range" + + REFERABLE = "Referable" + + #: Reference + REFERENCE_ELEMENT = "ReferenceElement" + + #: Relationship + RELATIONSHIP_ELEMENT = "RelationshipElement" + + SUBMODEL = "Submodel" + + #: Submodel Element + #: + #: .. note:: + #: + #: Submodel Element is abstract, *i.e.* if a key uses :py:attr:`SUBMODEL_ELEMENT` + #: the reference may be a :py:class:`Property`, a :py:class:`SubmodelElementList`, + #: an :py:class:`Operation` etc. + SUBMODEL_ELEMENT = "SubmodelElement" + + #: Struct of :py:class:`SubmodelElement`'s + SUBMODEL_ELEMENT_COLLECTION = "SubmodelElementCollection" + + #: List of :py:class:`SubmodelElement`'s + SUBMODEL_ELEMENT_LIST = "SubmodelElementList" + + +class DataTypeDefXSD(enum.Enum): + """ + Enumeration listing selected XSD anySimpleTypes of XML Schema 1.0. + + See: https://www.w3.org/TR/xmlschema-2/#built-in-primitive-datatypes + + .. note:: + + RDF uses XML Schema Built-in data types from Version 1.1 but recommends + to use only a subset of XSD data types. That is why they are excluded + from the allowed data types in :py:class:`DataTypeDefXSD`. + + * XSD BuildIn List types are not supported (``ENTITIES``, ``IDREFS`` + and ``NMTOKENS``). + * XSD string BuildIn types are not supported (``normalizedString``, + ``token``, ``language``, ``NCName``, ``ENTITY``, ``ID``, ``IDREF``). + * The following XSD primitive types are not supported: ``NOTATION``, + ``QName``. + + .. note:: + + Additionally, the following RDF types are not supported in + :py:class:`DataTypeDefXSD`: ``HTML`` and ``XMLLiteral``. + + .. note:: + + Numeric data types in XML Schema are based on the definitions of + IEEE 754 with slight adoptions. For instance, :py:attr:`FLOAT` and + :py:attr:`DOUBLE` use different exponent ranges. In any case, solely + the XML Schema data type definitions are applicable for AAS values. + """ + + ANY_URI = "xs:anyURI" + + BASE_64_BINARY = "xs:base64Binary" + + BOOLEAN = "xs:boolean" + + BYTE = "xs:byte" + + DATE = "xs:date" + + DATE_TIME = "xs:dateTime" + + DECIMAL = "xs:decimal" + + DOUBLE = "xs:double" + + DURATION = "xs:duration" + + FLOAT = "xs:float" + + G_DAY = "xs:gDay" + + G_MONTH = "xs:gMonth" + + G_MONTH_DAY = "xs:gMonthDay" + + G_YEAR = "xs:gYear" + + G_YEAR_MONTH = "xs:gYearMonth" + + HEX_BINARY = "xs:hexBinary" + + INT = "xs:int" + + INTEGER = "xs:integer" + + LONG = "xs:long" + + NEGATIVE_INTEGER = "xs:negativeInteger" + + NON_NEGATIVE_INTEGER = "xs:nonNegativeInteger" + + NON_POSITIVE_INTEGER = "xs:nonPositiveInteger" + + POSITIVE_INTEGER = "xs:positiveInteger" + + SHORT = "xs:short" + + STRING = "xs:string" + + TIME = "xs:time" + + UNSIGNED_BYTE = "xs:unsignedByte" + + UNSIGNED_INT = "xs:unsignedInt" + + UNSIGNED_LONG = "xs:unsignedLong" + + UNSIGNED_SHORT = "xs:unsignedShort" + + +class AbstractLangString(Class): + """Strings with language tags""" + + #: Language tag conforming to BCP 47 + language: str + + #: Text in the :py:attr:`language` + text: str + + def __init__(self, language: str, text: str) -> None: + """Initialize with the given values.""" + self.language = language + self.text = text + + +class LangStringNameType(AbstractLangString): + """ + String with length 128 maximum and minimum 1 characters and with language tags + """ + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_lang_string_name_type(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_lang_string_name_type_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_lang_string_name_type(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_lang_string_name_type_with_context(self, context) + + def __init__(self, language: str, text: str) -> None: + """Initialize with the given values.""" + AbstractLangString.__init__(self, language, text) + + +class LangStringTextType(AbstractLangString): + """ + String with length 1023 maximum and minimum 1 characters and with language tags + """ + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_lang_string_text_type(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_lang_string_text_type_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_lang_string_text_type(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_lang_string_text_type_with_context(self, context) + + def __init__(self, language: str, text: str) -> None: + """Initialize with the given values.""" + AbstractLangString.__init__(self, language, text) + + +class Environment(Class): + """ + Container for the sets of different identifiables. + + .. note:: + + Environment is not an identifiable or referable element. It is introduced + to enable file transfer as well as serialization. + """ + + #: Asset Administration Shell + asset_administration_shells: Optional[List["AssetAdministrationShell"]] + + #: Submodel + submodels: Optional[List["Submodel"]] + + #: Concept description + concept_descriptions: Optional[List["ConceptDescription"]] + + def over_asset_administration_shells_or_empty( + self, + ) -> Iterator["AssetAdministrationShell"]: + """Yield from :py:attr:`.asset_administration_shells` if set.""" + if self.asset_administration_shells is not None: + yield from self.asset_administration_shells + + def over_submodels_or_empty(self) -> Iterator["Submodel"]: + """Yield from :py:attr:`.submodels` if set.""" + if self.submodels is not None: + yield from self.submodels + + def over_concept_descriptions_or_empty(self) -> Iterator["ConceptDescription"]: + """Yield from :py:attr:`.concept_descriptions` if set.""" + if self.concept_descriptions is not None: + yield from self.concept_descriptions + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.asset_administration_shells is not None: + yield from _descend_list_of__asset_administration_shell( + self.asset_administration_shells, recurse + ) + + if self.submodels is not None: + yield from _descend_list_of__submodel(self.submodels, recurse) + + if self.concept_descriptions is not None: + yield from _descend_list_of__concept_description( + self.concept_descriptions, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_environment(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_environment_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_environment(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_environment_with_context(self, context) + + def __init__( + self, + asset_administration_shells: Optional[List["AssetAdministrationShell"]] = None, + submodels: Optional[List["Submodel"]] = None, + concept_descriptions: Optional[List["ConceptDescription"]] = None, + ) -> None: + """Initialize with the given values.""" + self.asset_administration_shells = asset_administration_shells + self.submodels = submodels + self.concept_descriptions = concept_descriptions + + +class DataSpecificationContent(Class): + """ + Data specification content is part of a data specification template and defines + which additional attributes shall be added to the element instance that references + the data specification template and meta information about the template itself. + + :constraint AASc-3a-050: + .. _constraint_AASc-3a-050: + + If the :py:class:`DataSpecificationIEC61360` is used + for an element, the value of + :py:attr:`HasDataSpecification.embedded_data_specifications` + shall contain the global reference to the IRI of the corresponding + data specification template + https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0 + """ + + +class EmbeddedDataSpecification(Class): + """Embed the content of a data specification.""" + + #: Reference to the data specification + data_specification: "Reference" + + #: Actual content of the data specification + data_specification_content: "DataSpecificationContent" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.data_specification + + if recurse: + yield from self.data_specification.descend() + + yield self.data_specification_content + + if recurse: + yield from self.data_specification_content.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_embedded_data_specification(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_embedded_data_specification_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_embedded_data_specification(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_embedded_data_specification_with_context( + self, context + ) + + def __init__( + self, + data_specification: "Reference", + data_specification_content: "DataSpecificationContent", + ) -> None: + """Initialize with the given values.""" + self.data_specification = data_specification + self.data_specification_content = data_specification_content + + +class DataTypeIEC61360(enum.Enum): + + #: values containing a calendar date, conformant to ISO 8601:2004 Format yyyy-mm-dd + #: Example from IEC 61360-1:2017: "1999-05-31" is the [DATE] representation of: + #: "31 May 1999". + DATE = "DATE" + + #: values consisting of sequence of characters but cannot be translated into other + #: languages + STRING = "STRING" + + #: values containing string but shall be represented as different string in different + #: languages + STRING_TRANSLATABLE = "STRING_TRANSLATABLE" + + #: values containing values that are measure of type INTEGER. In addition such a value + #: comes with a physical unit. + INTEGER_MEASURE = "INTEGER_MEASURE" + + #: values containing values of type INTEGER but are no currencies or measures + INTEGER_COUNT = "INTEGER_COUNT" + + #: values containing values of type INTEGER that are currencies + INTEGER_CURRENCY = "INTEGER_CURRENCY" + + #: values containing values that are measures of type REAL. In addition such a value + #: comes with a physical unit. + REAL_MEASURE = "REAL_MEASURE" + + #: values containing numbers that can be written as a terminating or non-terminating + #: decimal; a rational or irrational number but are no currencies or measures + REAL_COUNT = "REAL_COUNT" + + #: values containing values of type REAL that are currencies + REAL_CURRENCY = "REAL_CURRENCY" + + #: values representing truth of logic or Boolean algebra (TRUE, FALSE) + BOOLEAN = "BOOLEAN" + + #: values containing values of type STRING conformant to Rfc 3987 + #: + #: .. note:: + #: + #: In IEC61360-1 (2017) only URI is supported. + #: An IRI type allows in particular to express an URL or an URI. + IRI = "IRI" + + #: values conforming to ISO/IEC 11179 series global identifier sequences + #: + #: IRDI can be used instead of the more specific data types ICID or ISO29002_IRDI. + #: + #: ICID values are value conformant to an IRDI, where the delimiter between RAI and ID + #: is “#” while the delimiter between DI and VI is confined to “##” + #: + #: ISO29002_IRDI values are values containing a global identifier that identifies an + #: administrated item in a registry. The structure of this identifier complies with + #: identifier syntax defined in ISO/TS 29002-5. The identifier shall fulfil the + #: requirements specified in ISO/TS 29002-5 for an "international registration data + #: identifier" (IRDI). + IRDI = "IRDI" + + #: values containing values of type rational + RATIONAL = "RATIONAL" + + #: values containing values of type rational. In addition such a value comes with a + #: physical unit. + RATIONAL_MEASURE = "RATIONAL_MEASURE" + + #: values containing a time, conformant to ISO 8601:2004 but restricted to what is + #: allowed in the corresponding type in xml. + #: + #: Format hh:mm (ECLASS) + #: + #: Example from IEC 61360-1:2017: "13:20:00-05:00" is the [TIME] representation of: + #: 1.20 p.m. for Eastern Standard Time, which is 5 hours behind Coordinated + #: Universal Time (UTC). + TIME = "TIME" + + #: values containing a time, conformant to ISO 8601:2004 but restricted to what is + #: allowed in the corresponding type in xml. + #: + #: Format yyyy-mm-dd hh:mm (ECLASS) + TIMESTAMP = "TIMESTAMP" + + #: values containing an address to a file. The values are of type URI and can represent + #: an absolute or relative path. + #: + #: .. note:: + #: + #: IEC61360 does not support the file type. + FILE = "FILE" + + #: Values containing string with any sequence of characters, using the syntax of HTML5 + #: (see W3C Recommendation 28:2014) + HTML = "HTML" + + #: values containing the content of a file. Values may be binaries. + #: + #: HTML conformant to HTML5 is a special blob. + #: + #: In IEC61360 binary is for a sequence of bits, each bit being represented by “0” and + #: “1” only. A binary is a blob but a blob may also contain other source code. + BLOB = "BLOB" + + +class LevelType(Class): + """ + Value represented by up to four variants of a numeric value in a specific role: + ``MIN``, ``NOM``, ``TYP`` and ``MAX``. True means that the value is available, + false means the value is not available. + + EXAMPLE from [IEC61360-1]: In the case of having a property which is + of the LEVEL_TYPE min/max − expressing a range − only those two values + need to be provided. + + .. note:: + + This is how AAS deals with the following combinations of level types: + + * Either all attributes are false. In this case the concept is mapped + to a :py:class:`Property` and level type is ignored. + * At most one of the attributes is set to true. In this case + the concept is mapped to a :py:class:`Property`. + * Min and max are set to true. In this case the concept is mapped + to a :py:class:`Range`. + * More than one attribute is set to true but not min and max only + (see second case). In this case the concept is mapped + to a :py:class:`SubmodelElementCollection` with the corresponding + number of Properties. + Example: If attribute :py:attr:`min` and :py:attr:`nom` are set to true + then the concept is mapped to a :py:class:`SubmodelElementCollection` + with two Properties within: min and nom. + The data type of both Properties is the same. + + .. note:: + + In the cases 2. and 4. the :py:attr:`Property.semantic_id` of the Property + or Properties within the :py:class:`SubmodelElementCollection` needs to include + information about the level type. Otherwise, the semantics is not described + in a unique way. Please refer to the specification. + """ + + #: Minimum of the value + min: bool + + #: Nominal value (value as designated) + nom: bool + + #: Value as typically present + typ: bool + + #: Maximum of the value + max: bool + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_level_type(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_level_type_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_level_type(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_level_type_with_context(self, context) + + def __init__(self, min: bool, nom: bool, typ: bool, max: bool) -> None: + """Initialize with the given values.""" + self.min = min + self.nom = nom + self.typ = typ + self.max = max + + +class ValueReferencePair(Class): + """ + A value reference pair within a value list. Each value has a global unique id + defining its semantic. + """ + + #: The value of the referenced concept definition of the value in :py:attr:`value_id`. + value: str + + #: Global unique id of the value. + #: + #: .. note:: + #: + #: It is recommended to use a global reference. + value_id: Optional["Reference"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.value_id is not None: + yield self.value_id + + if recurse: + yield from self.value_id.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_value_reference_pair(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_value_reference_pair_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_value_reference_pair(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_value_reference_pair_with_context(self, context) + + def __init__(self, value: str, value_id: Optional["Reference"] = None) -> None: + """Initialize with the given values.""" + self.value = value + self.value_id = value_id + + +class ValueList(Class): + """A set of value reference pairs.""" + + #: A pair of a value together with its global unique id. + value_reference_pairs: List["ValueReferencePair"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield from _descend_list_of__value_reference_pair( + self.value_reference_pairs, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_value_list(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_value_list_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_value_list(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_value_list_with_context(self, context) + + def __init__(self, value_reference_pairs: List["ValueReferencePair"]) -> None: + """Initialize with the given values.""" + self.value_reference_pairs = value_reference_pairs + + +class LangStringPreferredNameTypeIEC61360(AbstractLangString): + """ + String with length 255 maximum and minimum 1 characters and with language tags + + .. note:: + + It is advised to keep the length of the name limited to 35 characters. + """ + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_lang_string_preferred_name_type_iec_61360(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_lang_string_preferred_name_type_iec_61360_with_context( + self, context + ) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_lang_string_preferred_name_type_iec_61360(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_lang_string_preferred_name_type_iec_61360_with_context( + self, context + ) + + def __init__(self, language: str, text: str) -> None: + """Initialize with the given values.""" + AbstractLangString.__init__(self, language, text) + + +class LangStringShortNameTypeIEC61360(AbstractLangString): + """ + String with length 18 maximum and minimum 1 characters and with language tags + """ + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_lang_string_short_name_type_iec_61360(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_lang_string_short_name_type_iec_61360_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_lang_string_short_name_type_iec_61360(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_lang_string_short_name_type_iec_61360_with_context( + self, context + ) + + def __init__(self, language: str, text: str) -> None: + """Initialize with the given values.""" + AbstractLangString.__init__(self, language, text) + + +class LangStringDefinitionTypeIEC61360(AbstractLangString): + """ + String with length 1023 maximum and minimum 1 characters and with language tags + """ + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_lang_string_definition_type_iec_61360(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_lang_string_definition_type_iec_61360_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_lang_string_definition_type_iec_61360(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_lang_string_definition_type_iec_61360_with_context( + self, context + ) + + def __init__(self, language: str, text: str) -> None: + """Initialize with the given values.""" + AbstractLangString.__init__(self, language, text) + + +class LangStringUom(AbstractLangString): + """ + String with length 256 maximum and minimum 1 characters and with language tags. + """ + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_lang_string_uom(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_lang_string_uom_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_lang_string_uom(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_lang_string_uom_with_context(self, context) + + def __init__(self, language: str, text: str) -> None: + """Initialize with the given values.""" + AbstractLangString.__init__(self, language, text) + + +class DefinitionTypeUom(AbstractLangString): + """ + String with length 2048 maximum and minimum 1 characters and with language tags. + """ + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_definition_type_uom(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_definition_type_uom_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_definition_type_uom(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_definition_type_uom_with_context(self, context) + + def __init__(self, language: str, text: str) -> None: + """Initialize with the given values.""" + AbstractLangString.__init__(self, language, text) + + +class DataSpecificationUom(DataSpecificationContent): + """ + Content of data specification template for concept descriptions for Units of + Measurement. + """ + + #: Preferred name of the unit in different languages as defined by the + #: classification system. + preferred_name: List["LangStringUom"] + + #: Symbol of the unit. + symbol: str + + #: ID of the unit defined by the classification system. + #: + #: .. note:: + #: + #: This is relevant if the classification system references the unit differently + #: from the concept description ID. + specific_unit_id: Optional[str] + + #: Definition of the unit in different languages. + definition: Optional[List["DefinitionTypeUom"]] + + #: Preferred name of the unit's quantity in different languages as defined by the + #: classification system. + #: + #: .. note:: + #: + #: :py:attr:`preferred_name_quantity` and :py:attr:`quantity_id` must be consistent if + #: both attributes are set. + #: + #: .. note:: + #: + #: If the classification system lists multiple quantities for the unit, exactly + #: one of those quantities must be selected in accordance with the properties + #: purpose. + preferred_name_quantity: Optional[List["LangStringUom"]] + + #: ID of the unit's quantity. + #: + #: .. note:: + #: + #: :py:attr:`preferred_name_quantity` and :py:attr:`quantity_id` must be consistent if + #: both attributes are set. + quantity_id: Optional[str] + + #: Name of the classification system used for the definition of units and quantities. + #: + #: .. note:: + #: + #: The most prominent classification systems should be denoted as follows: "ECLASS", + #: "IEC CDD", "UNECE Rec 20", "UNECE Rec 21", "BIPM", "OPC UA", "SAMM". + #: + #: This list is not exclusive. + classification_system: Optional[str] + + #: Version of the classification system used for the definition of units and + #: quantities. + #: + #: .. note:: + #: + #: The version shshould be denoted exactly as provided by the classification system. + classification_system_version: Optional[str] + + def over_definition_or_empty(self) -> Iterator["DefinitionTypeUom"]: + """Yield from :py:attr:`.definition` if set.""" + if self.definition is not None: + yield from self.definition + + def over_preferred_name_quantity_or_empty(self) -> Iterator["LangStringUom"]: + """Yield from :py:attr:`.preferred_name_quantity` if set.""" + if self.preferred_name_quantity is not None: + yield from self.preferred_name_quantity + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield from _descend_list_of__lang_string_uom(self.preferred_name, recurse) + + if self.definition is not None: + yield from _descend_list_of__definition_type_uom(self.definition, recurse) + + if self.preferred_name_quantity is not None: + yield from _descend_list_of__lang_string_uom( + self.preferred_name_quantity, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_data_specification_uom(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_data_specification_uom_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_data_specification_uom(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_data_specification_uom_with_context(self, context) + + def __init__( + self, + preferred_name: List["LangStringUom"], + symbol: str, + specific_unit_id: Optional[str] = None, + definition: Optional[List["DefinitionTypeUom"]] = None, + preferred_name_quantity: Optional[List["LangStringUom"]] = None, + quantity_id: Optional[str] = None, + classification_system: Optional[str] = None, + classification_system_version: Optional[str] = None, + ) -> None: + """Initialize with the given values.""" + self.preferred_name = preferred_name + self.symbol = symbol + self.specific_unit_id = specific_unit_id + self.definition = definition + self.preferred_name_quantity = preferred_name_quantity + self.quantity_id = quantity_id + self.classification_system = classification_system + self.classification_system_version = classification_system_version + + +class DataSpecificationIEC61360(DataSpecificationContent): + """ + Content of data specification template for concept descriptions for properties, + values and value lists conformant to IEC 61360. + + .. note:: + + IEC61360 requires also a globally unique identifier for a concept + description. This ID is not part of the data specification template. + Instead the :py:attr:`ConceptDescription.id` as inherited via + :py:class:`Identifiable` is used. Same holds for administrative + information like the version and revision. + + .. note:: + + :py:attr:`ConceptDescription.id_short` and :py:attr:`short_name` are very + similar. However, in this case the decision was to add + :py:attr:`short_name` explicitly to the data specification. Same holds for + :py:attr:`ConceptDescription.display_name` and + :py:attr:`preferred_name`. Same holds for + :py:attr:`ConceptDescription.description` and :py:attr:`definition`. + + :constraint AASc-3a-010: + .. _constraint_AASc-3a-010: + + If :py:attr:`value` is not empty then :py:attr:`value_list` shall be empty + and vice versa. + + .. note:: + + It is also possible that both :py:attr:`value` and :py:attr:`value_list` are + empty. This is the case for concept descriptions that define the semantics + of a property but do not have an enumeration (:py:attr:`value_list`) as + data type. + + .. note:: + + Although it is possible to define a :py:class:`ConceptDescription` for a + :attr:´value_list`, + it is not possible to reuse this :py:attr:`value_list`. + It is only possible to directly add a :py:attr:`value_list` as data type + to a specific semantic definition of a property. + + :constraint AASc-3a-009: + .. _constraint_AASc-3a-009: + + If :py:attr:`data_type` one of: + :py:attr:`DataTypeIEC61360.INTEGER_MEASURE`, + :py:attr:`DataTypeIEC61360.REAL_MEASURE`, + :py:attr:`DataTypeIEC61360.RATIONAL_MEASURE`, + :py:attr:`DataTypeIEC61360.INTEGER_CURRENCY`, + :py:attr:`DataTypeIEC61360.REAL_CURRENCY`, then :py:attr:`unit` or + :py:attr:`unit_id` shall be defined. + """ + + #: Preferred name + #: + #: .. note:: + #: + #: It is advised to keep the length of the name limited to 35 characters. + #: + #: :constraint AASc-3a-002: + #: .. _constraint_AASc-3a-002: + #: + #: :py:attr:`preferred_name` shall be provided at least in English. + preferred_name: List["LangStringPreferredNameTypeIEC61360"] + + #: Short name + short_name: Optional[List["LangStringShortNameTypeIEC61360"]] + + #: Unit + unit: Optional[str] + + #: Unique unit id + #: + #: :py:attr:`unit` and :py:attr:`unit_id` need to be consistent if both attributes + #: are set + #: + #: .. note:: + #: + #: It is recommended to use an external reference ID. + unit_id: Optional["Reference"] + + #: Source of definition + source_of_definition: Optional[str] + + #: Symbol + symbol: Optional[str] + + #: Data Type + data_type: Optional["DataTypeIEC61360"] + + #: Definition in different languages + definition: Optional[List["LangStringDefinitionTypeIEC61360"]] + + #: Value Format + #: + #: .. note:: + #: + #: The value format is based on ISO 13584-42 and IEC 61360-2. + value_format: Optional[str] + + #: List of allowed values + value_list: Optional["ValueList"] + + #: Value + value: Optional[str] + + #: Set of levels. + level_type: Optional["LevelType"] + + def over_short_name_or_empty(self) -> Iterator["LangStringShortNameTypeIEC61360"]: + """Yield from :py:attr:`.short_name` if set.""" + if self.short_name is not None: + yield from self.short_name + + def over_definition_or_empty(self) -> Iterator["LangStringDefinitionTypeIEC61360"]: + """Yield from :py:attr:`.definition` if set.""" + if self.definition is not None: + yield from self.definition + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield from _descend_list_of__lang_string_preferred_name_type_iec_61360( + self.preferred_name, recurse + ) + + if self.short_name is not None: + yield from _descend_list_of__lang_string_short_name_type_iec_61360( + self.short_name, recurse + ) + + if self.unit_id is not None: + yield self.unit_id + + if recurse: + yield from self.unit_id.descend() + + if self.definition is not None: + yield from _descend_list_of__lang_string_definition_type_iec_61360( + self.definition, recurse + ) + + if self.value_list is not None: + yield self.value_list + + if recurse: + yield from self.value_list.descend() + + if self.level_type is not None: + yield self.level_type + + if recurse: + yield from self.level_type.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_data_specification_iec_61360(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_data_specification_iec_61360_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_data_specification_iec_61360(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_data_specification_iec_61360_with_context( + self, context + ) + + def __init__( + self, + preferred_name: List["LangStringPreferredNameTypeIEC61360"], + short_name: Optional[List["LangStringShortNameTypeIEC61360"]] = None, + unit: Optional[str] = None, + unit_id: Optional["Reference"] = None, + source_of_definition: Optional[str] = None, + symbol: Optional[str] = None, + data_type: Optional["DataTypeIEC61360"] = None, + definition: Optional[List["LangStringDefinitionTypeIEC61360"]] = None, + value_format: Optional[str] = None, + value_list: Optional["ValueList"] = None, + value: Optional[str] = None, + level_type: Optional["LevelType"] = None, + ) -> None: + """Initialize with the given values.""" + self.preferred_name = preferred_name + self.short_name = short_name + self.unit = unit + self.unit_id = unit_id + self.source_of_definition = source_of_definition + self.symbol = symbol + self.data_type = data_type + self.definition = definition + self.value_format = value_format + self.value_list = value_list + self.value = value + self.level_type = level_type + + +class SerializationFormat(enum.Enum): + """ + Determines the format of serialization, for example JSON or XML. + + The values are media types conformant to RFC 2046 and registered as + described in RFC 6838 (IANA). + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces.html#SerializationFormat + """ + + #: JSON serialization of the requested data object inside an AAS + #: Environment structure + JSON = "application/json" + + #: XML serialization of the requested data object inside an AAS Environment + #: structure. + XML = "application/xml" + + #: AASX-Package (binary data) containing the requested data object + AASX = "application/aasx+xml" + + +class Descriptor(Class): + """ + The self-describing information of a network resource. + + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#Descriptor + """ + + #: Description or comments on the element. + #: + #: The description can be provided in several languages. + description: Optional[List["LangStringTextType"]] + + #: Display name. Can be provided in several languages. + display_name: Optional[List["LangStringNameType"]] + + #: An extension of the element. + #: + #: .. note:: + #: + #: Extensions are proprietary, i.e. they do not support global interoperability. + extensions: Optional[List["Extension"]] + + def over_description_or_empty(self) -> Iterator["LangStringTextType"]: + """Yield from :py:attr:`.description` if set.""" + if self.description is not None: + yield from self.description + + def over_display_name_or_empty(self) -> Iterator["LangStringNameType"]: + """Yield from :py:attr:`.display_name` if set.""" + if self.display_name is not None: + yield from self.display_name + + def over_extensions_or_empty(self) -> Iterator["Extension"]: + """Yield from :py:attr:`.extensions` if set.""" + if self.extensions is not None: + yield from self.extensions + + def __init__( + self, + description: Optional[List["LangStringTextType"]] = None, + display_name: Optional[List["LangStringNameType"]] = None, + extensions: Optional[List["Extension"]] = None, + ) -> None: + """Initialize with the given values.""" + self.description = description + self.display_name = display_name + self.extensions = extensions + + +class AssetAdministrationShellDescriptor(Descriptor): + """ + Descriptor of an Asset Administration Shell. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#AssetAdministrationShellDescriptor + """ + + #: Globally unique identification of the Asset Administration Shell. + id: str + + #: Administrative information of the Asset Administration Shell. + administration: Optional["AdministrativeInformation"] + + #: Denotes whether the asset of the described Asset Administration Shell is of + #: kind :py:attr:`AssetKind.TYPE`, :py:attr:`AssetKind.INSTANCE`, + #: :py:attr:`AssetKind.ROLE`, or :py:attr:`AssetKind.NOT_APPLICABLE`. + asset_kind: Optional["AssetKind"] + + #: The type of the asset described by the Asset Administration Shell of this + #: descriptor. + #: + #: See :py:attr:`AssetInformation.asset_type` for further information. + asset_type: Optional[str] + + #: Endpoint of the network resource. + #: + #: .. note:: + #: + #: The cardinality restriction for :py:attr:`endpoints` allows a provider to skip + #: the declaration of the location of an Asset Administration Shell and directly + #: point to the endpoints of the contained submodels through + #: :py:attr:`submodel_descriptors`' :py:attr:`SubmodelDescriptor.endpoints`. + #: A client, therefore, might decide to skip the lookup on the Asset + #: Administration Shell. + #: Nevertheless, in case the information contained in the + #: :py:class:`AssetAdministrationShellDescriptor` deviates from the + #: related :py:class:`AssetAdministrationShell`, or attributes are missing, + #: the :py:class:`AssetAdministrationShell` is always the source of truth. + endpoints: Optional[List["Endpoint"]] + + #: Global reference to the asset the Asset Administration Shell is representing. + global_asset_id: Optional[str] + + #: Short name of the Asset Administration Shell. + id_short: Optional[str] + + #: Specific asset identifier. + specific_asset_ids: Optional[List["SpecificAssetID"]] + + #: Descriptor of a submodel of the Asset Administration Shell. + submodel_descriptors: Optional[List["SubmodelDescriptor"]] + + def over_endpoints_or_empty(self) -> Iterator["Endpoint"]: + """Yield from :py:attr:`.endpoints` if set.""" + if self.endpoints is not None: + yield from self.endpoints + + def over_specific_asset_ids_or_empty(self) -> Iterator["SpecificAssetID"]: + """Yield from :py:attr:`.specific_asset_ids` if set.""" + if self.specific_asset_ids is not None: + yield from self.specific_asset_ids + + def over_submodel_descriptors_or_empty(self) -> Iterator["SubmodelDescriptor"]: + """Yield from :py:attr:`.submodel_descriptors` if set.""" + if self.submodel_descriptors is not None: + yield from self.submodel_descriptors + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.administration is not None: + yield self.administration + + if recurse: + yield from self.administration.descend() + + if self.endpoints is not None: + yield from _descend_list_of__endpoint(self.endpoints, recurse) + + if self.specific_asset_ids is not None: + yield from _descend_list_of__specific_asset_id( + self.specific_asset_ids, recurse + ) + + if self.submodel_descriptors is not None: + yield from _descend_list_of__submodel_descriptor( + self.submodel_descriptors, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_asset_administration_shell_descriptor(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_asset_administration_shell_descriptor_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_asset_administration_shell_descriptor(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_asset_administration_shell_descriptor_with_context( + self, context + ) + + def __init__( + self, + id: str, + description: Optional[List["LangStringTextType"]] = None, + display_name: Optional[List["LangStringNameType"]] = None, + extensions: Optional[List["Extension"]] = None, + administration: Optional["AdministrativeInformation"] = None, + asset_kind: Optional["AssetKind"] = None, + asset_type: Optional[str] = None, + endpoints: Optional[List["Endpoint"]] = None, + global_asset_id: Optional[str] = None, + id_short: Optional[str] = None, + specific_asset_ids: Optional[List["SpecificAssetID"]] = None, + submodel_descriptors: Optional[List["SubmodelDescriptor"]] = None, + ) -> None: + """Initialize with the given values.""" + Descriptor.__init__(self, description, display_name, extensions) + self.id = id + self.administration = administration + self.asset_kind = asset_kind + self.asset_type = asset_type + self.endpoints = endpoints + self.global_asset_id = global_asset_id + self.id_short = id_short + self.specific_asset_ids = specific_asset_ids + self.submodel_descriptors = submodel_descriptors + + +class SubmodelDescriptor(Descriptor): + """ + A descriptor of a submodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#SubmodelDescriptor + """ + + #: Endpoint of the network resource. + endpoints: List["Endpoint"] + + #: Globally unique identification of the Submodel. + id: str + + #: Administrative information of the Submodel. + administration: Optional["AdministrativeInformation"] + + #: Short name of the Submodel. + id_short: Optional[str] + + #: Identifier of the semantic definition of the Submodel. + semantic_id: Optional["Reference"] + + #: Identifier of a supplemental semantic definition of the element called supplemental + #: semantic ID of the element. + supplemental_semantic_ids: Optional[List["Reference"]] + + def over_supplemental_semantic_ids_or_empty(self) -> Iterator["Reference"]: + """Yield from :py:attr:`.supplemental_semantic_ids` if set.""" + if self.supplemental_semantic_ids is not None: + yield from self.supplemental_semantic_ids + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + yield from _descend_list_of__endpoint(self.endpoints, recurse) + + if self.administration is not None: + yield self.administration + + if recurse: + yield from self.administration.descend() + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_submodel_descriptor(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_submodel_descriptor_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_submodel_descriptor(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_submodel_descriptor_with_context(self, context) + + def __init__( + self, + endpoints: List["Endpoint"], + id: str, + description: Optional[List["LangStringTextType"]] = None, + display_name: Optional[List["LangStringNameType"]] = None, + extensions: Optional[List["Extension"]] = None, + administration: Optional["AdministrativeInformation"] = None, + id_short: Optional[str] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + ) -> None: + """Initialize with the given values.""" + Descriptor.__init__(self, description, display_name, extensions) + self.endpoints = endpoints + self.id = id + self.administration = administration + self.id_short = id_short + self.semantic_id = semantic_id + self.supplemental_semantic_ids = supplemental_semantic_ids + + +class Endpoint(Class): + """ + The endpoint description of a network resource. + + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#Endpoint + """ + + #: Protocol information of the network resource endpoint. + protocol_information: "ProtocolInformation" + + #: Name of the offered interface at the endpoint. + interface: str + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.protocol_information + + if recurse: + yield from self.protocol_information.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_endpoint(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_endpoint_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_endpoint(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_endpoint_with_context(self, context) + + def __init__( + self, protocol_information: "ProtocolInformation", interface: str + ) -> None: + """Initialize with the given values.""" + self.protocol_information = protocol_information + self.interface = interface + + +class ProtocolInformation(Class): + """ + The protocol information of a network resource endpoint. + + .. note:: + + The protocol information of a network resource endpoint is defined in + DIN SPEC 16593-2. After the release of DIN SPEC 16593-2, any required + updates will be made. This class is not part of the metamodel. + + The information in this class is a 1:1 copy from DIN SPEC 16593-2. Required + changes need to be made by the related DIN working group. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#ProtocolInformation + """ + + #: The endpoint address as a URL. + href: str + + #: Either scheme of :py:attr:`href` or scheme plus further information. + #: + #: The scheme denotes the highest level of doubtless transmission. + endpoint_protocol: Optional[str] + + #: Each entry represents one supported version at this very endpoint, the entry shall + #: be formatted according to the regulations of the protocol specified in + #: the :py:attr:`href` + endpoint_protocol_version: Optional[List[str]] + + #: Allows for referencing sub-protocols that may be used in the context of that + #: endpoint e.g. "OPC Basic SOAP" or UA Binary + subprotocol: Optional[str] + + #: If the sub-protocol field is present, a subprotocol body might be given to hold + #: extra information, e.g. node and namespace in an OPC UA server + subprotocol_body: Optional[str] + + #: If :py:attr:`subprotocol_body` is present, the encoding might be explicitly defined, + #: otherwise it shall default to subprotocols encoding scheme + subprotocol_body_encoding: Optional[str] + + #: Array of :py:class:`SecurityAttributeObject`'s. Each attribute has + #: three properties: + #: + #: :py:attr:`SecurityAttributeObject.type`: enum security type or standard: + #: + #: * ``NONE``; + #: * ``RFC_TLSA``, TLSA according to RFC 6698; or + #: * ``W3C_DID``, W3C DID document. + #: + #: :py:attr:`SecurityAttributeObject.key`: security attribute key according to standard + #: definitions of the security type. + #: + #: :py:attr:`SecurityAttributeObject.value`: security attribute value, *e.g.*, DANE + #: TLSA Resource Record. + #: + #: The :py:class:`SecurityAttributeObject`'s are treated as possible + #: alternatives (logical "or"). + security_attributes: Optional[List["SecurityAttributeObject"]] + + def over_endpoint_protocol_version_or_empty(self) -> Iterator[str]: + """Yield from :py:attr:`.endpoint_protocol_version` if set.""" + if self.endpoint_protocol_version is not None: + yield from self.endpoint_protocol_version + + def over_security_attributes_or_empty(self) -> Iterator["SecurityAttributeObject"]: + """Yield from :py:attr:`.security_attributes` if set.""" + if self.security_attributes is not None: + yield from self.security_attributes + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.security_attributes is not None: + yield from _descend_list_of__security_attribute_object( + self.security_attributes, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_protocol_information(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_protocol_information_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_protocol_information(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_protocol_information_with_context(self, context) + + def __init__( + self, + href: str, + endpoint_protocol: Optional[str] = None, + endpoint_protocol_version: Optional[List[str]] = None, + subprotocol: Optional[str] = None, + subprotocol_body: Optional[str] = None, + subprotocol_body_encoding: Optional[str] = None, + security_attributes: Optional[List["SecurityAttributeObject"]] = None, + ) -> None: + """Initialize with the given values.""" + self.href = href + self.endpoint_protocol = endpoint_protocol + self.endpoint_protocol_version = endpoint_protocol_version + self.subprotocol = subprotocol + self.subprotocol_body = subprotocol_body + self.subprotocol_body_encoding = subprotocol_body_encoding + self.security_attributes = security_attributes + + +class SecurityAttributeObject(Class): + """ + Security attributes as defined by DIN SPEC 16593-2. After the release of + DIN SPEC 16593-2, any required updates will be made. This class is not part of + the metamodel. + + The information in this table is derived from DIN SPEC 16593-2. Required changes + need to be made by the related DIN working group. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#SecurityAttributeObject + """ + + #: Enum security type or standard. + type: "SecurityTypeEnum" + + #: Security attribute key according to standard definitions of the security type. + key: str + + #: Security attribute value e.g. DANE TLSA Resource Record. + value: str + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_security_attribute_object(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_security_attribute_object_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_security_attribute_object(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_security_attribute_object_with_context( + self, context + ) + + def __init__(self, type: "SecurityTypeEnum", key: str, value: str) -> None: + """Initialize with the given values.""" + self.type = type + self.key = key + self.value = value + + +class SecurityTypeEnum(enum.Enum): + """ + The security types as defined by DIN SPEC 16593-2. After the release of + DIN SPEC 16593-2, any required updates will be made. This class is not part of + the metamodel. + + The information in this table is derived from DIN SPEC 16593-2. Required changes + need to be made by the related DIN working group. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#SecurityTypeEnum + """ + + #: No predefined security type available. + NO_SECURITY = "NONE" + + #: TLSA according to RFC 6698. + RFC_TLSA = "RFC_TLSA" + + #: Decentralized Identifiers according to the W3C Recommendation. + W3C_DID = "W3C_DID" + + +class AssetLink(Class): + """ + Asset identifier derived from either :py:class:`SpecificAssetID` or + :py:attr:`AssetInformation.global_asset_id`. + + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#AssetLink + """ + + #: Name of the Asset identifier, *i.e.*, ``globalAssetId``, a serial number, + #: manufacturer part ID, or customer part IDs. + name: str + + #: Value of the Asset Identifier. + value: str + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_asset_link(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_asset_link_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_asset_link(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_asset_link_with_context(self, context) + + def __init__(self, name: str, value: str) -> None: + """Initialize with the given values.""" + self.name = name + self.value = value + + +class ServiceDescription(Class): + """ + The self-describing information of an API Implementation. It enables + servers to present their capabilities to the clients, in particular + which profiles they implement. At least one defined profile is + required. Additional, proprietary attributes might be included. + Nevertheless, the server must not expect that a regular client + understands them. + + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#ServiceDescription + """ + + #: List of implemented server specification profiles. + profiles: List["ServiceSpecificationProfileEnum"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_service_description(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_service_description_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_service_description(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_service_description_with_context(self, context) + + def __init__(self, profiles: List["ServiceSpecificationProfileEnum"]) -> None: + """Initialize with the given values.""" + self.profiles = profiles + + +class ServiceSpecificationProfileEnum(enum.Enum): + """ + The identifiers of the standardized service specification profiles. + See also Clause Service Specifications and Profiles for further + details. + + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#ServiceSpecificationProfileEnum + + See also Clause Service Specifications and Profiles: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/service-specifications-and-profiles.html#service-specifications-and-profiles + """ + + #: Indicates that the server implemented all features of the Asset Administration + #: Shell Service Specification Full Profile in version 3.0. + AAS_SERVICE_SPECIFICATION_SSP_001_V3_0 = "https://admin-shell.io/aas/API/3/0/AssetAdministrationShellServiceSpecification/SSP-001" + + #: Indicates that the server implemented all features of the Asset Administration + #: Shell Service Specification Full Profile in version 3.1. + AAS_SERVICE_SPECIFICATION_SSP_001_V3_1 = "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellServiceSpecification/SSP-001" + + #: Indicates that the server implemented all features of the Asset Administration + #: Shell Service Specification Full Profile in version 3.2. + AAS_SERVICE_SPECIFICATION_SSP_001_V3_2 = "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellServiceSpecification/SSP-001" + + #: Indicates that the server implemented all features of the Asset Administration + #: Shell Service Specification Read Profile in version 3.0. + AAS_SERVICE_SPECIFICATION_SSP_002_V3_0 = "https://admin-shell.io/aas/API/3/0/AssetAdministrationShellServiceSpecification/SSP-002" + + #: Indicates that the server implemented all features of the Asset Administration + #: Shell Service Specification Read Profile in version 3.1. + AAS_SERVICE_SPECIFICATION_SSP_002_V3_1 = "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellServiceSpecification/SSP-002" + + #: Indicates that the server implemented all features of the Asset Administration + #: Shell Service Specification Read Profile in version 3.2. + AAS_SERVICE_SPECIFICATION_SSP_002_V3_2 = "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellServiceSpecification/SSP-002" + + #: Indicates that the server implemented all features of the Submodel Service + #: Specification Full Profile in version 3.0. + SUBMODEL_SERVICE_SPECIFICATION_SSP_001_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-001" + ) + + #: Indicates that the server implemented all features of the Submodel Service + #: Specification Full Profile in version 3.1. + SUBMODEL_SERVICE_SPECIFICATION_SSP_001_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/SubmodelServiceSpecification/SSP-001" + ) + + #: Indicates that the server implemented all features of the Submodel Service + #: Specification Full Profile in version 3.2. + SUBMODEL_SERVICE_SPECIFICATION_SSP_001_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/SubmodelServiceSpecification/SSP-001" + ) + + #: Indicates that the server implemented all features of the Submodel Service + #: Specification Value Profile in version 3.0. + SUBMODEL_SERVICE_SPECIFICATION_SSP_002_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-002" + ) + + #: Indicates that the server implemented all features of the Submodel Service + #: Specification Value Profile in version 3.1. + SUBMODEL_SERVICE_SPECIFICATION_SSP_002_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/SubmodelServiceSpecification/SSP-002" + ) + + #: Indicates that the server implemented all features of the Submodel Service + #: Specification Value Profile in version 3.2. + SUBMODEL_SERVICE_SPECIFICATION_SSP_002_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/SubmodelServiceSpecification/SSP-002" + ) + + #: Indicates that the server implemented all features of the Submodel Service + #: Specification Read Profile in version 3.0. + SUBMODEL_SERVICE_SPECIFICATION_SSP_003_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-003" + ) + + #: Indicates that the server implemented all features of the Submodel Service + #: Specification Read Profile in version 3.1. + SUBMODEL_SERVICE_SPECIFICATION_SSP_003_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/SubmodelServiceSpecification/SSP-003" + ) + + #: Indicates that the server implemented all features of the Submodel Service + #: Specification Read Profile in version 3.2. + SUBMODEL_SERVICE_SPECIFICATION_SSP_003_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/SubmodelServiceSpecification/SSP-003" + ) + + #: Indicates that the server implemented all details of the AASX File Server + #: Service Specification Full Profile in version 3.0. + AASX_FILE_SERVER_SERVICE_SPECIFICATION_SSP_001_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/AasxFileServerServiceSpecification/SSP-001" + ) + + #: Indicates that the server implemented all details of the AASX File Server + #: Service Specification Full Profile in version 3.1. + AASX_FILE_SERVER_SERVICE_SPECIFICATION_SSP_001_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/AasxFileServerServiceSpecification/SSP-001" + ) + + #: Indicates that the server implemented all details of the AASX File Server + #: Service Specification Full Profile in version 3.2. + AASX_FILE_SERVER_SERVICE_SPECIFICATION_SSP_001_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/AasxFileServerServiceSpecification/SSP-001" + ) + + #: Indicates that the server implemented all details of the AASX File Server + #: Service Specification Read Profile in version 3.1. + AASX_FILE_SERVER_SERVICE_SPECIFICATION_SSP_002_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/AasxFileServerServiceSpecification/SSP-002" + ) + + #: Indicates that the server implemented all details of the AASX File Server + #: Service Specification Read Profile in version 3.2. + AASX_FILE_SERVER_SERVICE_SPECIFICATION_SSP_002_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/AasxFileServerServiceSpecification/SSP-002" + ) + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Registry Service Specification Full Profile in version 3.0. + AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_001_V3_0 = "https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRegistryServiceSpecification/SSP-001" + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Registry Service Specification Full Profile in version 3.1. + AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_001_V3_1 = "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRegistryServiceSpecification/SSP-001" + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Registry Service Specification Full Profile in version 3.2. + AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_001_V3_2 = "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRegistryServiceSpecification/SSP-001" + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Registry Service Specification Read Profile in version 3.0. + AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_002_V3_0 = "https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRegistryServiceSpecification/SSP-002" + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Registry Service Specification Read Profile in version 3.1. + AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_002_V3_1 = "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRegistryServiceSpecification/SSP-002" + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Registry Service Specification Read Profile in version 3.2. + AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_002_V3_2 = "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRegistryServiceSpecification/SSP-002" + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Registry Service Specification Bulk Profile in version 3.1. + AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_003_V3_1 = "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRegistryServiceSpecification/SSP-003" + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Registry Service Specification Bulk Profile in version 3.2. + AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_003_V3_2 = "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRegistryServiceSpecification/SSP-003" + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Registry Service Specification Query Profile in version 3.1. + AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_004_V3_1 = "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRegistryServiceSpecification/SSP-004" + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Registry Service Specification Query Profile in version 3.2. + AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_004_V3_2 = "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRegistryServiceSpecification/SSP-004" + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Registry Service Specification Minimal Read Profile in version 3.1. + AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_005_V3_1 = "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRegistryServiceSpecification/SSP-005" + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Registry Service Specification Minimal Read Profile in version 3.2. + AAS_REGISTRY_SERVICE_SPECIFICATION_SSP_005_V3_2 = "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRegistryServiceSpecification/SSP-005" + + #: Indicates that the server implemented all details of the Submodel Registry + #: Service Specification Full Profile in version 3.0. + SUBMODEL_REGISTRY_SERVICE_SPECIFICATION_SSP_001_V3_0 = "https://admin-shell.io/aas/API/3/0/SubmodelRegistryServiceSpecification/SSP-001" + + #: Indicates that the server implemented all details of the Submodel Registry + #: Service Specification Full Profile in version 3.1. + SUBMODEL_REGISTRY_SERVICE_SPECIFICATION_SSP_001_V3_1 = "https://admin-shell.io/aas/API/3/1/SubmodelRegistryServiceSpecification/SSP-001" + + #: Indicates that the server implemented all details of the Submodel Registry + #: Service Specification Full Profile in version 3.2. + SUBMODEL_REGISTRY_SERVICE_SPECIFICATION_SSP_001_V3_2 = "https://admin-shell.io/aas/API/3/2/SubmodelRegistryServiceSpecification/SSP-001" + + #: Indicates that the server implemented all details of the Submodel Registry + #: Service Specification Read Profile in version 3.0. + SUBMODEL_REGISTRY_SERVICE_SPECIFICATION_SSP_002_V3_0 = "https://admin-shell.io/aas/API/3/0/SubmodelRegistryServiceSpecification/SSP-002" + + #: Indicates that the server implemented all details of the Submodel Registry + #: Service Specification Read Profile in version 3.1. + SUBMODEL_REGISTRY_SERVICE_SPECIFICATION_SSP_002_V3_1 = "https://admin-shell.io/aas/API/3/1/SubmodelRegistryServiceSpecification/SSP-002" + + #: Indicates that the server implemented all details of the Submodel Registry + #: Service Specification Read Profile in version 3.2. + SUBMODEL_REGISTRY_SERVICE_SPECIFICATION_SSP_002_V3_2 = "https://admin-shell.io/aas/API/3/2/SubmodelRegistryServiceSpecification/SSP-002" + + #: Indicates that the server implemented all details of the Submodel Registry + #: Service Specification Bulk Profile in version 3.1. + SUBMODEL_REGISTRY_SERVICE_SPECIFICATION_SSP_003_V3_1 = "https://admin-shell.io/aas/API/3/1/SubmodelRegistryServiceSpecification/SSP-003" + + #: Indicates that the server implemented all details of the Submodel Registry + #: Service Specification Bulk Profile in version 3.2. + SUBMODEL_REGISTRY_SERVICE_SPECIFICATION_SSP_003_V3_2 = "https://admin-shell.io/aas/API/3/2/SubmodelRegistryServiceSpecification/SSP-003" + + #: Indicates that the server implemented all details of the Submodel Registry + #: Service Specification Query Profile in version 3.1. + SUBMODEL_REGISTRY_SERVICE_SPECIFICATION_SSP_004_V3_1 = "https://admin-shell.io/aas/API/3/1/SubmodelRegistryServiceSpecification/SSP-004" + + #: Indicates that the server implemented all details of the Submodel Registry + #: Service Specification Query Profile in version 3.2. + SUBMODEL_REGISTRY_SERVICE_SPECIFICATION_SSP_004_V3_2 = "https://admin-shell.io/aas/API/3/2/SubmodelRegistryServiceSpecification/SSP-004" + + #: Indicates that the server implemented all details of the Discovery Service + #: Specification Full Profile in version 3.0. + DISCOVERY_SERVICE_SPECIFICATION_SSP_001_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/DiscoveryServiceSpecification/SSP-001" + ) + + #: Indicates that the server implemented all details of the Discovery Service + #: Specification Full Profile in version 3.1. + DISCOVERY_SERVICE_SPECIFICATION_SSP_001_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/DiscoveryServiceSpecification/SSP-001" + ) + + #: Indicates that the server implemented all details of the Discovery Service + #: Specification Full Profile in version 3.2. + DISCOVERY_SERVICE_SPECIFICATION_SSP_001_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/DiscoveryServiceSpecification/SSP-001" + ) + + #: Indicates that the server implemented all details of the Discovery Service + #: Specification Read Profile in version 3.1. + DISCOVERY_SERVICE_SPECIFICATION_SSP_002_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/DiscoveryServiceSpecification/SSP-002" + ) + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Repository Service Specification Full Profile in version 3.0. + AAS_REPOSITORY_SERVICE_SPECIFICATION_SSP_001_V3_0 = "https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRepositoryServiceSpecification/SSP-001" + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Repository Service Specification Full Profile in version 3.1. + AAS_REPOSITORY_SERVICE_SPECIFICATION_SSP_001_V3_1 = "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRepositoryServiceSpecification/SSP-001" + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Repository Service Specification Read Profile in version 3.2. + AAS_REPOSITORY_SERVICE_SPECIFICATION_SSP_001_V3_2 = "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRepositoryServiceSpecification/SSP-001" + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Repository Service Specification Read Profile in version 3.0. + AAS_REPOSITORY_SERVICE_SPECIFICATION_SSP_002_V3_0 = "https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRepositoryServiceSpecification/SSP-002" + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Repository Service Specification Read Profile in version 3.1. + AAS_REPOSITORY_SERVICE_SPECIFICATION_SSP_002_V3_1 = "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRepositoryServiceSpecification/SSP-002" + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Repository Service Specification Read Profile in version 3.2. + AAS_REPOSITORY_SERVICE_SPECIFICATION_SSP_002_V3_2 = "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRepositoryServiceSpecification/SSP-002" + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Repository Service Specification Query Profile in version 3.1. + AAS_REPOSITORY_SERVICE_SPECIFICATION_SSP_003_V3_1 = "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRepositoryServiceSpecification/SSP-003" + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Repository Service Specification Query Profile in version 3.2. + AAS_REPOSITORY_SERVICE_SPECIFICATION_SSP_003_V3_2 = "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRepositoryServiceSpecification/SSP-003" + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Repository Service Specification Signature Profile in version 3.2. + AAS_REPOSITORY_SERVICE_SPECIFICATION_SSP_004_V3_2 = "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRepositoryServiceSpecification/SSP-004" + + #: Indicates that the server implemented all details of the Asset Administration + #: Shell Repository Service Specification Identifiable Profile in version 3.2. + AAS_REPOSITORY_SERVICE_SPECIFICATION_SSP_005_V3_2 = "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRepositoryServiceSpecification/SSP-005" + + #: Indicates that the server implemented all details of the Submodel Service + #: Repository Specification Full Profile in version 3.0. + SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_001_V3_0 = "https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-001" + + #: Indicates that the server implemented all details of the Submodel Service + #: Repository Specification Full Profile in version 3.1. + SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_001_V3_1 = "https://admin-shell.io/aas/API/3/1/SubmodelRepositoryServiceSpecification/SSP-001" + + #: Indicates that the server implemented all details of the Submodel Service + #: Repository Specification Full Profile in version 3.2. + SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_001_V3_2 = "https://admin-shell.io/aas/API/3/2/SubmodelRepositoryServiceSpecification/SSP-001" + + #: Indicates that the server implemented all details of the Submodel Service + #: Repository Specification Read Profile in version 3.0. + SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_002_V3_0 = "https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-002" + + #: Indicates that the server implemented all details of the Submodel Service + #: Repository Specification Read Profile in version 3.1. + SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_002_V3_1 = "https://admin-shell.io/aas/API/3/1/SubmodelRepositoryServiceSpecification/SSP-002" + + #: Indicates that the server implemented all details of the Submodel Service + #: Repository Specification Read Profile in version 3.2. + SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_002_V3_2 = "https://admin-shell.io/aas/API/3/2/SubmodelRepositoryServiceSpecification/SSP-002" + + #: Indicates that the server implemented all details of the Submodel Service + #: Repository Specification Template Profile in version 3.0. + SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_003_V3_0 = "https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-003" + + #: Indicates that the server implemented all details of the Submodel Service + #: Repository Specification Template Profile in version 3.1. + SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_003_V3_1 = "https://admin-shell.io/aas/API/3/1/SubmodelRepositoryServiceSpecification/SSP-003" + + #: Indicates that the server implemented all details of the Submodel Service + #: Repository Specification Template Profile in version 3.2. + SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_003_V3_2 = "https://admin-shell.io/aas/API/3/2/SubmodelRepositoryServiceSpecification/SSP-003" + + #: Indicates that the server implemented all details of the Submodel Service + #: Repository Specification Template Read Profile in version 3.0. + SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_004_V3_0 = "https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-004" + + #: Indicates that the server implemented all details of the Submodel Service + #: Repository Specification Template Read Profile in version 3.1. + SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_004_V3_1 = "https://admin-shell.io/aas/API/3/1/SubmodelRepositoryServiceSpecification/SSP-004" + + #: Indicates that the server implemented all details of the Submodel Service + #: Repository Specification Template Read Profile in version 3.2. + SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_004_V3_2 = "https://admin-shell.io/aas/API/3/2/SubmodelRepositoryServiceSpecification/SSP-004" + + #: Indicates that the server implemented all details of the Submodel Service + #: Repository Specification Query Profile in version 3.1. + SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_005_V3_1 = "https://admin-shell.io/aas/API/3/1/SubmodelRepositoryServiceSpecification/SSP-005" + + #: Indicates that the server implemented all details of the Submodel Service + #: Repository Specification Query Profile in version 3.2. + SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_005_V3_2 = "https://admin-shell.io/aas/API/3/2/SubmodelRepositoryServiceSpecification/SSP-005" + + #: Indicates that the server implemented all details of the Submodel Service + #: Repository Specification Signature Profile in version 3.2. + SUBMODEL_REPOSITORY_SERVICE_SPECIFICATION_SSP_006_V3_2 = "https://admin-shell.io/aas/API/3/2/SubmodelRepositoryServiceSpecification/SSP-006" + + #: Indicates that the server implemented all details of the Concept Description + #: Repository Service Specification Profile in version 3.0. + CONCEPT_DESCRIPTION_REPOSITORY_SERVICE_SPECIFICATION_SSP_001_V3_0 = "https://admin-shell.io/aas/API/3/0/ConceptDescriptionRepositoryServiceSpecification/SSP-001" + + #: Indicates that the server implemented all details of the Concept Description + #: Repository Service Specification Profile in version 3.1. + CONCEPT_DESCRIPTION_REPOSITORY_SERVICE_SPECIFICATION_SSP_001_V3_1 = "https://admin-shell.io/aas/API/3/1/ConceptDescriptionRepositoryServiceSpecification/SSP-001" + + #: Indicates that the server implemented all details of the Concept Description + #: Repository Service Specification Query Profile in version 3.2. + CONCEPT_DESCRIPTION_REPOSITORY_SERVICE_SPECIFICATION_SSP_002_V3_2 = "https://admin-shell.io/aas/API/3/2/ConceptDescriptionRepositoryServiceSpecification/SSP-002" + + #: Indicates that the server implemented all details of the Concept Description + #: Repository Service Specification Query Profile in version 3.1. + CONCEPT_DESCRIPTION_REPOSITORY_SERVICE_SPECIFICATION_SSP_002_V3_1 = "https://admin-shell.io/aas/API/3/1/ConceptDescriptionRepositoryServiceSpecification/SSP-002" + + #: Indicates that the server implemented all details of the Concept Description + #: Repository Service Specification Signature Profile in version 3.2. + CONCEPT_DESCRIPTION_REPOSITORY_SERVICE_SPECIFICATION_SSP_003_V3_2 = "https://admin-shell.io/aas/API/3/2/ConceptDescriptionRepositoryServiceSpecification/SSP-003" + + +class RecentChange(Class): + """ + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#RecentChange + """ + + #: The point in time at which the Identifiable object was created + created_at: str + + #: The point in time at which the Identifiable object was recently updated + updated_at: str + + def __init__(self, created_at: str, updated_at: str) -> None: + """Initialize with the given values.""" + self.created_at = created_at + self.updated_at = updated_at + + +class AssetAdministrationShellRecentChange(RecentChange): + """ + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#AssetAdministrationShellRecentChange + """ + + #: Globally unique identification of the Asset Administration Shell + id: str + + #: Global reference to the asset the AAS is representing + global_asset_id: Optional[str] + + #: Specific asset identifier + specific_asset_ids: Optional[List["SpecificAssetID"]] + + def over_specific_asset_ids_or_empty(self) -> Iterator["SpecificAssetID"]: + """Yield from :py:attr:`.specific_asset_ids` if set.""" + if self.specific_asset_ids is not None: + yield from self.specific_asset_ids + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.specific_asset_ids is not None: + yield from _descend_list_of__specific_asset_id( + self.specific_asset_ids, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_asset_administration_shell_recent_change(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_asset_administration_shell_recent_change_with_context( + self, context + ) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_asset_administration_shell_recent_change(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return ( + transformer.transform_asset_administration_shell_recent_change_with_context( + self, context + ) + ) + + def __init__( + self, + created_at: str, + updated_at: str, + id: str, + global_asset_id: Optional[str] = None, + specific_asset_ids: Optional[List["SpecificAssetID"]] = None, + ) -> None: + """Initialize with the given values.""" + RecentChange.__init__(self, created_at, updated_at) + self.id = id + self.global_asset_id = global_asset_id + self.specific_asset_ids = specific_asset_ids + + +class ConceptDescriptionRecentChange(RecentChange): + """ + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#ConceptDescriptionRecentChange + """ + + #: Globally unique identification of the Submodel + id: str + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_concept_description_recent_change(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_concept_description_recent_change_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_concept_description_recent_change(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_concept_description_recent_change_with_context( + self, context + ) + + def __init__(self, created_at: str, updated_at: str, id: str) -> None: + """Initialize with the given values.""" + RecentChange.__init__(self, created_at, updated_at) + self.id = id + + +class SubmodelRecentChange(RecentChange): + """ + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#SubmodelRecentChange + """ + + #: Globally unique identification of the Submodel + id: str + + #: Identifier of the semantic definition of the Submodel + semantic_id: Optional["Reference"] + + #: Identifier of a supplemental semantic definition of the element called + #: supplemental semantic ID of the element + supplemental_semantic_ids: Optional[List["Reference"]] + + def over_supplemental_semantic_ids_or_empty(self) -> Iterator["Reference"]: + """Yield from :py:attr:`.supplemental_semantic_ids` if set.""" + if self.supplemental_semantic_ids is not None: + yield from self.supplemental_semantic_ids + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_submodel_recent_change(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_submodel_recent_change_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_submodel_recent_change(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_submodel_recent_change_with_context(self, context) + + def __init__( + self, + created_at: str, + updated_at: str, + id: str, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + ) -> None: + """Initialize with the given values.""" + RecentChange.__init__(self, created_at, updated_at) + self.id = id + self.semantic_id = semantic_id + self.supplemental_semantic_ids = supplemental_semantic_ids + + +class StatusCode(enum.Enum): + """ + Generic status codes. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#StatusCode + """ + + #: Success + SUCCESS = "Success" + + #: Successful creation of a new resource + SUCCESS_CREATED = "SuccessCreated" + + #: The reception of the request was successful + SUCCESS_ACCEPTED = "SuccessAccepted" + + #: Success with explicitly no content in the payload + SUCCESS_NO_CONTENT = "SuccessNoContent" + + #: Bad or malformed request + CLIENT_ERROR_BAD_REQUEST = "ClientErrorBadRequest" + + #: Wrong or missing authorization credentials + CLIENT_NOT_AUTHORIZED = "ClientNotAuthorized" + + #: Authorization has been refused + CLIENT_FORBIDDEN = "ClientForbidden" + + #: Operation request is not allowed + CLIENT_METHOD_NOT_ALLOWED = "ClientMethodNotAllowed" + + #: Resource not found + CLIENT_ERROR_RESOURCE_NOT_FOUND = "ClientErrorResourceNotFound" + + #: Conflict-creating resource (resource already exists) + CLIENT_RESOURCE_CONFLICT = "ClientResourceConflict" + + #: Unexpected error + SERVER_INTERNAL_ERROR = "ServerInternalError" + + #: The server has not implemented this API Operation. Intended for cases + #: where API Operations beyond the supported service profiles are requested. + SERVER_NOT_IMPLEMENTED = "ServerNotImplemented" + + #: Bad gateway + SERVER_ERROR_BAD_GATEWAY = "ServerErrorBadGateway" + + +class Result(Class): + """ + The result object. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#Result + """ + + #: Additional messages containing information for the requester + messages: Optional[List["Message"]] + + def over_messages_or_empty(self) -> Iterator["Message"]: + """Yield from :py:attr:`.messages` if set.""" + if self.messages is not None: + yield from self.messages + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.messages is not None: + yield from _descend_list_of__message(self.messages, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_result_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_result(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_result_with_context(self, context) + + def __init__(self, messages: Optional[List["Message"]] = None) -> None: + """Initialize with the given values.""" + self.messages = messages + + +class Message(Class): + """ + A message containing more information for the requester about a certain + happening in the backend. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#Message + """ + + #: The message type + message_type: "MessageTypeEnum" + + #: The message text + text: str + + #: Technology-dependent status or error code + code: Optional[str] + + #: Identifier to relate several result messages throughout several systems + correlation_id: Optional[str] + + #: Timestamp of the message + timestamp: Optional[str] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_message(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_message_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_message(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_message_with_context(self, context) + + def __init__( + self, + message_type: "MessageTypeEnum", + text: str, + code: Optional[str] = None, + correlation_id: Optional[str] = None, + timestamp: Optional[str] = None, + ) -> None: + """Initialize with the given values.""" + self.message_type = message_type + self.text = text + self.code = code + self.correlation_id = correlation_id + self.timestamp = timestamp + + +class MessageTypeEnum(enum.Enum): + """ + The message type. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#MessageTypeEnum + """ + + #: Used when the message type has not been set. + #: + #: .. note:: + #: + #: Not documented in the book prose; present as a literal in the + #: OpenAPI schema's ``messageType`` enumeration. + UNDEFINED = "Undefined" + + #: Used to inform the user about a certain fact + INFO = "Info" + + #: Used for warnings; warnings may lead to errors in the subsequent execution + WARNING = "Warning" + + #: Used for handling errors + ERROR = "Error" + + #: Used in case of an internal and/or unhandled exception + EXCEPTION = "Exception" + + +class OperationRequest(Class): + """ + The operation request object. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#OperationRequest + """ + + #: Input argument + input_arguments: Optional[List["OperationVariable"]] + + #: InOutput argument + inoutput_arguments: Optional[List["OperationVariable"]] + + #: Duration indicating when the client suggests the server to have finished + #: execution of the invoked operation. The server may take this value into account to + #: decide on its effective timeout, however, the server may or may not use by its own + #: discretion. + client_timeout_duration: Optional[str] + + def over_input_arguments_or_empty(self) -> Iterator["OperationVariable"]: + """Yield from :py:attr:`.input_arguments` if set.""" + if self.input_arguments is not None: + yield from self.input_arguments + + def over_inoutput_arguments_or_empty(self) -> Iterator["OperationVariable"]: + """Yield from :py:attr:`.inoutput_arguments` if set.""" + if self.inoutput_arguments is not None: + yield from self.inoutput_arguments + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.input_arguments is not None: + yield from _descend_list_of__operation_variable( + self.input_arguments, recurse + ) + + if self.inoutput_arguments is not None: + yield from _descend_list_of__operation_variable( + self.inoutput_arguments, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_operation_request(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_operation_request_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_operation_request(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_operation_request_with_context(self, context) + + def __init__( + self, + input_arguments: Optional[List["OperationVariable"]] = None, + inoutput_arguments: Optional[List["OperationVariable"]] = None, + client_timeout_duration: Optional[str] = None, + ) -> None: + """Initialize with the given values.""" + self.input_arguments = input_arguments + self.inoutput_arguments = inoutput_arguments + self.client_timeout_duration = client_timeout_duration + + +class OperationRequestAsync(Class): + """ + The operation request object for asynchronous invocation. + + This class is not part of the metamodel and is not itself a named class + in the specification. It corresponds to the request body of the + ``InvokeOperationAsync`` operation, which is shaped like + :py:class:`OperationRequest` with + :py:attr:`OperationRequest.client_timeout_duration` made mandatory. + + .. note:: + + This class is deliberately *not* related to :py:class:`OperationRequest` + by inheritance: a subclass constructor must exactly match + argument's type to the inherited property's declared + type, so a property declared ``Optional[Duration]`` on a base class + cannot be narrowed to a required ``Duration`` on a subclass. Making + this a standalone class lets ``client_timeout_duration`` be + genuinely required here. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces.html#_operation_invokeoperationasync + """ + + #: Input argument + input_arguments: Optional[List["OperationVariable"]] + + #: InOutput argument + inoutput_arguments: Optional[List["OperationVariable"]] + + #: Duration indicating when the client suggests the server to have finished + #: execution of the invoked operation. The server may take this value into account to + #: decide on its effective timeout, however, the server may or may not use by its own + #: discretion. + client_timeout_duration: str + + def over_input_arguments_or_empty(self) -> Iterator["OperationVariable"]: + """Yield from :py:attr:`.input_arguments` if set.""" + if self.input_arguments is not None: + yield from self.input_arguments + + def over_inoutput_arguments_or_empty(self) -> Iterator["OperationVariable"]: + """Yield from :py:attr:`.inoutput_arguments` if set.""" + if self.inoutput_arguments is not None: + yield from self.inoutput_arguments + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.input_arguments is not None: + yield from _descend_list_of__operation_variable( + self.input_arguments, recurse + ) + + if self.inoutput_arguments is not None: + yield from _descend_list_of__operation_variable( + self.inoutput_arguments, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_operation_request_async(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_operation_request_async_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_operation_request_async(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_operation_request_async_with_context(self, context) + + def __init__( + self, + client_timeout_duration: str, + input_arguments: Optional[List["OperationVariable"]] = None, + inoutput_arguments: Optional[List["OperationVariable"]] = None, + ) -> None: + """Initialize with the given values.""" + self.client_timeout_duration = client_timeout_duration + self.input_arguments = input_arguments + self.inoutput_arguments = inoutput_arguments + + +class OperationRequestValueOnly(Class): + """ + The operation request object in the ValueOnly notation. + + .. note:: + + The arguments are given in the ValueOnly serialization, *i.e.*, as + a JSON object whose keys are the ID-shorts of the argument values and + whose values are the ValueOnly serializations of the argument values. + Their shape depends on the concrete submodel elements and can not be + pinned down statically, so they are represented as open JSON objects. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#operation-request-value-only + """ + + #: Input argument + input_arguments: Optional[JsonObject] + + #: InOutput argument + inoutput_arguments: Optional[JsonObject] + + #: Duration indicating when the client suggests the server to have finished + #: execution of the invoked operation. The server may take this value into account to + #: decide on its effective timeout, however, the server may or may not use by its own + #: discretion. + client_timeout_duration: Optional[str] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_operation_request_value_only(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_operation_request_value_only_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_operation_request_value_only(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_operation_request_value_only_with_context( + self, context + ) + + def __init__( + self, + input_arguments: Optional[JsonObject] = None, + inoutput_arguments: Optional[JsonObject] = None, + client_timeout_duration: Optional[str] = None, + ) -> None: + """Initialize with the given values.""" + self.input_arguments = input_arguments + self.inoutput_arguments = inoutput_arguments + self.client_timeout_duration = client_timeout_duration + + +class OperationRequestAsyncValueOnly(Class): + """ + The operation request object for asynchronous invocation in the ValueOnly + notation. + + This class is not part of the metamodel and is not itself a named class + in the specification. It corresponds to the request body of the + ``InvokeOperationAsync`` operation in the ValueOnly notation, which is + shaped like :py:class:`OperationRequestValueOnly` with + :py:attr:`OperationRequestValueOnly.client_timeout_duration` made + mandatory. + + .. note:: + + This class is deliberately *not* related to + :py:class:`OperationRequestValueOnly` by inheritance; see the note + on :py:class:`OperationRequestAsync`. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces.html#_operation_invokeoperationasync + """ + + #: Input argument + input_arguments: Optional[JsonObject] + + #: InOutput argument + inoutput_arguments: Optional[JsonObject] + + #: Duration indicating when the client suggests the server to have finished + #: execution of the invoked operation. The server may take this value into account to + #: decide on its effective timeout, however, the server may or may not use by its own + #: discretion. + client_timeout_duration: str + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_operation_request_async_value_only(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_operation_request_async_value_only_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_operation_request_async_value_only(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_operation_request_async_value_only_with_context( + self, context + ) + + def __init__( + self, + client_timeout_duration: str, + input_arguments: Optional[JsonObject] = None, + inoutput_arguments: Optional[JsonObject] = None, + ) -> None: + """Initialize with the given values.""" + self.client_timeout_duration = client_timeout_duration + self.input_arguments = input_arguments + self.inoutput_arguments = inoutput_arguments + + +class BaseOperationResult(Class): + """ + The object containing the intermediate state of an operation. + + .. note:: + + This class is deliberately *not* related to :py:class:`Result` by + inheritance (and :py:class:`OperationResult` below is, in turn, not + related to this class by inheritance either). aas-core-codegen + refuses to generate a schema for a concrete class with concrete + descendants unless it is marked + ``@serialization(with_model_type=True)``, which would introduce a + ``modelType`` discriminator property that the official schema does + not have for this hierarchy. Flattening the hierarchy avoids that + mismatch, at the cost of repeating :py:attr:`messages` here. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#BaseOperationResult + """ + + #: Execution state + execution_state: "ExecutionState" + + #: Additional messages containing information for the requester + messages: Optional[List["Message"]] + + #: Flag indicating whether the business operation behind the operation was + #: successful (true) or not (false) + success: Optional[bool] + + def over_messages_or_empty(self) -> Iterator["Message"]: + """Yield from :py:attr:`.messages` if set.""" + if self.messages is not None: + yield from self.messages + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.messages is not None: + yield from _descend_list_of__message(self.messages, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_base_operation_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_base_operation_result_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_base_operation_result(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_base_operation_result_with_context(self, context) + + def __init__( + self, + execution_state: "ExecutionState", + messages: Optional[List["Message"]] = None, + success: Optional[bool] = None, + ) -> None: + """Initialize with the given values.""" + self.execution_state = execution_state + self.messages = messages + self.success = success + + +class OperationResult(Class): + """ + The operation's invocation result object. + + .. note:: + + This class is deliberately *not* related to :py:class:`BaseOperationResult` + by inheritance; see the note on that class. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#OperationResult + """ + + #: Execution state + execution_state: "ExecutionState" + + #: Additional messages containing information for the requester + messages: Optional[List["Message"]] + + #: Flag indicating whether the business operation behind the operation was + #: successful (true) or not (false) + success: Optional[bool] + + #: Output argument + output_arguments: Optional[List["OperationVariable"]] + + #: InOutput argument + inoutput_arguments: Optional[List["OperationVariable"]] + + def over_messages_or_empty(self) -> Iterator["Message"]: + """Yield from :py:attr:`.messages` if set.""" + if self.messages is not None: + yield from self.messages + + def over_output_arguments_or_empty(self) -> Iterator["OperationVariable"]: + """Yield from :py:attr:`.output_arguments` if set.""" + if self.output_arguments is not None: + yield from self.output_arguments + + def over_inoutput_arguments_or_empty(self) -> Iterator["OperationVariable"]: + """Yield from :py:attr:`.inoutput_arguments` if set.""" + if self.inoutput_arguments is not None: + yield from self.inoutput_arguments + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.messages is not None: + yield from _descend_list_of__message(self.messages, recurse) + + if self.output_arguments is not None: + yield from _descend_list_of__operation_variable( + self.output_arguments, recurse + ) + + if self.inoutput_arguments is not None: + yield from _descend_list_of__operation_variable( + self.inoutput_arguments, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_operation_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_operation_result_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_operation_result(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_operation_result_with_context(self, context) + + def __init__( + self, + execution_state: "ExecutionState", + messages: Optional[List["Message"]] = None, + success: Optional[bool] = None, + output_arguments: Optional[List["OperationVariable"]] = None, + inoutput_arguments: Optional[List["OperationVariable"]] = None, + ) -> None: + """Initialize with the given values.""" + self.execution_state = execution_state + self.messages = messages + self.success = success + self.output_arguments = output_arguments + self.inoutput_arguments = inoutput_arguments + + +class OperationResultValueOnly(Class): + """ + The operation's invocation result object in the ValueOnly notation. + + .. note:: + + This class is deliberately *not* related to :py:class:`BaseOperationResult` + by inheritance; see the note on that class. + + .. note:: + + The arguments are given in the ValueOnly serialization; see the note + on :py:class:`OperationRequestValueOnly`. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#operation-result-value-only + """ + + #: Execution state + execution_state: "ExecutionState" + + #: Additional messages containing information for the requester + messages: Optional[List["Message"]] + + #: Flag indicating whether the business operation behind the operation was + #: successful (true) or not (false) + success: Optional[bool] + + #: Output argument + output_arguments: Optional[JsonObject] + + #: InOutput argument + inoutput_arguments: Optional[JsonObject] + + def over_messages_or_empty(self) -> Iterator["Message"]: + """Yield from :py:attr:`.messages` if set.""" + if self.messages is not None: + yield from self.messages + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.messages is not None: + yield from _descend_list_of__message(self.messages, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_operation_result_value_only(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_operation_result_value_only_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_operation_result_value_only(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_operation_result_value_only_with_context( + self, context + ) + + def __init__( + self, + execution_state: "ExecutionState", + messages: Optional[List["Message"]] = None, + success: Optional[bool] = None, + output_arguments: Optional[JsonObject] = None, + inoutput_arguments: Optional[JsonObject] = None, + ) -> None: + """Initialize with the given values.""" + self.execution_state = execution_state + self.messages = messages + self.success = success + self.output_arguments = output_arguments + self.inoutput_arguments = inoutput_arguments + + +class ExecutionState(enum.Enum): + """ + The operation's invocation result state. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#ExecutionState + """ + + #: The operation is ready to be executed (initial state) + INITIATED = "Initiated" + + #: The operation is running + RUNNING = "Running" + + #: The operation is completed + COMPLETED = "Completed" + + #: The operation was cancelled externally + CANCELED = "Canceled" + + #: The operation failed + FAILED = "Failed" + + #: The operation has timed out due to given client or server timeout + TIMEOUT = "Timeout" + + +class OperationHandle(Class): + """ + The returned handle of an operation's asynchronous invocation used to + request the current state of the operation's execution. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#OperationHandle + """ + + #: Handle ID + handle_id: str + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_operation_handle(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_operation_handle_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_operation_handle(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_operation_handle_with_context(self, context) + + def __init__(self, handle_id: str) -> None: + """Initialize with the given values.""" + self.handle_id = handle_id + + +class Level(enum.Enum): + """ + Indicates the depth of the structure of the response or input content. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + #: All elements of a requested hierarchy level and all children on all + #: sublevels are returned. + #: + #: Children in this sense are SubmodelElements which are contained at the + #: 'submodelElements' field of Submodels, the 'value' field of + #: SubmodelElementCollections or SubmodelElementLists, the 'statements' + #: field of Entities, or the 'annotations' field of + #: AnnotatedRelationshipElements. + DEEP = "Deep" + + #: Only elements of a requested hierarchy level as well as direct children + #: are returned. By this, a client can iterate the hierarchy step by step. + CORE = "Core" + + +class Content(enum.Enum): + """ + Content indicates the kind of serialization of the response or input content. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + #: The standard serialization of the model element or child elements is + #: applied. + NORMAL = "Normal" + + #: Only metadata of an element or child elements is returned; the value is not. + METADATA = "Metadata" + + #: Only the raw value of the model element or child elements is returned; + #: it is commonly referred to as ValueOnly-serialization. + VALUE = "Value" + + #: Only applicable to Referables. Only the reference to the found element + #: is returned; potential child elements are ignored. + REFERENCE = "Reference" + + #: Returns the ID-short of the requested element and a list of ID-short + #: paths to child elements if the requested element is a Submodel, + #: a SubmodelElementCollection, a SubmodelElementList, an + #: AnnotatedRelationshipElement, or an Entity. + PATH = "Path" + + +class Extent(enum.Enum): + """ + Indicates to which extent the response or input content is being + serialized. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + #: Only applicable to BLOB-elements; the BLOB content is not returned. + #: + #: This is the default value. + WITHOUT_BLOB_VALUE = "WithoutBLOBValue" + + #: Only applicable to BLOB-elements; the BLOB content is returned as + #: base64-encoded string. + WITH_BLOB_VALUE = "WithBLOBValue" + + +class PagedResult(Class): + """ + An object connecting the actual list of returned items with metadata + information to, *e.g.*, fetch the next part of the result set. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + #: List of returned items. Any kind of Referables is possible, depending on + #: the endpoint which has been requested. + result: Optional[List["Referable"]] + + #: Additional information for the client to, *e.g.*, fetch the next part of + #: the result set. + paging_metadata: "PagingMetadata" + + def over_result_or_empty(self) -> Iterator["Referable"]: + """Yield from :py:attr:`.result` if set.""" + if self.result is not None: + yield from self.result + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.result is not None: + yield from _descend_list_of__referable(self.result, recurse) + + yield self.paging_metadata + + if recurse: + yield from self.paging_metadata.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_paged_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_paged_result_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_paged_result(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_paged_result_with_context(self, context) + + def __init__( + self, + paging_metadata: "PagingMetadata", + result: Optional[List["Referable"]] = None, + ) -> None: + """Initialize with the given values.""" + self.paging_metadata = paging_metadata + self.result = result + + +class PagingMetadata(Class): + """ + Additional information for the client to, *e.g.*, fetch the next part of + the result set. + + .. note:: + + More attributes may be added to this class in future versions. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + #: The cursor for the next part of the result set. No cursor attribute means that + #: the end of the result set has been reached. + cursor: Optional[str] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_paging_metadata(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_paging_metadata_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_paging_metadata(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_paging_metadata_with_context(self, context) + + def __init__(self, cursor: Optional[str] = None) -> None: + """Initialize with the given values.""" + self.cursor = cursor + + +class PackageDescription(Class): + """ + The package description consists of a system-wide unique packageId and + its corresponding Asset Administration Shell identifiers. + + The packageId is used to identify the AASX package at the AASX file + server. The package description is used to list the Asset + Administration Shells in a given AASX package. + + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#PackageDescription + """ + + #: File server specific package id + package_id: str + + #: Asset Administration Shell unique identifiers + aas_ids: Optional[List[str]] + + def over_aas_ids_or_empty(self) -> Iterator[str]: + """Yield from :py:attr:`.aas_ids` if set.""" + if self.aas_ids is not None: + yield from self.aas_ids + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_package_description(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_package_description_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_package_description(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_package_description_with_context(self, context) + + def __init__(self, package_id: str, aas_ids: Optional[List[str]] = None) -> None: + """Initialize with the given values.""" + self.package_id = package_id + self.aas_ids = aas_ids + + +class SubmodelElementAttributes( + Referable, HasSemantics, Qualifiable, HasDataSpecification +): + """ + The attributes shared by all submodel elements, without their value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + ) -> None: + """Initialize with the given values.""" + Referable.__init__( + self, extensions, category, id_short, display_name, description + ) + HasSemantics.__init__(self, semantic_id, supplemental_semantic_ids) + Qualifiable.__init__(self, qualifiers) + HasDataSpecification.__init__(self, embedded_data_specifications) + + +class SubmodelElementMetadata(SubmodelElementAttributes): + """ + The metadata of a submodel element, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. It is the polymorphic union of all the + ``*Metadata`` classes below. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElementAttributes.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + + +class PropertyMetadata(SubmodelElementMetadata): + """ + The metadata of a :py:class:`Property`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + #: The value type of the property. + value_type: "DataTypeDefXSD" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_property_metadata(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_property_metadata_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_property_metadata(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_property_metadata_with_context(self, context) + + def __init__( + self, + value_type: "DataTypeDefXSD", + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElementMetadata.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + self.value_type = value_type + + +class RangeMetadata(SubmodelElementMetadata): + """ + The metadata of a :py:class:`Range`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + #: The value type of the range. + value_type: "DataTypeDefXSD" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_range_metadata(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_range_metadata_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_range_metadata(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_range_metadata_with_context(self, context) + + def __init__( + self, + value_type: "DataTypeDefXSD", + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElementMetadata.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + self.value_type = value_type + + +class BlobMetadata(SubmodelElementMetadata): + """ + The metadata of a :py:class:`Blob`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_blob_metadata(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_blob_metadata_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_blob_metadata(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_blob_metadata_with_context(self, context) + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElementMetadata.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + + +class FileMetadata(SubmodelElementMetadata): + """ + The metadata of a :py:class:`File`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_file_metadata(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_file_metadata_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_file_metadata(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_file_metadata_with_context(self, context) + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElementMetadata.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + + +class MultiLanguagePropertyMetadata(SubmodelElementMetadata): + """ + The metadata of a :py:class:`MultiLanguageProperty`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_multi_language_property_metadata(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_multi_language_property_metadata_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_multi_language_property_metadata(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_multi_language_property_metadata_with_context( + self, context + ) + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElementMetadata.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + + +class ReferenceElementMetadata(SubmodelElementMetadata): + """ + The metadata of a :py:class:`ReferenceElement`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_reference_element_metadata(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_reference_element_metadata_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_reference_element_metadata(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_reference_element_metadata_with_context( + self, context + ) + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElementMetadata.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + + +class RelationshipElementMetadata(SubmodelElementMetadata): + """ + The metadata of a :py:class:`RelationshipElement`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_relationship_element_metadata(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_relationship_element_metadata_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_relationship_element_metadata(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_relationship_element_metadata_with_context( + self, context + ) + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElementMetadata.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + + +class AnnotatedRelationshipElementMetadata(SubmodelElementMetadata): + """ + The metadata of an :py:class:`AnnotatedRelationshipElement`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_annotated_relationship_element_metadata(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_annotated_relationship_element_metadata_with_context( + self, context + ) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_annotated_relationship_element_metadata(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return ( + transformer.transform_annotated_relationship_element_metadata_with_context( + self, context + ) + ) + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElementMetadata.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + + +class EntityMetadata(SubmodelElementMetadata): + """ + The metadata of an :py:class:`Entity`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_entity_metadata(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_entity_metadata_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_entity_metadata(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_entity_metadata_with_context(self, context) + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElementMetadata.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + + +class CapabilityMetadata(SubmodelElementMetadata): + """ + The metadata of a :py:class:`Capability`. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_capability_metadata(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_capability_metadata_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_capability_metadata(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_capability_metadata_with_context(self, context) + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElementMetadata.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + + +class OperationMetadata(SubmodelElementMetadata): + """ + The metadata of an :py:class:`Operation`, without its input/output/inoutput variables. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_operation_metadata(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_operation_metadata_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_operation_metadata(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_operation_metadata_with_context(self, context) + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElementMetadata.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + + +class SubmodelElementCollectionMetadata(SubmodelElementMetadata): + """ + The metadata of a :py:class:`SubmodelElementCollection`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_submodel_element_collection_metadata(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_submodel_element_collection_metadata_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_submodel_element_collection_metadata(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_submodel_element_collection_metadata_with_context( + self, context + ) + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElementMetadata.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + + +class BasicEventElementMetadata(SubmodelElementMetadata): + """ + The metadata of a :py:class:`BasicEventElement`. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + #: Direction of event. + direction: "Direction" + + #: State of event. + state: "StateOfEvent" + + #: Topic, to which the event's message is published. + message_topic: Optional[str] + + #: Reference to a broker where the event's message is published. + message_broker: Optional["Reference"] + + #: Timestamp of the last update of the event. + last_update: Optional[str] + + #: For continuous signalling, the minimum interval between two consecutive events. + min_interval: Optional[str] + + #: For continuous signalling, the maximum interval between two consecutive events. + max_interval: Optional[str] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + if self.message_broker is not None: + yield self.message_broker + + if recurse: + yield from self.message_broker.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_basic_event_element_metadata(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_basic_event_element_metadata_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_basic_event_element_metadata(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_basic_event_element_metadata_with_context( + self, context + ) + + def __init__( + self, + direction: "Direction", + state: "StateOfEvent", + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + message_topic: Optional[str] = None, + message_broker: Optional["Reference"] = None, + last_update: Optional[str] = None, + min_interval: Optional[str] = None, + max_interval: Optional[str] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElementMetadata.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + self.direction = direction + self.state = state + self.message_topic = message_topic + self.message_broker = message_broker + self.last_update = last_update + self.min_interval = min_interval + self.max_interval = max_interval + + +class SubmodelElementListMetadata(SubmodelElementMetadata): + """ + The metadata of a :py:class:`SubmodelElementList`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + #: Defines whether order in the list is relevant. + order_relevant: Optional[bool] + + #: Semantic ID the submodel elements contained in the list match to. + semantic_id_list_element: Optional["Reference"] + + #: The submodel element type of the submodel elements contained in the list. + type_value_list_element: "AASSubmodelElements" + + #: The value type of the submodel elements contained in the list. + value_type_list_element: Optional["DataTypeDefXSD"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + if self.semantic_id_list_element is not None: + yield self.semantic_id_list_element + + if recurse: + yield from self.semantic_id_list_element.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_submodel_element_list_metadata(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_submodel_element_list_metadata_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_submodel_element_list_metadata(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_submodel_element_list_metadata_with_context( + self, context + ) + + def __init__( + self, + type_value_list_element: "AASSubmodelElements", + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + order_relevant: Optional[bool] = None, + semantic_id_list_element: Optional["Reference"] = None, + value_type_list_element: Optional["DataTypeDefXSD"] = None, + ) -> None: + """Initialize with the given values.""" + SubmodelElementMetadata.__init__( + self, + extensions, + category, + id_short, + display_name, + description, + semantic_id, + supplemental_semantic_ids, + qualifiers, + embedded_data_specifications, + ) + self.order_relevant = order_relevant + self.semantic_id_list_element = semantic_id_list_element + self.type_value_list_element = type_value_list_element + self.value_type_list_element = value_type_list_element + + +class SubmodelMetadata( + Identifiable, HasKind, HasSemantics, Qualifiable, HasDataSpecification +): + """ + The metadata of a :py:class:`Submodel`, without its submodel elements. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.administration is not None: + yield self.administration + + if recurse: + yield from self.administration.descend() + + if self.semantic_id is not None: + yield self.semantic_id + + if recurse: + yield from self.semantic_id.descend() + + if self.supplemental_semantic_ids is not None: + yield from _descend_list_of__reference( + self.supplemental_semantic_ids, recurse + ) + + if self.qualifiers is not None: + yield from _descend_list_of__qualifier(self.qualifiers, recurse) + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_submodel_metadata(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_submodel_metadata_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_submodel_metadata(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_submodel_metadata_with_context(self, context) + + def __init__( + self, + id: str, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + administration: Optional["AdministrativeInformation"] = None, + kind: Optional["ModellingKind"] = None, + semantic_id: Optional["Reference"] = None, + supplemental_semantic_ids: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + ) -> None: + """Initialize with the given values.""" + Identifiable.__init__( + self, + id, + extensions, + category, + id_short, + display_name, + description, + administration, + ) + HasKind.__init__(self, kind) + HasSemantics.__init__(self, semantic_id, supplemental_semantic_ids) + Qualifiable.__init__(self, qualifiers) + HasDataSpecification.__init__(self, embedded_data_specifications) + + +class AssetAdministrationShellMetadata(Identifiable, HasDataSpecification): + """ + The metadata of an :py:class:`AssetAdministrationShell`, without its + asset information and submodel references. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + #: The reference to the Asset Administration Shell, which the Asset + #: Administration Shell was derived from. + derived_from: Optional["Reference"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.extensions is not None: + yield from _descend_list_of__extension(self.extensions, recurse) + + if self.display_name is not None: + yield from _descend_list_of__lang_string_name_type( + self.display_name, recurse + ) + + if self.description is not None: + yield from _descend_list_of__lang_string_text_type( + self.description, recurse + ) + + if self.administration is not None: + yield self.administration + + if recurse: + yield from self.administration.descend() + + if self.embedded_data_specifications is not None: + yield from _descend_list_of__embedded_data_specification( + self.embedded_data_specifications, recurse + ) + + if self.derived_from is not None: + yield self.derived_from + + if recurse: + yield from self.derived_from.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_asset_administration_shell_metadata(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_asset_administration_shell_metadata_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_asset_administration_shell_metadata(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_asset_administration_shell_metadata_with_context( + self, context + ) + + def __init__( + self, + id: str, + extensions: Optional[List["Extension"]] = None, + category: Optional[str] = None, + id_short: Optional[str] = None, + display_name: Optional[List["LangStringNameType"]] = None, + description: Optional[List["LangStringTextType"]] = None, + administration: Optional["AdministrativeInformation"] = None, + embedded_data_specifications: Optional[ + List["EmbeddedDataSpecification"] + ] = None, + derived_from: Optional["Reference"] = None, + ) -> None: + """Initialize with the given values.""" + Identifiable.__init__( + self, + id, + extensions, + category, + id_short, + display_name, + description, + administration, + ) + HasDataSpecification.__init__(self, embedded_data_specifications) + self.derived_from = derived_from + + +class ReferenceElementValue(Class): + """ + The value of a :py:class:`ReferenceElement`. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + #: Type of the reference. + #: + #: Denotes whether the reference is an external reference or a model + #: reference. + type: "ReferenceTypes" + + #: Unique references in their name space. + keys: List["Key"] + + #: Expected :py:attr:`HasSemantics.semantic_id` of the referenced model + #: element. + referred_semantic_id: Optional["Reference"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield from _descend_list_of__key(self.keys, recurse) + + if self.referred_semantic_id is not None: + yield self.referred_semantic_id + + if recurse: + yield from self.referred_semantic_id.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_reference_element_value(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_reference_element_value_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_reference_element_value(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_reference_element_value_with_context(self, context) + + def __init__( + self, + type: "ReferenceTypes", + keys: List["Key"], + referred_semantic_id: Optional["Reference"] = None, + ) -> None: + """Initialize with the given values.""" + self.type = type + self.keys = keys + self.referred_semantic_id = referred_semantic_id + + +class BlobValue(Class): + """ + The value of a :py:class:`Blob`. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + #: The content type of the BLOB, *e.g.*, ``application/pdf``. + content_type: Optional[str] + + #: The BLOB content. + value: Optional[bytes] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_blob_value(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_blob_value_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_blob_value(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_blob_value_with_context(self, context) + + def __init__( + self, content_type: Optional[str] = None, value: Optional[bytes] = None + ) -> None: + """Initialize with the given values.""" + self.content_type = content_type + self.value = value + + +class FileValue(Class): + """ + The value of a :py:class:`File`. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + #: The content type of the file, *e.g.*, ``application/pdf``. + content_type: Optional[str] + + #: The path or URL to the file content. + value: Optional[str] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_file_value(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_file_value_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_file_value(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_file_value_with_context(self, context) + + def __init__( + self, content_type: Optional[str] = None, value: Optional[str] = None + ) -> None: + """Initialize with the given values.""" + self.content_type = content_type + self.value = value + + +class RangeValue(Class): + """ + The value of a :py:class:`Range`. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + #: The minimum value of the range. + min: float + + #: The maximum value of the range. + max: float + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_range_value(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_range_value_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_range_value(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_range_value_with_context(self, context) + + def __init__(self, min: float, max: float) -> None: + """Initialize with the given values.""" + self.min = min + self.max = max + + +class RelationshipElementValue(Class): + """ + The value of a :py:class:`RelationshipElement`. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + #: Reference to the first element in the relationship. + first: Optional["Reference"] + + #: Reference to the second element in the relationship. + second: Optional["Reference"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.first is not None: + yield self.first + + if recurse: + yield from self.first.descend() + + if self.second is not None: + yield self.second + + if recurse: + yield from self.second.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_relationship_element_value(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_relationship_element_value_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_relationship_element_value(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_relationship_element_value_with_context( + self, context + ) + + def __init__( + self, first: Optional["Reference"] = None, second: Optional["Reference"] = None + ) -> None: + """Initialize with the given values.""" + self.first = first + self.second = second + + +class BasicEventElementValue(Class): + """ + The value of a :py:class:`BasicEventElement`. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + #: Reference to the :py:class:`Referable`, which defines the scope of the event. + observed: "Reference" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.observed + + if recurse: + yield from self.observed.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_basic_event_element_value(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_basic_event_element_value_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_basic_event_element_value(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_basic_event_element_value_with_context( + self, context + ) + + def __init__(self, observed: "Reference") -> None: + """Initialize with the given values.""" + self.observed = observed + + +class AnnotatedRelationshipElementValue(Class): + """ + The value of an :py:class:`AnnotatedRelationshipElement`. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + .. note:: + + The annotations are given in the ValueOnly serialization, *i.e.*, as + a JSON object whose keys are the ID-shorts of the annotations and + whose values are the ValueOnly serializations of the annotations. + Their shape depends on the concrete data elements and can not be + pinned down statically, so they are represented as an open JSON + object. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + #: Reference to the first element in the relationship. + first: Optional["Reference"] + + #: Reference to the second element in the relationship. + second: Optional["Reference"] + + #: Annotations which hold for the relationship between the two elements. + annotations: Optional[JsonObject] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + if self.first is not None: + yield self.first + + if recurse: + yield from self.first.descend() + + if self.second is not None: + yield self.second + + if recurse: + yield from self.second.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_annotated_relationship_element_value(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_annotated_relationship_element_value_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_annotated_relationship_element_value(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_annotated_relationship_element_value_with_context( + self, context + ) + + def __init__( + self, + first: Optional["Reference"] = None, + second: Optional["Reference"] = None, + annotations: Optional[JsonObject] = None, + ) -> None: + """Initialize with the given values.""" + self.first = first + self.second = second + self.annotations = annotations + + +class EntityValue(Class): + """ + The value of an :py:class:`Entity`. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + .. note:: + + The statements are given in the ValueOnly serialization, *i.e.*, as + a JSON object whose keys are the ID-shorts of the statements and + whose values are the ValueOnly serializations of the statements. + Their shape depends on the concrete submodel elements and can not be + pinned down statically, so they are represented as an open JSON + object. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + #: Describes whether the entity is a co-managed entity or a self-managed + #: entity. + entity_type: Optional["EntityType"] + + #: Global identifier of the asset the entity is representing. + global_asset_id: Optional[str] + + #: Additional domain-specific, typically proprietary identifiers for the asset, + #: each given as a single-entry JSON object mapping + #: the :py:attr:`SpecificAssetID.name` to the :py:attr:`SpecificAssetID.value`. + specific_asset_ids: Optional[List[JsonObject]] + + #: Describes statements applicable to the entity by a set of submodel elements, + #: typically with a qualified value. + statements: Optional[JsonObject] + + def over_specific_asset_ids_or_empty(self) -> Iterator[JsonObject]: + """Yield from :py:attr:`.specific_asset_ids` if set.""" + if self.specific_asset_ids is not None: + yield from self.specific_asset_ids + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_entity_value(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_entity_value_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_entity_value(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_entity_value_with_context(self, context) + + def __init__( + self, + entity_type: Optional["EntityType"] = None, + global_asset_id: Optional[str] = None, + specific_asset_ids: Optional[List[JsonObject]] = None, + statements: Optional[JsonObject] = None, + ) -> None: + """Initialize with the given values.""" + self.entity_type = entity_type + self.global_asset_id = global_asset_id + self.specific_asset_ids = specific_asset_ids + self.statements = statements + + +class GetAssetAdministrationShellsResult(Class): + """ + The result of listing all Asset Administration Shells. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + #: Additional information for the client to, *e.g.*, fetch the next part of + #: the result set. + paging_metadata: "PagingMetadata" + + #: The returned items. + result: Optional[List["AssetAdministrationShell"]] + + def over_result_or_empty(self) -> Iterator["AssetAdministrationShell"]: + """Yield from :py:attr:`.result` if set.""" + if self.result is not None: + yield from self.result + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.paging_metadata + + if recurse: + yield from self.paging_metadata.descend() + + if self.result is not None: + yield from _descend_list_of__asset_administration_shell( + self.result, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_get_asset_administration_shells_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_get_asset_administration_shells_result_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_get_asset_administration_shells_result(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return ( + transformer.transform_get_asset_administration_shells_result_with_context( + self, context + ) + ) + + def __init__( + self, + paging_metadata: "PagingMetadata", + result: Optional[List["AssetAdministrationShell"]] = None, + ) -> None: + """Initialize with the given values.""" + self.paging_metadata = paging_metadata + self.result = result + + +class GetAssetAdministrationShellsMetadataResult(Class): + """ + The result of listing the metadata of all Asset Administration Shells. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + #: Additional information for the client to, *e.g.*, fetch the next part of + #: the result set. + paging_metadata: "PagingMetadata" + + #: The returned items. + result: Optional[List["AssetAdministrationShellMetadata"]] + + def over_result_or_empty(self) -> Iterator["AssetAdministrationShellMetadata"]: + """Yield from :py:attr:`.result` if set.""" + if self.result is not None: + yield from self.result + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.paging_metadata + + if recurse: + yield from self.paging_metadata.descend() + + if self.result is not None: + yield from _descend_list_of__asset_administration_shell_metadata( + self.result, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_get_asset_administration_shells_metadata_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_get_asset_administration_shells_metadata_result_with_context( + self, context + ) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_get_asset_administration_shells_metadata_result( + self + ) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_get_asset_administration_shells_metadata_result_with_context( + self, context + ) + + def __init__( + self, + paging_metadata: "PagingMetadata", + result: Optional[List["AssetAdministrationShellMetadata"]] = None, + ) -> None: + """Initialize with the given values.""" + self.paging_metadata = paging_metadata + self.result = result + + +class GetAllAssetAdministrationShellsRecentChangesResult(Class): + """ + The result of listing the recent changes of all Asset Administration Shells. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + #: Additional information for the client to, *e.g.*, fetch the next part of + #: the result set. + paging_metadata: "PagingMetadata" + + #: The returned items. + result: Optional[List["AssetAdministrationShellRecentChange"]] + + def over_result_or_empty(self) -> Iterator["AssetAdministrationShellRecentChange"]: + """Yield from :py:attr:`.result` if set.""" + if self.result is not None: + yield from self.result + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.paging_metadata + + if recurse: + yield from self.paging_metadata.descend() + + if self.result is not None: + yield from _descend_list_of__asset_administration_shell_recent_change( + self.result, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_get_all_asset_administration_shells_recent_changes_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_get_all_asset_administration_shells_recent_changes_result_with_context( + self, context + ) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_get_all_asset_administration_shells_recent_changes_result( + self + ) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_get_all_asset_administration_shells_recent_changes_result_with_context( + self, context + ) + + def __init__( + self, + paging_metadata: "PagingMetadata", + result: Optional[List["AssetAdministrationShellRecentChange"]] = None, + ) -> None: + """Initialize with the given values.""" + self.paging_metadata = paging_metadata + self.result = result + + +class GetAssetAdministrationShellDescriptorsResult(Class): + """ + The result of listing all Asset Administration Shell descriptors. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + #: Additional information for the client to, *e.g.*, fetch the next part of + #: the result set. + paging_metadata: "PagingMetadata" + + #: The returned items. + result: Optional[List["AssetAdministrationShellDescriptor"]] + + def over_result_or_empty(self) -> Iterator["AssetAdministrationShellDescriptor"]: + """Yield from :py:attr:`.result` if set.""" + if self.result is not None: + yield from self.result + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.paging_metadata + + if recurse: + yield from self.paging_metadata.descend() + + if self.result is not None: + yield from _descend_list_of__asset_administration_shell_descriptor( + self.result, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_get_asset_administration_shell_descriptors_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_get_asset_administration_shell_descriptors_result_with_context( + self, context + ) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_get_asset_administration_shell_descriptors_result( + self + ) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_get_asset_administration_shell_descriptors_result_with_context( + self, context + ) + + def __init__( + self, + paging_metadata: "PagingMetadata", + result: Optional[List["AssetAdministrationShellDescriptor"]] = None, + ) -> None: + """Initialize with the given values.""" + self.paging_metadata = paging_metadata + self.result = result + + +class GetConceptDescriptionsResult(Class): + """ + The result of listing all concept descriptions. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + #: Additional information for the client to, *e.g.*, fetch the next part of + #: the result set. + paging_metadata: "PagingMetadata" + + #: The returned items. + result: Optional[List["ConceptDescription"]] + + def over_result_or_empty(self) -> Iterator["ConceptDescription"]: + """Yield from :py:attr:`.result` if set.""" + if self.result is not None: + yield from self.result + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.paging_metadata + + if recurse: + yield from self.paging_metadata.descend() + + if self.result is not None: + yield from _descend_list_of__concept_description(self.result, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_get_concept_descriptions_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_get_concept_descriptions_result_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_get_concept_descriptions_result(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_get_concept_descriptions_result_with_context( + self, context + ) + + def __init__( + self, + paging_metadata: "PagingMetadata", + result: Optional[List["ConceptDescription"]] = None, + ) -> None: + """Initialize with the given values.""" + self.paging_metadata = paging_metadata + self.result = result + + +class GetAllConceptDescriptionsRecentChangesResult(Class): + """ + The result of listing the recent changes of all concept descriptions. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + #: Additional information for the client to, *e.g.*, fetch the next part of + #: the result set. + paging_metadata: "PagingMetadata" + + #: The returned items. + result: Optional[List["ConceptDescriptionRecentChange"]] + + def over_result_or_empty(self) -> Iterator["ConceptDescriptionRecentChange"]: + """Yield from :py:attr:`.result` if set.""" + if self.result is not None: + yield from self.result + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.paging_metadata + + if recurse: + yield from self.paging_metadata.descend() + + if self.result is not None: + yield from _descend_list_of__concept_description_recent_change( + self.result, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_get_all_concept_descriptions_recent_changes_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_get_all_concept_descriptions_recent_changes_result_with_context( + self, context + ) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_get_all_concept_descriptions_recent_changes_result( + self + ) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_get_all_concept_descriptions_recent_changes_result_with_context( + self, context + ) + + def __init__( + self, + paging_metadata: "PagingMetadata", + result: Optional[List["ConceptDescriptionRecentChange"]] = None, + ) -> None: + """Initialize with the given values.""" + self.paging_metadata = paging_metadata + self.result = result + + +class GetPackageDescriptionsResult(Class): + """ + The result of listing all AASX package descriptions. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + #: Additional information for the client to, *e.g.*, fetch the next part of + #: the result set. + paging_metadata: "PagingMetadata" + + #: The returned items. + result: Optional[List["PackageDescription"]] + + def over_result_or_empty(self) -> Iterator["PackageDescription"]: + """Yield from :py:attr:`.result` if set.""" + if self.result is not None: + yield from self.result + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.paging_metadata + + if recurse: + yield from self.paging_metadata.descend() + + if self.result is not None: + yield from _descend_list_of__package_description(self.result, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_get_package_descriptions_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_get_package_descriptions_result_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_get_package_descriptions_result(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_get_package_descriptions_result_with_context( + self, context + ) + + def __init__( + self, + paging_metadata: "PagingMetadata", + result: Optional[List["PackageDescription"]] = None, + ) -> None: + """Initialize with the given values.""" + self.paging_metadata = paging_metadata + self.result = result + + +class GetPathItemsResult(Class): + """ + The result of listing idShortPaths. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + #: Additional information for the client to, *e.g.*, fetch the next part of + #: the result set. + paging_metadata: "PagingMetadata" + + #: The returned items. + result: Optional[List[str]] + + def over_result_or_empty(self) -> Iterator[str]: + """Yield from :py:attr:`.result` if set.""" + if self.result is not None: + yield from self.result + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.paging_metadata + + if recurse: + yield from self.paging_metadata.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_get_path_items_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_get_path_items_result_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_get_path_items_result(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_get_path_items_result_with_context(self, context) + + def __init__( + self, paging_metadata: "PagingMetadata", result: Optional[List[str]] = None + ) -> None: + """Initialize with the given values.""" + self.paging_metadata = paging_metadata + self.result = result + + +class GetReferencesResult(Class): + """ + The result of listing references. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + #: Additional information for the client to, *e.g.*, fetch the next part of + #: the result set. + paging_metadata: "PagingMetadata" + + #: The returned items. + result: Optional[List["Reference"]] + + def over_result_or_empty(self) -> Iterator["Reference"]: + """Yield from :py:attr:`.result` if set.""" + if self.result is not None: + yield from self.result + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.paging_metadata + + if recurse: + yield from self.paging_metadata.descend() + + if self.result is not None: + yield from _descend_list_of__reference(self.result, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_get_references_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_get_references_result_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_get_references_result(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_get_references_result_with_context(self, context) + + def __init__( + self, + paging_metadata: "PagingMetadata", + result: Optional[List["Reference"]] = None, + ) -> None: + """Initialize with the given values.""" + self.paging_metadata = paging_metadata + self.result = result + + +class GetSubmodelDescriptorsResult(Class): + """ + The result of listing all submodel descriptors. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + #: Additional information for the client to, *e.g.*, fetch the next part of + #: the result set. + paging_metadata: "PagingMetadata" + + #: The returned items. + result: Optional[List["SubmodelDescriptor"]] + + def over_result_or_empty(self) -> Iterator["SubmodelDescriptor"]: + """Yield from :py:attr:`.result` if set.""" + if self.result is not None: + yield from self.result + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.paging_metadata + + if recurse: + yield from self.paging_metadata.descend() + + if self.result is not None: + yield from _descend_list_of__submodel_descriptor(self.result, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_get_submodel_descriptors_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_get_submodel_descriptors_result_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_get_submodel_descriptors_result(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_get_submodel_descriptors_result_with_context( + self, context + ) + + def __init__( + self, + paging_metadata: "PagingMetadata", + result: Optional[List["SubmodelDescriptor"]] = None, + ) -> None: + """Initialize with the given values.""" + self.paging_metadata = paging_metadata + self.result = result + + +class GetSubmodelElementsMetadataResult(Class): + """ + The result of listing the metadata of all submodel elements. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + #: Additional information for the client to, *e.g.*, fetch the next part of + #: the result set. + paging_metadata: "PagingMetadata" + + #: The returned items. + result: Optional[List["SubmodelElementMetadata"]] + + def over_result_or_empty(self) -> Iterator["SubmodelElementMetadata"]: + """Yield from :py:attr:`.result` if set.""" + if self.result is not None: + yield from self.result + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.paging_metadata + + if recurse: + yield from self.paging_metadata.descend() + + if self.result is not None: + yield from _descend_list_of__submodel_element_metadata(self.result, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_get_submodel_elements_metadata_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_get_submodel_elements_metadata_result_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_get_submodel_elements_metadata_result(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_get_submodel_elements_metadata_result_with_context( + self, context + ) + + def __init__( + self, + paging_metadata: "PagingMetadata", + result: Optional[List["SubmodelElementMetadata"]] = None, + ) -> None: + """Initialize with the given values.""" + self.paging_metadata = paging_metadata + self.result = result + + +class GetSubmodelElementsResult(Class): + """ + The result of listing all submodel elements. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + #: Additional information for the client to, *e.g.*, fetch the next part of + #: the result set. + paging_metadata: "PagingMetadata" + + #: The returned items. + result: Optional[List["SubmodelElement"]] + + def over_result_or_empty(self) -> Iterator["SubmodelElement"]: + """Yield from :py:attr:`.result` if set.""" + if self.result is not None: + yield from self.result + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.paging_metadata + + if recurse: + yield from self.paging_metadata.descend() + + if self.result is not None: + yield from _descend_list_of__submodel_element(self.result, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_get_submodel_elements_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_get_submodel_elements_result_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_get_submodel_elements_result(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_get_submodel_elements_result_with_context( + self, context + ) + + def __init__( + self, + paging_metadata: "PagingMetadata", + result: Optional[List["SubmodelElement"]] = None, + ) -> None: + """Initialize with the given values.""" + self.paging_metadata = paging_metadata + self.result = result + + +class GetSubmodelElementsValueResult(Class): + """ + The result of listing the submodel elements in the ValueOnly notation. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + .. note:: + + The result is given in the ValueOnly serialization, *i.e.*, as + a JSON object whose keys are the ID-shorts of the submodel elements + and whose values are their ValueOnly serializations. Their shape + depends on the concrete submodel elements and can not be pinned down + statically, so the result is represented as an open JSON object. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + #: Additional information for the client to, *e.g.*, fetch the next part of + #: the result set. + paging_metadata: "PagingMetadata" + + #: The returned items. + result: Optional[JsonObject] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.paging_metadata + + if recurse: + yield from self.paging_metadata.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_get_submodel_elements_value_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_get_submodel_elements_value_result_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_get_submodel_elements_value_result(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_get_submodel_elements_value_result_with_context( + self, context + ) + + def __init__( + self, paging_metadata: "PagingMetadata", result: Optional[JsonObject] = None + ) -> None: + """Initialize with the given values.""" + self.paging_metadata = paging_metadata + self.result = result + + +class GetAllSubmodelsRecentChangesResult(Class): + """ + The result of listing the recent changes of all submodels. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + #: Additional information for the client to, *e.g.*, fetch the next part of + #: the result set. + paging_metadata: "PagingMetadata" + + #: The returned items. + result: Optional[List["SubmodelRecentChange"]] + + def over_result_or_empty(self) -> Iterator["SubmodelRecentChange"]: + """Yield from :py:attr:`.result` if set.""" + if self.result is not None: + yield from self.result + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.paging_metadata + + if recurse: + yield from self.paging_metadata.descend() + + if self.result is not None: + yield from _descend_list_of__submodel_recent_change(self.result, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_get_all_submodels_recent_changes_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_get_all_submodels_recent_changes_result_with_context( + self, context + ) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_get_all_submodels_recent_changes_result(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return ( + transformer.transform_get_all_submodels_recent_changes_result_with_context( + self, context + ) + ) + + def __init__( + self, + paging_metadata: "PagingMetadata", + result: Optional[List["SubmodelRecentChange"]] = None, + ) -> None: + """Initialize with the given values.""" + self.paging_metadata = paging_metadata + self.result = result + + +class GetSubmodelsMetadataResult(Class): + """ + The result of listing the metadata of all submodels. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + #: Additional information for the client to, *e.g.*, fetch the next part of + #: the result set. + paging_metadata: "PagingMetadata" + + #: The returned items. + result: Optional[List["SubmodelMetadata"]] + + def over_result_or_empty(self) -> Iterator["SubmodelMetadata"]: + """Yield from :py:attr:`.result` if set.""" + if self.result is not None: + yield from self.result + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.paging_metadata + + if recurse: + yield from self.paging_metadata.descend() + + if self.result is not None: + yield from _descend_list_of__submodel_metadata(self.result, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_get_submodels_metadata_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_get_submodels_metadata_result_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_get_submodels_metadata_result(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_get_submodels_metadata_result_with_context( + self, context + ) + + def __init__( + self, + paging_metadata: "PagingMetadata", + result: Optional[List["SubmodelMetadata"]] = None, + ) -> None: + """Initialize with the given values.""" + self.paging_metadata = paging_metadata + self.result = result + + +class GetSubmodelsResult(Class): + """ + The result of listing all submodels. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + #: Additional information for the client to, *e.g.*, fetch the next part of + #: the result set. + paging_metadata: "PagingMetadata" + + #: The returned items. + result: Optional[List["Submodel"]] + + def over_result_or_empty(self) -> Iterator["Submodel"]: + """Yield from :py:attr:`.result` if set.""" + if self.result is not None: + yield from self.result + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.paging_metadata + + if recurse: + yield from self.paging_metadata.descend() + + if self.result is not None: + yield from _descend_list_of__submodel(self.result, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_get_submodels_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_get_submodels_result_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_get_submodels_result(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_get_submodels_result_with_context(self, context) + + def __init__( + self, + paging_metadata: "PagingMetadata", + result: Optional[List["Submodel"]] = None, + ) -> None: + """Initialize with the given values.""" + self.paging_metadata = paging_metadata + self.result = result + + +class GetSubmodelsValueResult(Class): + """ + The result of listing the submodels in the ValueOnly notation. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + .. note:: + + The result is given in the ValueOnly serialization, *i.e.*, as + a JSON object whose keys are the ID-shorts of the submodel elements + and whose values are their ValueOnly serializations. Their shape + depends on the concrete submodel elements and can not be pinned down + statically, so the result is represented as an open JSON object. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + #: Additional information for the client to, *e.g.*, fetch the next part of + #: the result set. + paging_metadata: "PagingMetadata" + + #: The returned items. + result: Optional[JsonObject] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.paging_metadata + + if recurse: + yield from self.paging_metadata.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_get_submodels_value_result(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_get_submodels_value_result_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_get_submodels_value_result(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_get_submodels_value_result_with_context( + self, context + ) + + def __init__( + self, paging_metadata: "PagingMetadata", result: Optional[JsonObject] = None + ) -> None: + """Initialize with the given values.""" + self.paging_metadata = paging_metadata + self.result = result + + +class GlobalAttributeKind(enum.Enum): + """ + Enumerate the global attributes which can be used in a query. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#query-grammar + """ + + #: The current date and time in the local time zone of the server + LOCAL_NOW = "LOCALNOW" + + #: The current date and time in UTC + UTC_NOW = "UTCNOW" + + #: The current date and time of the client + CLIENT_NOW = "CLIENTNOW" + + #: The anonymous user, *i.e.*, a request without authentication + ANONYMOUS = "ANONYMOUS" + + +class DateTimeGlobalAttributeKind(enum.Enum): + """ + Enumerate the global attributes which can be used as a date-time operand + in a query. + + This is a subset of :py:class:`GlobalAttributeKind`. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#query-grammar + """ + + #: The current date and time in the local time zone of the server + LOCAL_NOW = "LOCALNOW" + + #: The current date and time in UTC + UTC_NOW = "UTCNOW" + + #: The current date and time of the client + CLIENT_NOW = "CLIENTNOW" + + +class ClaimAttribute(Class): + """ + Refer to a claim of the requester, *e.g.*, from an access token. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + #: Name of the claim + claim: str + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_claim_attribute(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_claim_attribute_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_claim_attribute(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_claim_attribute_with_context(self, context) + + def __init__(self, claim: str) -> None: + """Initialize with the given values.""" + self.claim = claim + + +class GlobalAttribute(Class): + """ + Refer to a global attribute such as the current time. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + #: Kind of the global attribute + kind: "GlobalAttributeKind" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_global_attribute(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_global_attribute_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_global_attribute(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_global_attribute_with_context(self, context) + + def __init__(self, kind: "GlobalAttributeKind") -> None: + """Initialize with the given values.""" + self.kind = kind + + +class ReferenceAttribute(Class): + """ + Refer to an attribute of a specific AAS element. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + #: Reference to the attribute + reference: str + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_reference_attribute(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_reference_attribute_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_reference_attribute(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_reference_attribute_with_context(self, context) + + def __init__(self, reference: str) -> None: + """Initialize with the given values.""" + self.reference = reference + + +class DateTimeAttributeItem(Class): + """ + Refer to a global attribute which gives a date and time. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + #: Kind of the global attribute + kind: "DateTimeGlobalAttributeKind" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_date_time_attribute_item(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_date_time_attribute_item_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_date_time_attribute_item(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_date_time_attribute_item_with_context( + self, context + ) + + def __init__(self, kind: "DateTimeGlobalAttributeKind") -> None: + """Initialize with the given values.""" + self.kind = kind + + +class FieldOperand(Class): + """ + Use the value of a field as an operand. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + #: Identifier of the field + field: str + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_field_operand(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_field_operand_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_field_operand(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_field_operand_with_context(self, context) + + def __init__(self, field: str) -> None: + """Initialize with the given values.""" + self.field = field + + +class StringLiteral(Class): + """ + Use a string literal as an operand. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + #: The string value + str_val: str + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_string_literal(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_string_literal_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_string_literal(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_string_literal_with_context(self, context) + + def __init__(self, str_val: str) -> None: + """Initialize with the given values.""" + self.str_val = str_val + + +class AttributeOperand(Class): + """ + Use an attribute as an operand. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + #: The attribute + attribute: "AttributeItem" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.attribute + + if recurse: + yield from self.attribute.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_attribute_operand(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_attribute_operand_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_attribute_operand(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_attribute_operand_with_context(self, context) + + def __init__(self, attribute: "AttributeItem") -> None: + """Initialize with the given values.""" + self.attribute = attribute + + +class NumberLiteral(Class): + """ + Use a number literal as an operand. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + #: The numerical value + num_val: float + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_number_literal(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_number_literal_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_number_literal(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_number_literal_with_context(self, context) + + def __init__(self, num_val: float) -> None: + """Initialize with the given values.""" + self.num_val = num_val + + +class HexLiteral(Class): + """ + Use a hexadecimal literal as an operand. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + #: The hexadecimal value + hex_val: str + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_hex_literal(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_hex_literal_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_hex_literal(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_hex_literal_with_context(self, context) + + def __init__(self, hex_val: str) -> None: + """Initialize with the given values.""" + self.hex_val = hex_val + + +class DateTimeLiteral(Class): + """ + Use a date-time literal as an operand. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + #: The date-time value + date_time_val: str + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_date_time_literal(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_date_time_literal_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_date_time_literal(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_date_time_literal_with_context(self, context) + + def __init__(self, date_time_val: str) -> None: + """Initialize with the given values.""" + self.date_time_val = date_time_val + + +class TimeLiteral(Class): + """ + Use a time literal as an operand. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + #: The time value + time_val: str + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_time_literal(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_time_literal_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_time_literal(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_time_literal_with_context(self, context) + + def __init__(self, time_val: str) -> None: + """Initialize with the given values.""" + self.time_val = time_val + + +class BooleanLiteral(Class): + """ + Use a boolean literal as an operand or as a logical expression. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + #: The boolean value + boolean: bool + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + # No descendable properties + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_boolean_literal(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_boolean_literal_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_boolean_literal(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_boolean_literal_with_context(self, context) + + def __init__(self, boolean: bool) -> None: + """Initialize with the given values.""" + self.boolean = boolean + + +class StringCast(Class): + """ + Cast the operand to ``xs:string``. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#casting + """ + + #: The operand to be cast + str_cast: "Value" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.str_cast + + if recurse: + yield from self.str_cast.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_string_cast(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_string_cast_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_string_cast(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_string_cast_with_context(self, context) + + def __init__(self, str_cast: "Value") -> None: + """Initialize with the given values.""" + self.str_cast = str_cast + + +class NumberCast(Class): + """ + Cast the operand to a number. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#casting + """ + + #: The operand to be cast + num_cast: "Value" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.num_cast + + if recurse: + yield from self.num_cast.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_number_cast(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_number_cast_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_number_cast(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_number_cast_with_context(self, context) + + def __init__(self, num_cast: "Value") -> None: + """Initialize with the given values.""" + self.num_cast = num_cast + + +class HexCast(Class): + """ + Cast the operand to ``xs:hexBinary``. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#casting + """ + + #: The operand to be cast + hex_cast: "Value" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.hex_cast + + if recurse: + yield from self.hex_cast.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_hex_cast(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_hex_cast_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_hex_cast(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_hex_cast_with_context(self, context) + + def __init__(self, hex_cast: "Value") -> None: + """Initialize with the given values.""" + self.hex_cast = hex_cast + + +class BooleanCast(Class): + """ + Cast the operand to ``xs:boolean``. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#casting + """ + + #: The operand to be cast + bool_cast: "Value" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.bool_cast + + if recurse: + yield from self.bool_cast.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_boolean_cast(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_boolean_cast_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_boolean_cast(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_boolean_cast_with_context(self, context) + + def __init__(self, bool_cast: "Value") -> None: + """Initialize with the given values.""" + self.bool_cast = bool_cast + + +class DateTimeCast(Class): + """ + Cast the string operand to ``xs:dateTime``. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#casting + """ + + #: The operand to be cast + date_time_cast: "StringValue" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.date_time_cast + + if recurse: + yield from self.date_time_cast.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_date_time_cast(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_date_time_cast_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_date_time_cast(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_date_time_cast_with_context(self, context) + + def __init__(self, date_time_cast: "StringValue") -> None: + """Initialize with the given values.""" + self.date_time_cast = date_time_cast + + +class TimeCast(Class): + """ + Cast the string or date-time operand to ``xs:time``. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#casting + """ + + #: The operand to be cast + time_cast: "TimeCastOperand" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.time_cast + + if recurse: + yield from self.time_cast.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_time_cast(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_time_cast_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_time_cast(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_time_cast_with_context(self, context) + + def __init__(self, time_cast: "TimeCastOperand") -> None: + """Initialize with the given values.""" + self.time_cast = time_cast + + +class DayOfWeek(Class): + """ + Extract the day of the week from the date-time operand as a number. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + #: The date-time operand + day_of_week: "DateTimeOperand" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.day_of_week + + if recurse: + yield from self.day_of_week.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_day_of_week(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_day_of_week_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_day_of_week(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_day_of_week_with_context(self, context) + + def __init__(self, day_of_week: "DateTimeOperand") -> None: + """Initialize with the given values.""" + self.day_of_week = day_of_week + + +class DayOfMonth(Class): + """ + Extract the day of the month from the date-time operand as a number. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + #: The date-time operand + day_of_month: "DateTimeOperand" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.day_of_month + + if recurse: + yield from self.day_of_month.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_day_of_month(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_day_of_month_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_day_of_month(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_day_of_month_with_context(self, context) + + def __init__(self, day_of_month: "DateTimeOperand") -> None: + """Initialize with the given values.""" + self.day_of_month = day_of_month + + +class Month(Class): + """ + Extract the month from the date-time operand as a number. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + #: The date-time operand + month: "DateTimeOperand" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.month + + if recurse: + yield from self.month.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_month(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_month_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_month(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_month_with_context(self, context) + + def __init__(self, month: "DateTimeOperand") -> None: + """Initialize with the given values.""" + self.month = month + + +class Year(Class): + """ + Extract the year from the date-time operand as a number. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + #: The date-time operand + year: "DateTimeOperand" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.year + + if recurse: + yield from self.year.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_year(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_year_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_year(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_year_with_context(self, context) + + def __init__(self, year: "DateTimeOperand") -> None: + """Initialize with the given values.""" + self.year = year + + +class DateTimeAttributeOperand(Class): + """ + Use a date-time global attribute as an operand. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + #: The attribute + attribute: "DateTimeAttributeItem" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.attribute + + if recurse: + yield from self.attribute.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_date_time_attribute_operand(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_date_time_attribute_operand_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_date_time_attribute_operand(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_date_time_attribute_operand_with_context( + self, context + ) + + def __init__(self, attribute: "DateTimeAttributeItem") -> None: + """Initialize with the given values.""" + self.attribute = attribute + + +class EqualComparison(Class): + """ + Check whether the two operands are equal. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + The operands must be of compatible types, see + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_json_schema + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_comparison_operators + """ + + #: The two operands + eq: Tuple["Value", "Value"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield from _descend_tuple2_of__value__value(self.eq, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_equal_comparison(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_equal_comparison_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_equal_comparison(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_equal_comparison_with_context(self, context) + + def __init__(self, eq: Tuple["Value", "Value"]) -> None: + """Initialize with the given values.""" + self.eq = eq + + +class NotEqualComparison(Class): + """ + Check whether the two operands are not equal. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + The operands must be of compatible types, see + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_json_schema + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_comparison_operators + """ + + #: The two operands + ne: Tuple["Value", "Value"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield from _descend_tuple2_of__value__value(self.ne, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_not_equal_comparison(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_not_equal_comparison_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_not_equal_comparison(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_not_equal_comparison_with_context(self, context) + + def __init__(self, ne: Tuple["Value", "Value"]) -> None: + """Initialize with the given values.""" + self.ne = ne + + +class GreaterThanComparison(Class): + """ + Check whether the first operand is greater than the second one. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + The operands must be of compatible types, see + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_json_schema + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_comparison_operators + """ + + #: The two operands + gt: Tuple["Value", "Value"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield from _descend_tuple2_of__value__value(self.gt, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_greater_than_comparison(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_greater_than_comparison_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_greater_than_comparison(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_greater_than_comparison_with_context(self, context) + + def __init__(self, gt: Tuple["Value", "Value"]) -> None: + """Initialize with the given values.""" + self.gt = gt + + +class GreaterThanOrEqualComparison(Class): + """ + Check whether the first operand is greater than or equal to the second one. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + The operands must be of compatible types, see + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_json_schema + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_comparison_operators + """ + + #: The two operands + ge: Tuple["Value", "Value"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield from _descend_tuple2_of__value__value(self.ge, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_greater_than_or_equal_comparison(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_greater_than_or_equal_comparison_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_greater_than_or_equal_comparison(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_greater_than_or_equal_comparison_with_context( + self, context + ) + + def __init__(self, ge: Tuple["Value", "Value"]) -> None: + """Initialize with the given values.""" + self.ge = ge + + +class LessThanComparison(Class): + """ + Check whether the first operand is less than the second one. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + The operands must be of compatible types, see + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_json_schema + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_comparison_operators + """ + + #: The two operands + lt: Tuple["Value", "Value"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield from _descend_tuple2_of__value__value(self.lt, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_less_than_comparison(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_less_than_comparison_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_less_than_comparison(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_less_than_comparison_with_context(self, context) + + def __init__(self, lt: Tuple["Value", "Value"]) -> None: + """Initialize with the given values.""" + self.lt = lt + + +class LessThanOrEqualComparison(Class): + """ + Check whether the first operand is less than or equal to the second one. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + The operands must be of compatible types, see + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_json_schema + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_comparison_operators + """ + + #: The two operands + le: Tuple["Value", "Value"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield from _descend_tuple2_of__value__value(self.le, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_less_than_or_equal_comparison(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_less_than_or_equal_comparison_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_less_than_or_equal_comparison(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_less_than_or_equal_comparison_with_context( + self, context + ) + + def __init__(self, le: Tuple["Value", "Value"]) -> None: + """Initialize with the given values.""" + self.le = le + + +class ContainsComparison(Class): + """ + Check whether the second string operand is a substring of the first one. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_comparison_operators + """ + + #: The two string operands + contains: Tuple["StringValue", "StringValue"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield from _descend_tuple2_of__string_value__string_value( + self.contains, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_contains_comparison(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_contains_comparison_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_contains_comparison(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_contains_comparison_with_context(self, context) + + def __init__(self, contains: Tuple["StringValue", "StringValue"]) -> None: + """Initialize with the given values.""" + self.contains = contains + + +class StartsWithComparison(Class): + """ + Check whether the first string operand starts with the second one. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_comparison_operators + """ + + #: The two string operands + starts_with: Tuple["StringValue", "StringValue"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield from _descend_tuple2_of__string_value__string_value( + self.starts_with, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_starts_with_comparison(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_starts_with_comparison_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_starts_with_comparison(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_starts_with_comparison_with_context(self, context) + + def __init__(self, starts_with: Tuple["StringValue", "StringValue"]) -> None: + """Initialize with the given values.""" + self.starts_with = starts_with + + +class EndsWithComparison(Class): + """ + Check whether the first string operand ends with the second one. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_comparison_operators + """ + + #: The two string operands + ends_with: Tuple["StringValue", "StringValue"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield from _descend_tuple2_of__string_value__string_value( + self.ends_with, recurse + ) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_ends_with_comparison(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_ends_with_comparison_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_ends_with_comparison(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_ends_with_comparison_with_context(self, context) + + def __init__(self, ends_with: Tuple["StringValue", "StringValue"]) -> None: + """Initialize with the given values.""" + self.ends_with = ends_with + + +class RegexComparison(Class): + """ + Check whether the first string operand matches the regular expression + given as the second one. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_comparison_operators + """ + + #: The string operand and the regular expression + regex: Tuple["StringValue", "StringValue"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield from _descend_tuple2_of__string_value__string_value(self.regex, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_regex_comparison(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_regex_comparison_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_regex_comparison(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_regex_comparison_with_context(self, context) + + def __init__(self, regex: Tuple["StringValue", "StringValue"]) -> None: + """Initialize with the given values.""" + self.regex = regex + + +class MatchClause(Class): + """ + Check that all the operands hold for the same element of a list. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_match_of_elements_in_lists + """ + + #: The comparisons and nested matches which all need to hold + match_operands: List["MatchExpression"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield from _descend_list_of__match_expression(self.match_operands, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_match_clause(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_match_clause_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_match_clause(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_match_clause_with_context(self, context) + + def __init__(self, match_operands: List["MatchExpression"]) -> None: + """Initialize with the given values.""" + self.match_operands = match_operands + + +class AndExpression(Class): + """ + Connect two or more expressions through a logical AND. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_logical_expressions + """ + + #: The expressions to be connected + and_operands: List["LogicalExpression"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield from _descend_list_of__logical_expression(self.and_operands, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_and_expression(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_and_expression_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_and_expression(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_and_expression_with_context(self, context) + + def __init__(self, and_operands: List["LogicalExpression"]) -> None: + """Initialize with the given values.""" + self.and_operands = and_operands + + +class OrExpression(Class): + """ + Connect two or more expressions through a logical OR. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_logical_expressions + """ + + #: The expressions to be connected + or_operands: List["LogicalExpression"] + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield from _descend_list_of__logical_expression(self.or_operands, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_or_expression(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_or_expression_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_or_expression(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_or_expression_with_context(self, context) + + def __init__(self, or_operands: List["LogicalExpression"]) -> None: + """Initialize with the given values.""" + self.or_operands = or_operands + + +class NotExpression(Class): + """ + Negate an expression. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_logical_expressions + """ + + #: The expression to be negated + not_operand: "LogicalExpression" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.not_operand + + if recurse: + yield from self.not_operand.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_not_expression(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_not_expression_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_not_expression(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_not_expression_with_context(self, context) + + def __init__(self, not_operand: "LogicalExpression") -> None: + """Initialize with the given values.""" + self.not_operand = not_operand + + +class QuerySelect(enum.Enum): + """ + Enumerate what a query returns instead of the full objects. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_select_expression + """ + + #: Return only the identifiers of the matching objects + ID = "id" + + +class QueryFilter(Class): + """ + Filter a fragment of the returned data by a condition. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_query_filter + """ + + #: The fragment of the returned data to which the filter applies + fragment: str + + #: The condition which the elements of the fragment need to fulfill + condition: "LogicalExpression" + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.condition + + if recurse: + yield from self.condition.descend() + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_query_filter(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_query_filter_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_query_filter(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_query_filter_with_context(self, context) + + def __init__(self, fragment: str, condition: "LogicalExpression") -> None: + """Initialize with the given values.""" + self.fragment = fragment + self.condition = condition + + +class Query(Class): + """ + A query in the AAS Query Language. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html + """ + + #: What the query returns instead of the full objects. + #: + #: If not specified, the full objects are returned. + select: Optional["QuerySelect"] + + #: The condition which the returned objects need to fulfill + condition: "LogicalExpression" + + #: Filters to reduce the returned data + filters: Optional[List["QueryFilter"]] + + def over_filters_or_empty(self) -> Iterator["QueryFilter"]: + """Yield from :py:attr:`.filters` if set.""" + if self.filters is not None: + yield from self.filters + + def descend_once(self) -> Iterator[Class]: + """ + Iterate over the instances referenced from this instance. + + We do not recurse into the referenced instance. + + :yield: instances directly referenced from this instance + """ + return self._descend(recurse=False) + + def descend(self) -> Iterator[Class]: + """ + Iterate recursively over the instances referenced from this one. + + :yield: instances recursively referenced from this instance + """ + return self._descend(recurse=True) + + def _descend(self, recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances referenced from this one, and recursively + over their descendants if :paramref:`recurse` is set. + + :param recurse: if set, descend recursively into the referenced instances + :yield: instances referenced from this instance + """ + yield self.condition + + if recurse: + yield from self.condition.descend() + + if self.filters is not None: + yield from _descend_list_of__query_filter(self.filters, recurse) + + def accept(self, visitor: "AbstractVisitor") -> None: + """Dispatch the :paramref:`visitor` on this instance.""" + visitor.visit_query(self) + + def accept_with_context( + self, visitor: "AbstractVisitorWithContext[ContextT]", context: ContextT + ) -> None: + """Dispatch the :paramref:`visitor` on this instance in :paramref:`context`.""" + visitor.visit_query_with_context(self, context) + + def transform(self, transformer: "AbstractTransformer[T]") -> T: + """Dispatch the :paramref:`transformer` on this instance.""" + return transformer.transform_query(self) + + def transform_with_context( + self, + transformer: "AbstractTransformerWithContext[ContextT, T]", + context: ContextT, + ) -> T: + """ + Dispatch the :paramref:`transformer` on this instance in :paramref:`context`. + """ + return transformer.transform_query_with_context(self, context) + + def __init__( + self, + condition: "LogicalExpression", + select: Optional["QuerySelect"] = None, + filters: Optional[List["QueryFilter"]] = None, + ) -> None: + """Initialize with the given values.""" + self.condition = condition + self.select = select + self.filters = filters + + +#: Represent a union of classes. +AttributeItem = Union[ + "ClaimAttribute", + "GlobalAttribute", + "ReferenceAttribute", +] + + +#: Represent a union of classes. +StringValue = Union[ + "FieldOperand", + "StringLiteral", + "StringCast", + "AttributeOperand", +] + + +#: Represent a union of classes. +DateTimeOperand = Union[ + "DateTimeLiteral", + "DateTimeCast", + "DateTimeAttributeOperand", +] + + +#: Represent a union of classes. +TimeCastOperand = Union[ + "FieldOperand", + "StringLiteral", + "StringCast", + "AttributeOperand", + "DateTimeLiteral", + "DateTimeCast", +] + + +#: Represent a union of classes. +NumericalOperand = Union[ + "NumberLiteral", + "NumberCast", + "DayOfWeek", + "DayOfMonth", + "Month", + "Year", +] + + +#: Represent a union of classes. +HexOperand = Union["HexLiteral", "HexCast"] + + +#: Represent a union of classes. +BoolOperand = Union["BooleanLiteral", "BooleanCast"] + + +#: Represent a union of classes. +TimeOperand = Union["TimeLiteral", "TimeCast"] + + +#: Represent a union of classes. +Value = Union[ + "FieldOperand", + "StringLiteral", + "StringCast", + "AttributeOperand", + "NumberLiteral", + "NumberCast", + "DayOfWeek", + "DayOfMonth", + "Month", + "Year", + "HexLiteral", + "HexCast", + "BooleanLiteral", + "BooleanCast", + "DateTimeLiteral", + "DateTimeCast", + "TimeLiteral", + "TimeCast", +] + + +#: Represent a union of classes. +MatchExpression = Union[ + "MatchClause", + "EqualComparison", + "NotEqualComparison", + "GreaterThanComparison", + "GreaterThanOrEqualComparison", + "LessThanComparison", + "LessThanOrEqualComparison", + "ContainsComparison", + "StartsWithComparison", + "EndsWithComparison", + "RegexComparison", +] + + +#: Represent a union of classes. +LogicalExpression = Union[ + "AndExpression", + "OrExpression", + "NotExpression", + "BooleanLiteral", + "MatchClause", + "EqualComparison", + "NotEqualComparison", + "GreaterThanComparison", + "GreaterThanOrEqualComparison", + "LessThanComparison", + "LessThanOrEqualComparison", + "ContainsComparison", + "StartsWithComparison", + "EndsWithComparison", + "RegexComparison", +] + + +def _descend_list_of__reference( + that: List["Reference"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__embedded_data_specification( + that: List["EmbeddedDataSpecification"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__extension( + that: List["Extension"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__lang_string_name_type( + that: List["LangStringNameType"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__lang_string_text_type( + that: List["LangStringTextType"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__specific_asset_id( + that: List["SpecificAssetID"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__qualifier( + that: List["Qualifier"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__submodel_element( + that: List["SubmodelElement"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__data_element( + that: List["DataElement"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__operation_variable( + that: List["OperationVariable"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__key(that: List["Key"], recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__asset_administration_shell( + that: List["AssetAdministrationShell"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__submodel( + that: List["Submodel"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__concept_description( + that: List["ConceptDescription"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__value_reference_pair( + that: List["ValueReferencePair"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__lang_string_uom( + that: List["LangStringUom"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__definition_type_uom( + that: List["DefinitionTypeUom"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__lang_string_preferred_name_type_iec_61360( + that: List["LangStringPreferredNameTypeIEC61360"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__lang_string_short_name_type_iec_61360( + that: List["LangStringShortNameTypeIEC61360"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__lang_string_definition_type_iec_61360( + that: List["LangStringDefinitionTypeIEC61360"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__endpoint( + that: List["Endpoint"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__submodel_descriptor( + that: List["SubmodelDescriptor"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__security_attribute_object( + that: List["SecurityAttributeObject"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__message(that: List["Message"], recurse: bool) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__referable( + that: List["Referable"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__asset_administration_shell_metadata( + that: List["AssetAdministrationShellMetadata"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__asset_administration_shell_recent_change( + that: List["AssetAdministrationShellRecentChange"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__asset_administration_shell_descriptor( + that: List["AssetAdministrationShellDescriptor"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__concept_description_recent_change( + that: List["ConceptDescriptionRecentChange"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__package_description( + that: List["PackageDescription"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__submodel_element_metadata( + that: List["SubmodelElementMetadata"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__submodel_recent_change( + that: List["SubmodelRecentChange"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__submodel_metadata( + that: List["SubmodelMetadata"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_tuple2_of__value__value( + that: Tuple["Value", "Value"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + yield that[0] + + if recurse: + yield from that[0].descend() + + yield that[1] + + if recurse: + yield from that[1].descend() + + +def _descend_tuple2_of__string_value__string_value( + that: Tuple["StringValue", "StringValue"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + yield that[0] + + if recurse: + yield from that[0].descend() + + yield that[1] + + if recurse: + yield from that[1].descend() + + +def _descend_list_of__match_expression( + that: List["MatchExpression"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__logical_expression( + that: List["LogicalExpression"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +def _descend_list_of__query_filter( + that: List["QueryFilter"], recurse: bool +) -> Iterator[Class]: + """ + Iterate over the instances held by :paramref:`that`. + + If :paramref:`recurse` is set, descend recursively into the instances + as well. + """ + if not recurse: + yield from that + return + + for item in that: + yield item + + yield from item.descend() + + +class AbstractVisitor: + """Visit the instances of the model.""" + + def visit(self, that: Class) -> None: + """Double-dispatch on :paramref:`that`.""" + that.accept(self) + + @abc.abstractmethod + def visit_extension(self, that: Extension) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_administrative_information(self, that: AdministrativeInformation) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_qualifier(self, that: Qualifier) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_asset_administration_shell(self, that: AssetAdministrationShell) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_asset_information(self, that: AssetInformation) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_resource(self, that: Resource) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_specific_asset_id(self, that: SpecificAssetID) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_submodel(self, that: Submodel) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_relationship_element(self, that: RelationshipElement) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_submodel_element_list(self, that: SubmodelElementList) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_submodel_element_collection( + self, that: SubmodelElementCollection + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_property(self, that: Property) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_multi_language_property(self, that: MultiLanguageProperty) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_range(self, that: Range) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_reference_element(self, that: ReferenceElement) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_blob(self, that: Blob) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_file(self, that: File) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_annotated_relationship_element( + self, that: AnnotatedRelationshipElement + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_entity(self, that: Entity) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_event_payload(self, that: EventPayload) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_basic_event_element(self, that: BasicEventElement) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_operation(self, that: Operation) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_operation_variable(self, that: OperationVariable) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_capability(self, that: Capability) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_concept_description(self, that: ConceptDescription) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_reference(self, that: Reference) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_key(self, that: Key) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_lang_string_name_type(self, that: LangStringNameType) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_lang_string_text_type(self, that: LangStringTextType) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_environment(self, that: Environment) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_embedded_data_specification( + self, that: EmbeddedDataSpecification + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_level_type(self, that: LevelType) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_value_reference_pair(self, that: ValueReferencePair) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_value_list(self, that: ValueList) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_lang_string_preferred_name_type_iec_61360( + self, that: LangStringPreferredNameTypeIEC61360 + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_lang_string_short_name_type_iec_61360( + self, that: LangStringShortNameTypeIEC61360 + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_lang_string_definition_type_iec_61360( + self, that: LangStringDefinitionTypeIEC61360 + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_lang_string_uom(self, that: LangStringUom) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_definition_type_uom(self, that: DefinitionTypeUom) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_data_specification_uom(self, that: DataSpecificationUom) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_data_specification_iec_61360( + self, that: DataSpecificationIEC61360 + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_asset_administration_shell_descriptor( + self, that: AssetAdministrationShellDescriptor + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_submodel_descriptor(self, that: SubmodelDescriptor) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_endpoint(self, that: Endpoint) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_protocol_information(self, that: ProtocolInformation) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_security_attribute_object(self, that: SecurityAttributeObject) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_asset_link(self, that: AssetLink) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_service_description(self, that: ServiceDescription) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_asset_administration_shell_recent_change( + self, that: AssetAdministrationShellRecentChange + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_concept_description_recent_change( + self, that: ConceptDescriptionRecentChange + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_submodel_recent_change(self, that: SubmodelRecentChange) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_result(self, that: Result) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_message(self, that: Message) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_operation_request(self, that: OperationRequest) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_operation_request_async(self, that: OperationRequestAsync) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_operation_request_value_only( + self, that: OperationRequestValueOnly + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_operation_request_async_value_only( + self, that: OperationRequestAsyncValueOnly + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_base_operation_result(self, that: BaseOperationResult) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_operation_result(self, that: OperationResult) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_operation_result_value_only(self, that: OperationResultValueOnly) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_operation_handle(self, that: OperationHandle) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_paged_result(self, that: PagedResult) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_paging_metadata(self, that: PagingMetadata) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_package_description(self, that: PackageDescription) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_property_metadata(self, that: PropertyMetadata) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_range_metadata(self, that: RangeMetadata) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_blob_metadata(self, that: BlobMetadata) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_file_metadata(self, that: FileMetadata) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_multi_language_property_metadata( + self, that: MultiLanguagePropertyMetadata + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_reference_element_metadata(self, that: ReferenceElementMetadata) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_relationship_element_metadata( + self, that: RelationshipElementMetadata + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_annotated_relationship_element_metadata( + self, that: AnnotatedRelationshipElementMetadata + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_entity_metadata(self, that: EntityMetadata) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_capability_metadata(self, that: CapabilityMetadata) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_operation_metadata(self, that: OperationMetadata) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_submodel_element_collection_metadata( + self, that: SubmodelElementCollectionMetadata + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_basic_event_element_metadata( + self, that: BasicEventElementMetadata + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_submodel_element_list_metadata( + self, that: SubmodelElementListMetadata + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_submodel_metadata(self, that: SubmodelMetadata) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_asset_administration_shell_metadata( + self, that: AssetAdministrationShellMetadata + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_reference_element_value(self, that: ReferenceElementValue) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_blob_value(self, that: BlobValue) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_file_value(self, that: FileValue) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_range_value(self, that: RangeValue) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_relationship_element_value(self, that: RelationshipElementValue) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_basic_event_element_value(self, that: BasicEventElementValue) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_annotated_relationship_element_value( + self, that: AnnotatedRelationshipElementValue + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_entity_value(self, that: EntityValue) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_asset_administration_shells_result( + self, that: GetAssetAdministrationShellsResult + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_asset_administration_shells_metadata_result( + self, that: GetAssetAdministrationShellsMetadataResult + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_all_asset_administration_shells_recent_changes_result( + self, that: GetAllAssetAdministrationShellsRecentChangesResult + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_asset_administration_shell_descriptors_result( + self, that: GetAssetAdministrationShellDescriptorsResult + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_concept_descriptions_result( + self, that: GetConceptDescriptionsResult + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_all_concept_descriptions_recent_changes_result( + self, that: GetAllConceptDescriptionsRecentChangesResult + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_package_descriptions_result( + self, that: GetPackageDescriptionsResult + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_path_items_result(self, that: GetPathItemsResult) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_references_result(self, that: GetReferencesResult) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_submodel_descriptors_result( + self, that: GetSubmodelDescriptorsResult + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_submodel_elements_metadata_result( + self, that: GetSubmodelElementsMetadataResult + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_submodel_elements_result( + self, that: GetSubmodelElementsResult + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_submodel_elements_value_result( + self, that: GetSubmodelElementsValueResult + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_all_submodels_recent_changes_result( + self, that: GetAllSubmodelsRecentChangesResult + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_submodels_metadata_result( + self, that: GetSubmodelsMetadataResult + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_submodels_result(self, that: GetSubmodelsResult) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_submodels_value_result(self, that: GetSubmodelsValueResult) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_claim_attribute(self, that: ClaimAttribute) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_global_attribute(self, that: GlobalAttribute) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_reference_attribute(self, that: ReferenceAttribute) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_date_time_attribute_item(self, that: DateTimeAttributeItem) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_field_operand(self, that: FieldOperand) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_string_literal(self, that: StringLiteral) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_attribute_operand(self, that: AttributeOperand) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_number_literal(self, that: NumberLiteral) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_hex_literal(self, that: HexLiteral) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_date_time_literal(self, that: DateTimeLiteral) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_time_literal(self, that: TimeLiteral) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_boolean_literal(self, that: BooleanLiteral) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_string_cast(self, that: StringCast) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_number_cast(self, that: NumberCast) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_hex_cast(self, that: HexCast) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_boolean_cast(self, that: BooleanCast) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_date_time_cast(self, that: DateTimeCast) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_time_cast(self, that: TimeCast) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_day_of_week(self, that: DayOfWeek) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_day_of_month(self, that: DayOfMonth) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_month(self, that: Month) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_year(self, that: Year) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_date_time_attribute_operand(self, that: DateTimeAttributeOperand) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_equal_comparison(self, that: EqualComparison) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_not_equal_comparison(self, that: NotEqualComparison) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_greater_than_comparison(self, that: GreaterThanComparison) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_greater_than_or_equal_comparison( + self, that: GreaterThanOrEqualComparison + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_less_than_comparison(self, that: LessThanComparison) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_less_than_or_equal_comparison( + self, that: LessThanOrEqualComparison + ) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_contains_comparison(self, that: ContainsComparison) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_starts_with_comparison(self, that: StartsWithComparison) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_ends_with_comparison(self, that: EndsWithComparison) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_regex_comparison(self, that: RegexComparison) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_match_clause(self, that: MatchClause) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_and_expression(self, that: AndExpression) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_or_expression(self, that: OrExpression) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_not_expression(self, that: NotExpression) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_query_filter(self, that: QueryFilter) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_query(self, that: Query) -> None: + """Visit :paramref:`that`.""" + raise NotImplementedError + + +class AbstractVisitorWithContext(Generic[ContextT]): + """Visit the instances of the model with context.""" + + def visit_with_context(self, that: Class, context: ContextT) -> None: + """Double-dispatch on :paramref:`that`.""" + that.accept_with_context(self, context) + + @abc.abstractmethod + def visit_extension_with_context(self, that: Extension, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_administrative_information_with_context( + self, that: AdministrativeInformation, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_qualifier_with_context(self, that: Qualifier, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_asset_administration_shell_with_context( + self, that: AssetAdministrationShell, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_asset_information_with_context( + self, that: AssetInformation, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_resource_with_context(self, that: Resource, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_specific_asset_id_with_context( + self, that: SpecificAssetID, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_submodel_with_context(self, that: Submodel, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_relationship_element_with_context( + self, that: RelationshipElement, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_submodel_element_list_with_context( + self, that: SubmodelElementList, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_submodel_element_collection_with_context( + self, that: SubmodelElementCollection, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_property_with_context(self, that: Property, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_multi_language_property_with_context( + self, that: MultiLanguageProperty, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_range_with_context(self, that: Range, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_reference_element_with_context( + self, that: ReferenceElement, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_blob_with_context(self, that: Blob, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_file_with_context(self, that: File, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_annotated_relationship_element_with_context( + self, that: AnnotatedRelationshipElement, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_entity_with_context(self, that: Entity, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_event_payload_with_context( + self, that: EventPayload, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_basic_event_element_with_context( + self, that: BasicEventElement, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_operation_with_context(self, that: Operation, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_operation_variable_with_context( + self, that: OperationVariable, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_capability_with_context( + self, that: Capability, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_concept_description_with_context( + self, that: ConceptDescription, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_reference_with_context(self, that: Reference, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_key_with_context(self, that: Key, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_lang_string_name_type_with_context( + self, that: LangStringNameType, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_lang_string_text_type_with_context( + self, that: LangStringTextType, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_environment_with_context( + self, that: Environment, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_embedded_data_specification_with_context( + self, that: EmbeddedDataSpecification, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_level_type_with_context(self, that: LevelType, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_value_reference_pair_with_context( + self, that: ValueReferencePair, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_value_list_with_context(self, that: ValueList, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_lang_string_preferred_name_type_iec_61360_with_context( + self, that: LangStringPreferredNameTypeIEC61360, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_lang_string_short_name_type_iec_61360_with_context( + self, that: LangStringShortNameTypeIEC61360, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_lang_string_definition_type_iec_61360_with_context( + self, that: LangStringDefinitionTypeIEC61360, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_lang_string_uom_with_context( + self, that: LangStringUom, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_definition_type_uom_with_context( + self, that: DefinitionTypeUom, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_data_specification_uom_with_context( + self, that: DataSpecificationUom, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_data_specification_iec_61360_with_context( + self, that: DataSpecificationIEC61360, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_asset_administration_shell_descriptor_with_context( + self, that: AssetAdministrationShellDescriptor, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_submodel_descriptor_with_context( + self, that: SubmodelDescriptor, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_endpoint_with_context(self, that: Endpoint, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_protocol_information_with_context( + self, that: ProtocolInformation, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_security_attribute_object_with_context( + self, that: SecurityAttributeObject, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_asset_link_with_context(self, that: AssetLink, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_service_description_with_context( + self, that: ServiceDescription, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_asset_administration_shell_recent_change_with_context( + self, that: AssetAdministrationShellRecentChange, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_concept_description_recent_change_with_context( + self, that: ConceptDescriptionRecentChange, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_submodel_recent_change_with_context( + self, that: SubmodelRecentChange, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_result_with_context(self, that: Result, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_message_with_context(self, that: Message, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_operation_request_with_context( + self, that: OperationRequest, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_operation_request_async_with_context( + self, that: OperationRequestAsync, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_operation_request_value_only_with_context( + self, that: OperationRequestValueOnly, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_operation_request_async_value_only_with_context( + self, that: OperationRequestAsyncValueOnly, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_base_operation_result_with_context( + self, that: BaseOperationResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_operation_result_with_context( + self, that: OperationResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_operation_result_value_only_with_context( + self, that: OperationResultValueOnly, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_operation_handle_with_context( + self, that: OperationHandle, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_paged_result_with_context( + self, that: PagedResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_paging_metadata_with_context( + self, that: PagingMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_package_description_with_context( + self, that: PackageDescription, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_property_metadata_with_context( + self, that: PropertyMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_range_metadata_with_context( + self, that: RangeMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_blob_metadata_with_context( + self, that: BlobMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_file_metadata_with_context( + self, that: FileMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_multi_language_property_metadata_with_context( + self, that: MultiLanguagePropertyMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_reference_element_metadata_with_context( + self, that: ReferenceElementMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_relationship_element_metadata_with_context( + self, that: RelationshipElementMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_annotated_relationship_element_metadata_with_context( + self, that: AnnotatedRelationshipElementMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_entity_metadata_with_context( + self, that: EntityMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_capability_metadata_with_context( + self, that: CapabilityMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_operation_metadata_with_context( + self, that: OperationMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_submodel_element_collection_metadata_with_context( + self, that: SubmodelElementCollectionMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_basic_event_element_metadata_with_context( + self, that: BasicEventElementMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_submodel_element_list_metadata_with_context( + self, that: SubmodelElementListMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_submodel_metadata_with_context( + self, that: SubmodelMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_asset_administration_shell_metadata_with_context( + self, that: AssetAdministrationShellMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_reference_element_value_with_context( + self, that: ReferenceElementValue, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_blob_value_with_context(self, that: BlobValue, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_file_value_with_context(self, that: FileValue, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_range_value_with_context( + self, that: RangeValue, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_relationship_element_value_with_context( + self, that: RelationshipElementValue, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_basic_event_element_value_with_context( + self, that: BasicEventElementValue, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_annotated_relationship_element_value_with_context( + self, that: AnnotatedRelationshipElementValue, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_entity_value_with_context( + self, that: EntityValue, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_asset_administration_shells_result_with_context( + self, that: GetAssetAdministrationShellsResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_asset_administration_shells_metadata_result_with_context( + self, that: GetAssetAdministrationShellsMetadataResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_all_asset_administration_shells_recent_changes_result_with_context( + self, + that: GetAllAssetAdministrationShellsRecentChangesResult, + context: ContextT, + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_asset_administration_shell_descriptors_result_with_context( + self, that: GetAssetAdministrationShellDescriptorsResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_concept_descriptions_result_with_context( + self, that: GetConceptDescriptionsResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_all_concept_descriptions_recent_changes_result_with_context( + self, that: GetAllConceptDescriptionsRecentChangesResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_package_descriptions_result_with_context( + self, that: GetPackageDescriptionsResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_path_items_result_with_context( + self, that: GetPathItemsResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_references_result_with_context( + self, that: GetReferencesResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_submodel_descriptors_result_with_context( + self, that: GetSubmodelDescriptorsResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_submodel_elements_metadata_result_with_context( + self, that: GetSubmodelElementsMetadataResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_submodel_elements_result_with_context( + self, that: GetSubmodelElementsResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_submodel_elements_value_result_with_context( + self, that: GetSubmodelElementsValueResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_all_submodels_recent_changes_result_with_context( + self, that: GetAllSubmodelsRecentChangesResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_submodels_metadata_result_with_context( + self, that: GetSubmodelsMetadataResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_submodels_result_with_context( + self, that: GetSubmodelsResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_get_submodels_value_result_with_context( + self, that: GetSubmodelsValueResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_claim_attribute_with_context( + self, that: ClaimAttribute, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_global_attribute_with_context( + self, that: GlobalAttribute, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_reference_attribute_with_context( + self, that: ReferenceAttribute, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_date_time_attribute_item_with_context( + self, that: DateTimeAttributeItem, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_field_operand_with_context( + self, that: FieldOperand, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_string_literal_with_context( + self, that: StringLiteral, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_attribute_operand_with_context( + self, that: AttributeOperand, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_number_literal_with_context( + self, that: NumberLiteral, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_hex_literal_with_context( + self, that: HexLiteral, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_date_time_literal_with_context( + self, that: DateTimeLiteral, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_time_literal_with_context( + self, that: TimeLiteral, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_boolean_literal_with_context( + self, that: BooleanLiteral, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_string_cast_with_context( + self, that: StringCast, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_number_cast_with_context( + self, that: NumberCast, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_hex_cast_with_context(self, that: HexCast, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_boolean_cast_with_context( + self, that: BooleanCast, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_date_time_cast_with_context( + self, that: DateTimeCast, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_time_cast_with_context(self, that: TimeCast, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_day_of_week_with_context( + self, that: DayOfWeek, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_day_of_month_with_context( + self, that: DayOfMonth, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_month_with_context(self, that: Month, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_year_with_context(self, that: Year, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_date_time_attribute_operand_with_context( + self, that: DateTimeAttributeOperand, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_equal_comparison_with_context( + self, that: EqualComparison, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_not_equal_comparison_with_context( + self, that: NotEqualComparison, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_greater_than_comparison_with_context( + self, that: GreaterThanComparison, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_greater_than_or_equal_comparison_with_context( + self, that: GreaterThanOrEqualComparison, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_less_than_comparison_with_context( + self, that: LessThanComparison, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_less_than_or_equal_comparison_with_context( + self, that: LessThanOrEqualComparison, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_contains_comparison_with_context( + self, that: ContainsComparison, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_starts_with_comparison_with_context( + self, that: StartsWithComparison, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_ends_with_comparison_with_context( + self, that: EndsWithComparison, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_regex_comparison_with_context( + self, that: RegexComparison, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_match_clause_with_context( + self, that: MatchClause, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_and_expression_with_context( + self, that: AndExpression, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_or_expression_with_context( + self, that: OrExpression, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_not_expression_with_context( + self, that: NotExpression, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_query_filter_with_context( + self, that: QueryFilter, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def visit_query_with_context(self, that: Query, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + +class PassThroughVisitor(AbstractVisitor): + """ + Visit the instances of the model without action. + + This visitor is not meant to be directly used. Instead, you usually + inherit from it, and implement only the relevant visit methods. + """ + + def visit(self, that: Class) -> None: + """Double-dispatch on :paramref:`that`.""" + that.accept(self) + + def visit_extension(self, that: Extension) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_administrative_information(self, that: AdministrativeInformation) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_qualifier(self, that: Qualifier) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_asset_administration_shell(self, that: AssetAdministrationShell) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_asset_information(self, that: AssetInformation) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_resource(self, that: Resource) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_specific_asset_id(self, that: SpecificAssetID) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_submodel(self, that: Submodel) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_relationship_element(self, that: RelationshipElement) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_submodel_element_list(self, that: SubmodelElementList) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_submodel_element_collection( + self, that: SubmodelElementCollection + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_property(self, that: Property) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_multi_language_property(self, that: MultiLanguageProperty) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_range(self, that: Range) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_reference_element(self, that: ReferenceElement) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_blob(self, that: Blob) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_file(self, that: File) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_annotated_relationship_element( + self, that: AnnotatedRelationshipElement + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_entity(self, that: Entity) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_event_payload(self, that: EventPayload) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_basic_event_element(self, that: BasicEventElement) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_operation(self, that: Operation) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_operation_variable(self, that: OperationVariable) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_capability(self, that: Capability) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_concept_description(self, that: ConceptDescription) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_reference(self, that: Reference) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_key(self, that: Key) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_lang_string_name_type(self, that: LangStringNameType) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_lang_string_text_type(self, that: LangStringTextType) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_environment(self, that: Environment) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_embedded_data_specification( + self, that: EmbeddedDataSpecification + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_level_type(self, that: LevelType) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_value_reference_pair(self, that: ValueReferencePair) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_value_list(self, that: ValueList) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_lang_string_preferred_name_type_iec_61360( + self, that: LangStringPreferredNameTypeIEC61360 + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_lang_string_short_name_type_iec_61360( + self, that: LangStringShortNameTypeIEC61360 + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_lang_string_definition_type_iec_61360( + self, that: LangStringDefinitionTypeIEC61360 + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_lang_string_uom(self, that: LangStringUom) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_definition_type_uom(self, that: DefinitionTypeUom) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_data_specification_uom(self, that: DataSpecificationUom) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_data_specification_iec_61360( + self, that: DataSpecificationIEC61360 + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_asset_administration_shell_descriptor( + self, that: AssetAdministrationShellDescriptor + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_submodel_descriptor(self, that: SubmodelDescriptor) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_endpoint(self, that: Endpoint) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_protocol_information(self, that: ProtocolInformation) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_security_attribute_object(self, that: SecurityAttributeObject) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_asset_link(self, that: AssetLink) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_service_description(self, that: ServiceDescription) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_asset_administration_shell_recent_change( + self, that: AssetAdministrationShellRecentChange + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_concept_description_recent_change( + self, that: ConceptDescriptionRecentChange + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_submodel_recent_change(self, that: SubmodelRecentChange) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_result(self, that: Result) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_message(self, that: Message) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_operation_request(self, that: OperationRequest) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_operation_request_async(self, that: OperationRequestAsync) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_operation_request_value_only( + self, that: OperationRequestValueOnly + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_operation_request_async_value_only( + self, that: OperationRequestAsyncValueOnly + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_base_operation_result(self, that: BaseOperationResult) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_operation_result(self, that: OperationResult) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_operation_result_value_only(self, that: OperationResultValueOnly) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_operation_handle(self, that: OperationHandle) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_paged_result(self, that: PagedResult) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_paging_metadata(self, that: PagingMetadata) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_package_description(self, that: PackageDescription) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_property_metadata(self, that: PropertyMetadata) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_range_metadata(self, that: RangeMetadata) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_blob_metadata(self, that: BlobMetadata) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_file_metadata(self, that: FileMetadata) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_multi_language_property_metadata( + self, that: MultiLanguagePropertyMetadata + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_reference_element_metadata(self, that: ReferenceElementMetadata) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_relationship_element_metadata( + self, that: RelationshipElementMetadata + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_annotated_relationship_element_metadata( + self, that: AnnotatedRelationshipElementMetadata + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_entity_metadata(self, that: EntityMetadata) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_capability_metadata(self, that: CapabilityMetadata) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_operation_metadata(self, that: OperationMetadata) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_submodel_element_collection_metadata( + self, that: SubmodelElementCollectionMetadata + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_basic_event_element_metadata( + self, that: BasicEventElementMetadata + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_submodel_element_list_metadata( + self, that: SubmodelElementListMetadata + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_submodel_metadata(self, that: SubmodelMetadata) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_asset_administration_shell_metadata( + self, that: AssetAdministrationShellMetadata + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_reference_element_value(self, that: ReferenceElementValue) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_blob_value(self, that: BlobValue) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_file_value(self, that: FileValue) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_range_value(self, that: RangeValue) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_relationship_element_value(self, that: RelationshipElementValue) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_basic_event_element_value(self, that: BasicEventElementValue) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_annotated_relationship_element_value( + self, that: AnnotatedRelationshipElementValue + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_entity_value(self, that: EntityValue) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_get_asset_administration_shells_result( + self, that: GetAssetAdministrationShellsResult + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_get_asset_administration_shells_metadata_result( + self, that: GetAssetAdministrationShellsMetadataResult + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_get_all_asset_administration_shells_recent_changes_result( + self, that: GetAllAssetAdministrationShellsRecentChangesResult + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_get_asset_administration_shell_descriptors_result( + self, that: GetAssetAdministrationShellDescriptorsResult + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_get_concept_descriptions_result( + self, that: GetConceptDescriptionsResult + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_get_all_concept_descriptions_recent_changes_result( + self, that: GetAllConceptDescriptionsRecentChangesResult + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_get_package_descriptions_result( + self, that: GetPackageDescriptionsResult + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_get_path_items_result(self, that: GetPathItemsResult) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_get_references_result(self, that: GetReferencesResult) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_get_submodel_descriptors_result( + self, that: GetSubmodelDescriptorsResult + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_get_submodel_elements_metadata_result( + self, that: GetSubmodelElementsMetadataResult + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_get_submodel_elements_result( + self, that: GetSubmodelElementsResult + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_get_submodel_elements_value_result( + self, that: GetSubmodelElementsValueResult + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_get_all_submodels_recent_changes_result( + self, that: GetAllSubmodelsRecentChangesResult + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_get_submodels_metadata_result( + self, that: GetSubmodelsMetadataResult + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_get_submodels_result(self, that: GetSubmodelsResult) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_get_submodels_value_result(self, that: GetSubmodelsValueResult) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_claim_attribute(self, that: ClaimAttribute) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_global_attribute(self, that: GlobalAttribute) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_reference_attribute(self, that: ReferenceAttribute) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_date_time_attribute_item(self, that: DateTimeAttributeItem) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_field_operand(self, that: FieldOperand) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_string_literal(self, that: StringLiteral) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_attribute_operand(self, that: AttributeOperand) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_number_literal(self, that: NumberLiteral) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_hex_literal(self, that: HexLiteral) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_date_time_literal(self, that: DateTimeLiteral) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_time_literal(self, that: TimeLiteral) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_boolean_literal(self, that: BooleanLiteral) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_string_cast(self, that: StringCast) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_number_cast(self, that: NumberCast) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_hex_cast(self, that: HexCast) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_boolean_cast(self, that: BooleanCast) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_date_time_cast(self, that: DateTimeCast) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_time_cast(self, that: TimeCast) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_day_of_week(self, that: DayOfWeek) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_day_of_month(self, that: DayOfMonth) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_month(self, that: Month) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_year(self, that: Year) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_date_time_attribute_operand(self, that: DateTimeAttributeOperand) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_equal_comparison(self, that: EqualComparison) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_not_equal_comparison(self, that: NotEqualComparison) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_greater_than_comparison(self, that: GreaterThanComparison) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_greater_than_or_equal_comparison( + self, that: GreaterThanOrEqualComparison + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_less_than_comparison(self, that: LessThanComparison) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_less_than_or_equal_comparison( + self, that: LessThanOrEqualComparison + ) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_contains_comparison(self, that: ContainsComparison) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_starts_with_comparison(self, that: StartsWithComparison) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_ends_with_comparison(self, that: EndsWithComparison) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_regex_comparison(self, that: RegexComparison) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_match_clause(self, that: MatchClause) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_and_expression(self, that: AndExpression) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_or_expression(self, that: OrExpression) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_not_expression(self, that: NotExpression) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_query_filter(self, that: QueryFilter) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + def visit_query(self, that: Query) -> None: + """Visit :paramref:`that`.""" + for another in that.descend_once(): + self.visit(another) + + +class PassThroughVisitorWithContext(AbstractVisitorWithContext[ContextT]): + """ + Visit the instances of the model without action and in context. + + This visitor is not meant to be directly used. Instead, you usually + inherit from it, and implement only the relevant visit methods. + """ + + def visit_with_context(self, that: Class, context: ContextT) -> None: + """Double-dispatch on :paramref:`that`.""" + that.accept_with_context(self, context) + + def visit_extension_with_context(self, that: Extension, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_administrative_information_with_context( + self, that: AdministrativeInformation, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_qualifier_with_context(self, that: Qualifier, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_asset_administration_shell_with_context( + self, that: AssetAdministrationShell, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_asset_information_with_context( + self, that: AssetInformation, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_resource_with_context(self, that: Resource, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_specific_asset_id_with_context( + self, that: SpecificAssetID, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_submodel_with_context(self, that: Submodel, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_relationship_element_with_context( + self, that: RelationshipElement, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_submodel_element_list_with_context( + self, that: SubmodelElementList, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_submodel_element_collection_with_context( + self, that: SubmodelElementCollection, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_property_with_context(self, that: Property, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_multi_language_property_with_context( + self, that: MultiLanguageProperty, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_range_with_context(self, that: Range, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_reference_element_with_context( + self, that: ReferenceElement, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_blob_with_context(self, that: Blob, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_file_with_context(self, that: File, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_annotated_relationship_element_with_context( + self, that: AnnotatedRelationshipElement, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_entity_with_context(self, that: Entity, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_event_payload_with_context( + self, that: EventPayload, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_basic_event_element_with_context( + self, that: BasicEventElement, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_operation_with_context(self, that: Operation, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_operation_variable_with_context( + self, that: OperationVariable, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_capability_with_context( + self, that: Capability, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_concept_description_with_context( + self, that: ConceptDescription, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_reference_with_context(self, that: Reference, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_key_with_context(self, that: Key, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_lang_string_name_type_with_context( + self, that: LangStringNameType, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_lang_string_text_type_with_context( + self, that: LangStringTextType, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_environment_with_context( + self, that: Environment, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_embedded_data_specification_with_context( + self, that: EmbeddedDataSpecification, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_level_type_with_context(self, that: LevelType, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_value_reference_pair_with_context( + self, that: ValueReferencePair, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_value_list_with_context(self, that: ValueList, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_lang_string_preferred_name_type_iec_61360_with_context( + self, that: LangStringPreferredNameTypeIEC61360, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_lang_string_short_name_type_iec_61360_with_context( + self, that: LangStringShortNameTypeIEC61360, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_lang_string_definition_type_iec_61360_with_context( + self, that: LangStringDefinitionTypeIEC61360, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_lang_string_uom_with_context( + self, that: LangStringUom, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_definition_type_uom_with_context( + self, that: DefinitionTypeUom, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_data_specification_uom_with_context( + self, that: DataSpecificationUom, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_data_specification_iec_61360_with_context( + self, that: DataSpecificationIEC61360, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_asset_administration_shell_descriptor_with_context( + self, that: AssetAdministrationShellDescriptor, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_submodel_descriptor_with_context( + self, that: SubmodelDescriptor, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_endpoint_with_context(self, that: Endpoint, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_protocol_information_with_context( + self, that: ProtocolInformation, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_security_attribute_object_with_context( + self, that: SecurityAttributeObject, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_asset_link_with_context(self, that: AssetLink, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_service_description_with_context( + self, that: ServiceDescription, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_asset_administration_shell_recent_change_with_context( + self, that: AssetAdministrationShellRecentChange, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_concept_description_recent_change_with_context( + self, that: ConceptDescriptionRecentChange, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_submodel_recent_change_with_context( + self, that: SubmodelRecentChange, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_result_with_context(self, that: Result, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_message_with_context(self, that: Message, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_operation_request_with_context( + self, that: OperationRequest, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_operation_request_async_with_context( + self, that: OperationRequestAsync, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_operation_request_value_only_with_context( + self, that: OperationRequestValueOnly, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_operation_request_async_value_only_with_context( + self, that: OperationRequestAsyncValueOnly, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_base_operation_result_with_context( + self, that: BaseOperationResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_operation_result_with_context( + self, that: OperationResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_operation_result_value_only_with_context( + self, that: OperationResultValueOnly, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_operation_handle_with_context( + self, that: OperationHandle, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_paged_result_with_context( + self, that: PagedResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_paging_metadata_with_context( + self, that: PagingMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_package_description_with_context( + self, that: PackageDescription, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_property_metadata_with_context( + self, that: PropertyMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_range_metadata_with_context( + self, that: RangeMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_blob_metadata_with_context( + self, that: BlobMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_file_metadata_with_context( + self, that: FileMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_multi_language_property_metadata_with_context( + self, that: MultiLanguagePropertyMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_reference_element_metadata_with_context( + self, that: ReferenceElementMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_relationship_element_metadata_with_context( + self, that: RelationshipElementMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_annotated_relationship_element_metadata_with_context( + self, that: AnnotatedRelationshipElementMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_entity_metadata_with_context( + self, that: EntityMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_capability_metadata_with_context( + self, that: CapabilityMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_operation_metadata_with_context( + self, that: OperationMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_submodel_element_collection_metadata_with_context( + self, that: SubmodelElementCollectionMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_basic_event_element_metadata_with_context( + self, that: BasicEventElementMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_submodel_element_list_metadata_with_context( + self, that: SubmodelElementListMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_submodel_metadata_with_context( + self, that: SubmodelMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_asset_administration_shell_metadata_with_context( + self, that: AssetAdministrationShellMetadata, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_reference_element_value_with_context( + self, that: ReferenceElementValue, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_blob_value_with_context(self, that: BlobValue, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_file_value_with_context(self, that: FileValue, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_range_value_with_context( + self, that: RangeValue, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_relationship_element_value_with_context( + self, that: RelationshipElementValue, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_basic_event_element_value_with_context( + self, that: BasicEventElementValue, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_annotated_relationship_element_value_with_context( + self, that: AnnotatedRelationshipElementValue, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_entity_value_with_context( + self, that: EntityValue, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_get_asset_administration_shells_result_with_context( + self, that: GetAssetAdministrationShellsResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_get_asset_administration_shells_metadata_result_with_context( + self, that: GetAssetAdministrationShellsMetadataResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_get_all_asset_administration_shells_recent_changes_result_with_context( + self, + that: GetAllAssetAdministrationShellsRecentChangesResult, + context: ContextT, + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_get_asset_administration_shell_descriptors_result_with_context( + self, that: GetAssetAdministrationShellDescriptorsResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_get_concept_descriptions_result_with_context( + self, that: GetConceptDescriptionsResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_get_all_concept_descriptions_recent_changes_result_with_context( + self, that: GetAllConceptDescriptionsRecentChangesResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_get_package_descriptions_result_with_context( + self, that: GetPackageDescriptionsResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_get_path_items_result_with_context( + self, that: GetPathItemsResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_get_references_result_with_context( + self, that: GetReferencesResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_get_submodel_descriptors_result_with_context( + self, that: GetSubmodelDescriptorsResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_get_submodel_elements_metadata_result_with_context( + self, that: GetSubmodelElementsMetadataResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_get_submodel_elements_result_with_context( + self, that: GetSubmodelElementsResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_get_submodel_elements_value_result_with_context( + self, that: GetSubmodelElementsValueResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_get_all_submodels_recent_changes_result_with_context( + self, that: GetAllSubmodelsRecentChangesResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_get_submodels_metadata_result_with_context( + self, that: GetSubmodelsMetadataResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_get_submodels_result_with_context( + self, that: GetSubmodelsResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_get_submodels_value_result_with_context( + self, that: GetSubmodelsValueResult, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_claim_attribute_with_context( + self, that: ClaimAttribute, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_global_attribute_with_context( + self, that: GlobalAttribute, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_reference_attribute_with_context( + self, that: ReferenceAttribute, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_date_time_attribute_item_with_context( + self, that: DateTimeAttributeItem, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_field_operand_with_context( + self, that: FieldOperand, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_string_literal_with_context( + self, that: StringLiteral, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_attribute_operand_with_context( + self, that: AttributeOperand, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_number_literal_with_context( + self, that: NumberLiteral, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_hex_literal_with_context( + self, that: HexLiteral, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_date_time_literal_with_context( + self, that: DateTimeLiteral, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_time_literal_with_context( + self, that: TimeLiteral, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_boolean_literal_with_context( + self, that: BooleanLiteral, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_string_cast_with_context( + self, that: StringCast, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_number_cast_with_context( + self, that: NumberCast, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_hex_cast_with_context(self, that: HexCast, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_boolean_cast_with_context( + self, that: BooleanCast, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_date_time_cast_with_context( + self, that: DateTimeCast, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_time_cast_with_context(self, that: TimeCast, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_day_of_week_with_context( + self, that: DayOfWeek, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_day_of_month_with_context( + self, that: DayOfMonth, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_month_with_context(self, that: Month, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_year_with_context(self, that: Year, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_date_time_attribute_operand_with_context( + self, that: DateTimeAttributeOperand, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_equal_comparison_with_context( + self, that: EqualComparison, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_not_equal_comparison_with_context( + self, that: NotEqualComparison, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_greater_than_comparison_with_context( + self, that: GreaterThanComparison, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_greater_than_or_equal_comparison_with_context( + self, that: GreaterThanOrEqualComparison, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_less_than_comparison_with_context( + self, that: LessThanComparison, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_less_than_or_equal_comparison_with_context( + self, that: LessThanOrEqualComparison, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_contains_comparison_with_context( + self, that: ContainsComparison, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_starts_with_comparison_with_context( + self, that: StartsWithComparison, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_ends_with_comparison_with_context( + self, that: EndsWithComparison, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_regex_comparison_with_context( + self, that: RegexComparison, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_match_clause_with_context( + self, that: MatchClause, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_and_expression_with_context( + self, that: AndExpression, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_or_expression_with_context( + self, that: OrExpression, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_not_expression_with_context( + self, that: NotExpression, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_query_filter_with_context( + self, that: QueryFilter, context: ContextT + ) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + def visit_query_with_context(self, that: Query, context: ContextT) -> None: + """Visit :paramref:`that` in :paramref:`context`.""" + for another in that.descend_once(): + self.visit_with_context(another, context) + + +class AbstractTransformer(Generic[T]): + """Transform the instances of the model.""" + + def transform(self, that: Class) -> T: + """Double-dispatch on :paramref:`that`.""" + return that.transform(self) + + @abc.abstractmethod + def transform_extension(self, that: Extension) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_administrative_information( + self, that: AdministrativeInformation + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_qualifier(self, that: Qualifier) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_asset_administration_shell(self, that: AssetAdministrationShell) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_asset_information(self, that: AssetInformation) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_resource(self, that: Resource) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_specific_asset_id(self, that: SpecificAssetID) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_submodel(self, that: Submodel) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_relationship_element(self, that: RelationshipElement) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_submodel_element_list(self, that: SubmodelElementList) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_submodel_element_collection( + self, that: SubmodelElementCollection + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_property(self, that: Property) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_multi_language_property(self, that: MultiLanguageProperty) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_range(self, that: Range) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_reference_element(self, that: ReferenceElement) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_blob(self, that: Blob) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_file(self, that: File) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_annotated_relationship_element( + self, that: AnnotatedRelationshipElement + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_entity(self, that: Entity) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_event_payload(self, that: EventPayload) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_basic_event_element(self, that: BasicEventElement) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_operation(self, that: Operation) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_operation_variable(self, that: OperationVariable) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_capability(self, that: Capability) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_concept_description(self, that: ConceptDescription) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_reference(self, that: Reference) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_key(self, that: Key) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_lang_string_name_type(self, that: LangStringNameType) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_lang_string_text_type(self, that: LangStringTextType) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_environment(self, that: Environment) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_embedded_data_specification( + self, that: EmbeddedDataSpecification + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_level_type(self, that: LevelType) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_value_reference_pair(self, that: ValueReferencePair) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_value_list(self, that: ValueList) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_lang_string_preferred_name_type_iec_61360( + self, that: LangStringPreferredNameTypeIEC61360 + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_lang_string_short_name_type_iec_61360( + self, that: LangStringShortNameTypeIEC61360 + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_lang_string_definition_type_iec_61360( + self, that: LangStringDefinitionTypeIEC61360 + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_lang_string_uom(self, that: LangStringUom) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_definition_type_uom(self, that: DefinitionTypeUom) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_data_specification_uom(self, that: DataSpecificationUom) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_data_specification_iec_61360( + self, that: DataSpecificationIEC61360 + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_asset_administration_shell_descriptor( + self, that: AssetAdministrationShellDescriptor + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_submodel_descriptor(self, that: SubmodelDescriptor) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_endpoint(self, that: Endpoint) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_protocol_information(self, that: ProtocolInformation) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_security_attribute_object(self, that: SecurityAttributeObject) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_asset_link(self, that: AssetLink) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_service_description(self, that: ServiceDescription) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_asset_administration_shell_recent_change( + self, that: AssetAdministrationShellRecentChange + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_concept_description_recent_change( + self, that: ConceptDescriptionRecentChange + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_submodel_recent_change(self, that: SubmodelRecentChange) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_result(self, that: Result) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_message(self, that: Message) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_operation_request(self, that: OperationRequest) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_operation_request_async(self, that: OperationRequestAsync) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_operation_request_value_only( + self, that: OperationRequestValueOnly + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_operation_request_async_value_only( + self, that: OperationRequestAsyncValueOnly + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_base_operation_result(self, that: BaseOperationResult) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_operation_result(self, that: OperationResult) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_operation_result_value_only( + self, that: OperationResultValueOnly + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_operation_handle(self, that: OperationHandle) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_paged_result(self, that: PagedResult) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_paging_metadata(self, that: PagingMetadata) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_package_description(self, that: PackageDescription) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_property_metadata(self, that: PropertyMetadata) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_range_metadata(self, that: RangeMetadata) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_blob_metadata(self, that: BlobMetadata) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_file_metadata(self, that: FileMetadata) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_multi_language_property_metadata( + self, that: MultiLanguagePropertyMetadata + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_reference_element_metadata(self, that: ReferenceElementMetadata) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_relationship_element_metadata( + self, that: RelationshipElementMetadata + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_annotated_relationship_element_metadata( + self, that: AnnotatedRelationshipElementMetadata + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_entity_metadata(self, that: EntityMetadata) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_capability_metadata(self, that: CapabilityMetadata) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_operation_metadata(self, that: OperationMetadata) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_submodel_element_collection_metadata( + self, that: SubmodelElementCollectionMetadata + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_basic_event_element_metadata( + self, that: BasicEventElementMetadata + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_submodel_element_list_metadata( + self, that: SubmodelElementListMetadata + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_submodel_metadata(self, that: SubmodelMetadata) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_asset_administration_shell_metadata( + self, that: AssetAdministrationShellMetadata + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_reference_element_value(self, that: ReferenceElementValue) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_blob_value(self, that: BlobValue) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_file_value(self, that: FileValue) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_range_value(self, that: RangeValue) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_relationship_element_value(self, that: RelationshipElementValue) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_basic_event_element_value(self, that: BasicEventElementValue) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_annotated_relationship_element_value( + self, that: AnnotatedRelationshipElementValue + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_entity_value(self, that: EntityValue) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_asset_administration_shells_result( + self, that: GetAssetAdministrationShellsResult + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_asset_administration_shells_metadata_result( + self, that: GetAssetAdministrationShellsMetadataResult + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_all_asset_administration_shells_recent_changes_result( + self, that: GetAllAssetAdministrationShellsRecentChangesResult + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_asset_administration_shell_descriptors_result( + self, that: GetAssetAdministrationShellDescriptorsResult + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_concept_descriptions_result( + self, that: GetConceptDescriptionsResult + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_all_concept_descriptions_recent_changes_result( + self, that: GetAllConceptDescriptionsRecentChangesResult + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_package_descriptions_result( + self, that: GetPackageDescriptionsResult + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_path_items_result(self, that: GetPathItemsResult) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_references_result(self, that: GetReferencesResult) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_submodel_descriptors_result( + self, that: GetSubmodelDescriptorsResult + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_submodel_elements_metadata_result( + self, that: GetSubmodelElementsMetadataResult + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_submodel_elements_result( + self, that: GetSubmodelElementsResult + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_submodel_elements_value_result( + self, that: GetSubmodelElementsValueResult + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_all_submodels_recent_changes_result( + self, that: GetAllSubmodelsRecentChangesResult + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_submodels_metadata_result( + self, that: GetSubmodelsMetadataResult + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_submodels_result(self, that: GetSubmodelsResult) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_submodels_value_result(self, that: GetSubmodelsValueResult) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_claim_attribute(self, that: ClaimAttribute) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_global_attribute(self, that: GlobalAttribute) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_reference_attribute(self, that: ReferenceAttribute) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_date_time_attribute_item(self, that: DateTimeAttributeItem) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_field_operand(self, that: FieldOperand) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_string_literal(self, that: StringLiteral) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_attribute_operand(self, that: AttributeOperand) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_number_literal(self, that: NumberLiteral) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_hex_literal(self, that: HexLiteral) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_date_time_literal(self, that: DateTimeLiteral) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_time_literal(self, that: TimeLiteral) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_boolean_literal(self, that: BooleanLiteral) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_string_cast(self, that: StringCast) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_number_cast(self, that: NumberCast) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_hex_cast(self, that: HexCast) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_boolean_cast(self, that: BooleanCast) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_date_time_cast(self, that: DateTimeCast) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_time_cast(self, that: TimeCast) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_day_of_week(self, that: DayOfWeek) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_day_of_month(self, that: DayOfMonth) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_month(self, that: Month) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_year(self, that: Year) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_date_time_attribute_operand( + self, that: DateTimeAttributeOperand + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_equal_comparison(self, that: EqualComparison) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_not_equal_comparison(self, that: NotEqualComparison) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_greater_than_comparison(self, that: GreaterThanComparison) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_greater_than_or_equal_comparison( + self, that: GreaterThanOrEqualComparison + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_less_than_comparison(self, that: LessThanComparison) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_less_than_or_equal_comparison( + self, that: LessThanOrEqualComparison + ) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_contains_comparison(self, that: ContainsComparison) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_starts_with_comparison(self, that: StartsWithComparison) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_ends_with_comparison(self, that: EndsWithComparison) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_regex_comparison(self, that: RegexComparison) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_match_clause(self, that: MatchClause) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_and_expression(self, that: AndExpression) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_or_expression(self, that: OrExpression) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_not_expression(self, that: NotExpression) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_query_filter(self, that: QueryFilter) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_query(self, that: Query) -> T: + """Transform :paramref:`that`.""" + raise NotImplementedError + + +class AbstractTransformerWithContext(Generic[ContextT, T]): + """Transform the instances of the model in context.""" + + def transform_with_context(self, that: Class, context: ContextT) -> T: + """Double-dispatch on :paramref:`that`.""" + return that.transform_with_context(self, context) + + @abc.abstractmethod + def transform_extension_with_context(self, that: Extension, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_administrative_information_with_context( + self, that: AdministrativeInformation, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_qualifier_with_context(self, that: Qualifier, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_asset_administration_shell_with_context( + self, that: AssetAdministrationShell, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_asset_information_with_context( + self, that: AssetInformation, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_resource_with_context(self, that: Resource, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_specific_asset_id_with_context( + self, that: SpecificAssetID, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_submodel_with_context(self, that: Submodel, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_relationship_element_with_context( + self, that: RelationshipElement, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_submodel_element_list_with_context( + self, that: SubmodelElementList, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_submodel_element_collection_with_context( + self, that: SubmodelElementCollection, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_property_with_context(self, that: Property, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_multi_language_property_with_context( + self, that: MultiLanguageProperty, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_range_with_context(self, that: Range, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_reference_element_with_context( + self, that: ReferenceElement, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_blob_with_context(self, that: Blob, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_file_with_context(self, that: File, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_annotated_relationship_element_with_context( + self, that: AnnotatedRelationshipElement, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_entity_with_context(self, that: Entity, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_event_payload_with_context( + self, that: EventPayload, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_basic_event_element_with_context( + self, that: BasicEventElement, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_operation_with_context(self, that: Operation, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_operation_variable_with_context( + self, that: OperationVariable, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_capability_with_context( + self, that: Capability, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_concept_description_with_context( + self, that: ConceptDescription, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_reference_with_context(self, that: Reference, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_key_with_context(self, that: Key, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_lang_string_name_type_with_context( + self, that: LangStringNameType, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_lang_string_text_type_with_context( + self, that: LangStringTextType, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_environment_with_context( + self, that: Environment, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_embedded_data_specification_with_context( + self, that: EmbeddedDataSpecification, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_level_type_with_context( + self, that: LevelType, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_value_reference_pair_with_context( + self, that: ValueReferencePair, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_value_list_with_context( + self, that: ValueList, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_lang_string_preferred_name_type_iec_61360_with_context( + self, that: LangStringPreferredNameTypeIEC61360, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_lang_string_short_name_type_iec_61360_with_context( + self, that: LangStringShortNameTypeIEC61360, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_lang_string_definition_type_iec_61360_with_context( + self, that: LangStringDefinitionTypeIEC61360, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_lang_string_uom_with_context( + self, that: LangStringUom, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_definition_type_uom_with_context( + self, that: DefinitionTypeUom, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_data_specification_uom_with_context( + self, that: DataSpecificationUom, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_data_specification_iec_61360_with_context( + self, that: DataSpecificationIEC61360, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_asset_administration_shell_descriptor_with_context( + self, that: AssetAdministrationShellDescriptor, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_submodel_descriptor_with_context( + self, that: SubmodelDescriptor, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_endpoint_with_context(self, that: Endpoint, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_protocol_information_with_context( + self, that: ProtocolInformation, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_security_attribute_object_with_context( + self, that: SecurityAttributeObject, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_asset_link_with_context( + self, that: AssetLink, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_service_description_with_context( + self, that: ServiceDescription, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_asset_administration_shell_recent_change_with_context( + self, that: AssetAdministrationShellRecentChange, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_concept_description_recent_change_with_context( + self, that: ConceptDescriptionRecentChange, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_submodel_recent_change_with_context( + self, that: SubmodelRecentChange, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_result_with_context(self, that: Result, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_message_with_context(self, that: Message, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_operation_request_with_context( + self, that: OperationRequest, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_operation_request_async_with_context( + self, that: OperationRequestAsync, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_operation_request_value_only_with_context( + self, that: OperationRequestValueOnly, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_operation_request_async_value_only_with_context( + self, that: OperationRequestAsyncValueOnly, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_base_operation_result_with_context( + self, that: BaseOperationResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_operation_result_with_context( + self, that: OperationResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_operation_result_value_only_with_context( + self, that: OperationResultValueOnly, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_operation_handle_with_context( + self, that: OperationHandle, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_paged_result_with_context( + self, that: PagedResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_paging_metadata_with_context( + self, that: PagingMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_package_description_with_context( + self, that: PackageDescription, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_property_metadata_with_context( + self, that: PropertyMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_range_metadata_with_context( + self, that: RangeMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_blob_metadata_with_context( + self, that: BlobMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_file_metadata_with_context( + self, that: FileMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_multi_language_property_metadata_with_context( + self, that: MultiLanguagePropertyMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_reference_element_metadata_with_context( + self, that: ReferenceElementMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_relationship_element_metadata_with_context( + self, that: RelationshipElementMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_annotated_relationship_element_metadata_with_context( + self, that: AnnotatedRelationshipElementMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_entity_metadata_with_context( + self, that: EntityMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_capability_metadata_with_context( + self, that: CapabilityMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_operation_metadata_with_context( + self, that: OperationMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_submodel_element_collection_metadata_with_context( + self, that: SubmodelElementCollectionMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_basic_event_element_metadata_with_context( + self, that: BasicEventElementMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_submodel_element_list_metadata_with_context( + self, that: SubmodelElementListMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_submodel_metadata_with_context( + self, that: SubmodelMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_asset_administration_shell_metadata_with_context( + self, that: AssetAdministrationShellMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_reference_element_value_with_context( + self, that: ReferenceElementValue, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_blob_value_with_context( + self, that: BlobValue, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_file_value_with_context( + self, that: FileValue, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_range_value_with_context( + self, that: RangeValue, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_relationship_element_value_with_context( + self, that: RelationshipElementValue, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_basic_event_element_value_with_context( + self, that: BasicEventElementValue, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_annotated_relationship_element_value_with_context( + self, that: AnnotatedRelationshipElementValue, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_entity_value_with_context( + self, that: EntityValue, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_asset_administration_shells_result_with_context( + self, that: GetAssetAdministrationShellsResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_asset_administration_shells_metadata_result_with_context( + self, that: GetAssetAdministrationShellsMetadataResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_all_asset_administration_shells_recent_changes_result_with_context( + self, + that: GetAllAssetAdministrationShellsRecentChangesResult, + context: ContextT, + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_asset_administration_shell_descriptors_result_with_context( + self, that: GetAssetAdministrationShellDescriptorsResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_concept_descriptions_result_with_context( + self, that: GetConceptDescriptionsResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_all_concept_descriptions_recent_changes_result_with_context( + self, that: GetAllConceptDescriptionsRecentChangesResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_package_descriptions_result_with_context( + self, that: GetPackageDescriptionsResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_path_items_result_with_context( + self, that: GetPathItemsResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_references_result_with_context( + self, that: GetReferencesResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_submodel_descriptors_result_with_context( + self, that: GetSubmodelDescriptorsResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_submodel_elements_metadata_result_with_context( + self, that: GetSubmodelElementsMetadataResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_submodel_elements_result_with_context( + self, that: GetSubmodelElementsResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_submodel_elements_value_result_with_context( + self, that: GetSubmodelElementsValueResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_all_submodels_recent_changes_result_with_context( + self, that: GetAllSubmodelsRecentChangesResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_submodels_metadata_result_with_context( + self, that: GetSubmodelsMetadataResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_submodels_result_with_context( + self, that: GetSubmodelsResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_get_submodels_value_result_with_context( + self, that: GetSubmodelsValueResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_claim_attribute_with_context( + self, that: ClaimAttribute, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_global_attribute_with_context( + self, that: GlobalAttribute, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_reference_attribute_with_context( + self, that: ReferenceAttribute, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_date_time_attribute_item_with_context( + self, that: DateTimeAttributeItem, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_field_operand_with_context( + self, that: FieldOperand, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_string_literal_with_context( + self, that: StringLiteral, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_attribute_operand_with_context( + self, that: AttributeOperand, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_number_literal_with_context( + self, that: NumberLiteral, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_hex_literal_with_context( + self, that: HexLiteral, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_date_time_literal_with_context( + self, that: DateTimeLiteral, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_time_literal_with_context( + self, that: TimeLiteral, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_boolean_literal_with_context( + self, that: BooleanLiteral, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_string_cast_with_context( + self, that: StringCast, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_number_cast_with_context( + self, that: NumberCast, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_hex_cast_with_context(self, that: HexCast, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_boolean_cast_with_context( + self, that: BooleanCast, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_date_time_cast_with_context( + self, that: DateTimeCast, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_time_cast_with_context(self, that: TimeCast, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_day_of_week_with_context( + self, that: DayOfWeek, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_day_of_month_with_context( + self, that: DayOfMonth, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_month_with_context(self, that: Month, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_year_with_context(self, that: Year, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_date_time_attribute_operand_with_context( + self, that: DateTimeAttributeOperand, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_equal_comparison_with_context( + self, that: EqualComparison, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_not_equal_comparison_with_context( + self, that: NotEqualComparison, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_greater_than_comparison_with_context( + self, that: GreaterThanComparison, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_greater_than_or_equal_comparison_with_context( + self, that: GreaterThanOrEqualComparison, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_less_than_comparison_with_context( + self, that: LessThanComparison, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_less_than_or_equal_comparison_with_context( + self, that: LessThanOrEqualComparison, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_contains_comparison_with_context( + self, that: ContainsComparison, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_starts_with_comparison_with_context( + self, that: StartsWithComparison, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_ends_with_comparison_with_context( + self, that: EndsWithComparison, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_regex_comparison_with_context( + self, that: RegexComparison, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_match_clause_with_context( + self, that: MatchClause, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_and_expression_with_context( + self, that: AndExpression, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_or_expression_with_context( + self, that: OrExpression, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_not_expression_with_context( + self, that: NotExpression, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_query_filter_with_context( + self, that: QueryFilter, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + @abc.abstractmethod + def transform_query_with_context(self, that: Query, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + raise NotImplementedError + + +class TransformerWithDefault(AbstractTransformer[T]): + """ + Transform the instances of the model. + + If you do not override the transformation methods, they simply + return :py:attr:`.default`. + """ + + #: Default value which is returned if no override of the transformation + default: T + + def __init__(self, default: T) -> None: + """Initialize with the given :paramref:`default` value.""" + self.default = default + + def transform(self, that: Class) -> T: + """Double-dispatch on :paramref:`that`.""" + return that.transform(self) + + def transform_extension(self, that: Extension) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_administrative_information( + self, that: AdministrativeInformation + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_qualifier(self, that: Qualifier) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_asset_administration_shell(self, that: AssetAdministrationShell) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_asset_information(self, that: AssetInformation) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_resource(self, that: Resource) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_specific_asset_id(self, that: SpecificAssetID) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_submodel(self, that: Submodel) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_relationship_element(self, that: RelationshipElement) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_submodel_element_list(self, that: SubmodelElementList) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_submodel_element_collection( + self, that: SubmodelElementCollection + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_property(self, that: Property) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_multi_language_property(self, that: MultiLanguageProperty) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_range(self, that: Range) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_reference_element(self, that: ReferenceElement) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_blob(self, that: Blob) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_file(self, that: File) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_annotated_relationship_element( + self, that: AnnotatedRelationshipElement + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_entity(self, that: Entity) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_event_payload(self, that: EventPayload) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_basic_event_element(self, that: BasicEventElement) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_operation(self, that: Operation) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_operation_variable(self, that: OperationVariable) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_capability(self, that: Capability) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_concept_description(self, that: ConceptDescription) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_reference(self, that: Reference) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_key(self, that: Key) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_lang_string_name_type(self, that: LangStringNameType) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_lang_string_text_type(self, that: LangStringTextType) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_environment(self, that: Environment) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_embedded_data_specification( + self, that: EmbeddedDataSpecification + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_level_type(self, that: LevelType) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_value_reference_pair(self, that: ValueReferencePair) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_value_list(self, that: ValueList) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_lang_string_preferred_name_type_iec_61360( + self, that: LangStringPreferredNameTypeIEC61360 + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_lang_string_short_name_type_iec_61360( + self, that: LangStringShortNameTypeIEC61360 + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_lang_string_definition_type_iec_61360( + self, that: LangStringDefinitionTypeIEC61360 + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_lang_string_uom(self, that: LangStringUom) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_definition_type_uom(self, that: DefinitionTypeUom) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_data_specification_uom(self, that: DataSpecificationUom) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_data_specification_iec_61360( + self, that: DataSpecificationIEC61360 + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_asset_administration_shell_descriptor( + self, that: AssetAdministrationShellDescriptor + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_submodel_descriptor(self, that: SubmodelDescriptor) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_endpoint(self, that: Endpoint) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_protocol_information(self, that: ProtocolInformation) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_security_attribute_object(self, that: SecurityAttributeObject) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_asset_link(self, that: AssetLink) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_service_description(self, that: ServiceDescription) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_asset_administration_shell_recent_change( + self, that: AssetAdministrationShellRecentChange + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_concept_description_recent_change( + self, that: ConceptDescriptionRecentChange + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_submodel_recent_change(self, that: SubmodelRecentChange) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_result(self, that: Result) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_message(self, that: Message) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_operation_request(self, that: OperationRequest) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_operation_request_async(self, that: OperationRequestAsync) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_operation_request_value_only( + self, that: OperationRequestValueOnly + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_operation_request_async_value_only( + self, that: OperationRequestAsyncValueOnly + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_base_operation_result(self, that: BaseOperationResult) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_operation_result(self, that: OperationResult) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_operation_result_value_only( + self, that: OperationResultValueOnly + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_operation_handle(self, that: OperationHandle) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_paged_result(self, that: PagedResult) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_paging_metadata(self, that: PagingMetadata) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_package_description(self, that: PackageDescription) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_property_metadata(self, that: PropertyMetadata) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_range_metadata(self, that: RangeMetadata) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_blob_metadata(self, that: BlobMetadata) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_file_metadata(self, that: FileMetadata) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_multi_language_property_metadata( + self, that: MultiLanguagePropertyMetadata + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_reference_element_metadata(self, that: ReferenceElementMetadata) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_relationship_element_metadata( + self, that: RelationshipElementMetadata + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_annotated_relationship_element_metadata( + self, that: AnnotatedRelationshipElementMetadata + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_entity_metadata(self, that: EntityMetadata) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_capability_metadata(self, that: CapabilityMetadata) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_operation_metadata(self, that: OperationMetadata) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_submodel_element_collection_metadata( + self, that: SubmodelElementCollectionMetadata + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_basic_event_element_metadata( + self, that: BasicEventElementMetadata + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_submodel_element_list_metadata( + self, that: SubmodelElementListMetadata + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_submodel_metadata(self, that: SubmodelMetadata) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_asset_administration_shell_metadata( + self, that: AssetAdministrationShellMetadata + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_reference_element_value(self, that: ReferenceElementValue) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_blob_value(self, that: BlobValue) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_file_value(self, that: FileValue) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_range_value(self, that: RangeValue) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_relationship_element_value(self, that: RelationshipElementValue) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_basic_event_element_value(self, that: BasicEventElementValue) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_annotated_relationship_element_value( + self, that: AnnotatedRelationshipElementValue + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_entity_value(self, that: EntityValue) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_get_asset_administration_shells_result( + self, that: GetAssetAdministrationShellsResult + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_get_asset_administration_shells_metadata_result( + self, that: GetAssetAdministrationShellsMetadataResult + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_get_all_asset_administration_shells_recent_changes_result( + self, that: GetAllAssetAdministrationShellsRecentChangesResult + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_get_asset_administration_shell_descriptors_result( + self, that: GetAssetAdministrationShellDescriptorsResult + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_get_concept_descriptions_result( + self, that: GetConceptDescriptionsResult + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_get_all_concept_descriptions_recent_changes_result( + self, that: GetAllConceptDescriptionsRecentChangesResult + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_get_package_descriptions_result( + self, that: GetPackageDescriptionsResult + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_get_path_items_result(self, that: GetPathItemsResult) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_get_references_result(self, that: GetReferencesResult) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_get_submodel_descriptors_result( + self, that: GetSubmodelDescriptorsResult + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_get_submodel_elements_metadata_result( + self, that: GetSubmodelElementsMetadataResult + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_get_submodel_elements_result( + self, that: GetSubmodelElementsResult + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_get_submodel_elements_value_result( + self, that: GetSubmodelElementsValueResult + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_get_all_submodels_recent_changes_result( + self, that: GetAllSubmodelsRecentChangesResult + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_get_submodels_metadata_result( + self, that: GetSubmodelsMetadataResult + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_get_submodels_result(self, that: GetSubmodelsResult) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_get_submodels_value_result(self, that: GetSubmodelsValueResult) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_claim_attribute(self, that: ClaimAttribute) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_global_attribute(self, that: GlobalAttribute) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_reference_attribute(self, that: ReferenceAttribute) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_date_time_attribute_item(self, that: DateTimeAttributeItem) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_field_operand(self, that: FieldOperand) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_string_literal(self, that: StringLiteral) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_attribute_operand(self, that: AttributeOperand) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_number_literal(self, that: NumberLiteral) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_hex_literal(self, that: HexLiteral) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_date_time_literal(self, that: DateTimeLiteral) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_time_literal(self, that: TimeLiteral) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_boolean_literal(self, that: BooleanLiteral) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_string_cast(self, that: StringCast) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_number_cast(self, that: NumberCast) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_hex_cast(self, that: HexCast) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_boolean_cast(self, that: BooleanCast) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_date_time_cast(self, that: DateTimeCast) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_time_cast(self, that: TimeCast) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_day_of_week(self, that: DayOfWeek) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_day_of_month(self, that: DayOfMonth) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_month(self, that: Month) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_year(self, that: Year) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_date_time_attribute_operand( + self, that: DateTimeAttributeOperand + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_equal_comparison(self, that: EqualComparison) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_not_equal_comparison(self, that: NotEqualComparison) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_greater_than_comparison(self, that: GreaterThanComparison) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_greater_than_or_equal_comparison( + self, that: GreaterThanOrEqualComparison + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_less_than_comparison(self, that: LessThanComparison) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_less_than_or_equal_comparison( + self, that: LessThanOrEqualComparison + ) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_contains_comparison(self, that: ContainsComparison) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_starts_with_comparison(self, that: StartsWithComparison) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_ends_with_comparison(self, that: EndsWithComparison) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_regex_comparison(self, that: RegexComparison) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_match_clause(self, that: MatchClause) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_and_expression(self, that: AndExpression) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_or_expression(self, that: OrExpression) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_not_expression(self, that: NotExpression) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_query_filter(self, that: QueryFilter) -> T: + """Transform :paramref:`that`.""" + return self.default + + def transform_query(self, that: Query) -> T: + """Transform :paramref:`that`.""" + return self.default + + +class TransformerWithDefaultAndContext(AbstractTransformerWithContext[ContextT, T]): + """ + Transform the instances of the model in context. + + If you do not override the transformation methods, they simply + return :py:attr:`.default`. + """ + + #: Default value which is returned if no override of the transformation + default: T + + def __init__(self, default: T) -> None: + """Initialize with the given :paramref:`default` value.""" + self.default = default + + def transform_with_context(self, that: Class, context: ContextT) -> T: + """Double-dispatch on :paramref:`that`.""" + return that.transform_with_context(self, context) + + def transform_extension_with_context(self, that: Extension, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_administrative_information_with_context( + self, that: AdministrativeInformation, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_qualifier_with_context(self, that: Qualifier, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_asset_administration_shell_with_context( + self, that: AssetAdministrationShell, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_asset_information_with_context( + self, that: AssetInformation, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_resource_with_context(self, that: Resource, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_specific_asset_id_with_context( + self, that: SpecificAssetID, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_submodel_with_context(self, that: Submodel, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_relationship_element_with_context( + self, that: RelationshipElement, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_submodel_element_list_with_context( + self, that: SubmodelElementList, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_submodel_element_collection_with_context( + self, that: SubmodelElementCollection, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_property_with_context(self, that: Property, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_multi_language_property_with_context( + self, that: MultiLanguageProperty, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_range_with_context(self, that: Range, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_reference_element_with_context( + self, that: ReferenceElement, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_blob_with_context(self, that: Blob, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_file_with_context(self, that: File, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_annotated_relationship_element_with_context( + self, that: AnnotatedRelationshipElement, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_entity_with_context(self, that: Entity, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_event_payload_with_context( + self, that: EventPayload, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_basic_event_element_with_context( + self, that: BasicEventElement, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_operation_with_context(self, that: Operation, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_operation_variable_with_context( + self, that: OperationVariable, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_capability_with_context( + self, that: Capability, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_concept_description_with_context( + self, that: ConceptDescription, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_reference_with_context(self, that: Reference, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_key_with_context(self, that: Key, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_lang_string_name_type_with_context( + self, that: LangStringNameType, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_lang_string_text_type_with_context( + self, that: LangStringTextType, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_environment_with_context( + self, that: Environment, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_embedded_data_specification_with_context( + self, that: EmbeddedDataSpecification, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_level_type_with_context( + self, that: LevelType, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_value_reference_pair_with_context( + self, that: ValueReferencePair, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_value_list_with_context( + self, that: ValueList, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_lang_string_preferred_name_type_iec_61360_with_context( + self, that: LangStringPreferredNameTypeIEC61360, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_lang_string_short_name_type_iec_61360_with_context( + self, that: LangStringShortNameTypeIEC61360, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_lang_string_definition_type_iec_61360_with_context( + self, that: LangStringDefinitionTypeIEC61360, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_lang_string_uom_with_context( + self, that: LangStringUom, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_definition_type_uom_with_context( + self, that: DefinitionTypeUom, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_data_specification_uom_with_context( + self, that: DataSpecificationUom, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_data_specification_iec_61360_with_context( + self, that: DataSpecificationIEC61360, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_asset_administration_shell_descriptor_with_context( + self, that: AssetAdministrationShellDescriptor, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_submodel_descriptor_with_context( + self, that: SubmodelDescriptor, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_endpoint_with_context(self, that: Endpoint, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_protocol_information_with_context( + self, that: ProtocolInformation, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_security_attribute_object_with_context( + self, that: SecurityAttributeObject, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_asset_link_with_context( + self, that: AssetLink, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_service_description_with_context( + self, that: ServiceDescription, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_asset_administration_shell_recent_change_with_context( + self, that: AssetAdministrationShellRecentChange, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_concept_description_recent_change_with_context( + self, that: ConceptDescriptionRecentChange, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_submodel_recent_change_with_context( + self, that: SubmodelRecentChange, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_result_with_context(self, that: Result, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_message_with_context(self, that: Message, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_operation_request_with_context( + self, that: OperationRequest, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_operation_request_async_with_context( + self, that: OperationRequestAsync, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_operation_request_value_only_with_context( + self, that: OperationRequestValueOnly, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_operation_request_async_value_only_with_context( + self, that: OperationRequestAsyncValueOnly, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_base_operation_result_with_context( + self, that: BaseOperationResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_operation_result_with_context( + self, that: OperationResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_operation_result_value_only_with_context( + self, that: OperationResultValueOnly, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_operation_handle_with_context( + self, that: OperationHandle, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_paged_result_with_context( + self, that: PagedResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_paging_metadata_with_context( + self, that: PagingMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_package_description_with_context( + self, that: PackageDescription, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_property_metadata_with_context( + self, that: PropertyMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_range_metadata_with_context( + self, that: RangeMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_blob_metadata_with_context( + self, that: BlobMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_file_metadata_with_context( + self, that: FileMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_multi_language_property_metadata_with_context( + self, that: MultiLanguagePropertyMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_reference_element_metadata_with_context( + self, that: ReferenceElementMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_relationship_element_metadata_with_context( + self, that: RelationshipElementMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_annotated_relationship_element_metadata_with_context( + self, that: AnnotatedRelationshipElementMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_entity_metadata_with_context( + self, that: EntityMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_capability_metadata_with_context( + self, that: CapabilityMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_operation_metadata_with_context( + self, that: OperationMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_submodel_element_collection_metadata_with_context( + self, that: SubmodelElementCollectionMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_basic_event_element_metadata_with_context( + self, that: BasicEventElementMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_submodel_element_list_metadata_with_context( + self, that: SubmodelElementListMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_submodel_metadata_with_context( + self, that: SubmodelMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_asset_administration_shell_metadata_with_context( + self, that: AssetAdministrationShellMetadata, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_reference_element_value_with_context( + self, that: ReferenceElementValue, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_blob_value_with_context( + self, that: BlobValue, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_file_value_with_context( + self, that: FileValue, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_range_value_with_context( + self, that: RangeValue, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_relationship_element_value_with_context( + self, that: RelationshipElementValue, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_basic_event_element_value_with_context( + self, that: BasicEventElementValue, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_annotated_relationship_element_value_with_context( + self, that: AnnotatedRelationshipElementValue, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_entity_value_with_context( + self, that: EntityValue, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_get_asset_administration_shells_result_with_context( + self, that: GetAssetAdministrationShellsResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_get_asset_administration_shells_metadata_result_with_context( + self, that: GetAssetAdministrationShellsMetadataResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_get_all_asset_administration_shells_recent_changes_result_with_context( + self, + that: GetAllAssetAdministrationShellsRecentChangesResult, + context: ContextT, + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_get_asset_administration_shell_descriptors_result_with_context( + self, that: GetAssetAdministrationShellDescriptorsResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_get_concept_descriptions_result_with_context( + self, that: GetConceptDescriptionsResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_get_all_concept_descriptions_recent_changes_result_with_context( + self, that: GetAllConceptDescriptionsRecentChangesResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_get_package_descriptions_result_with_context( + self, that: GetPackageDescriptionsResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_get_path_items_result_with_context( + self, that: GetPathItemsResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_get_references_result_with_context( + self, that: GetReferencesResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_get_submodel_descriptors_result_with_context( + self, that: GetSubmodelDescriptorsResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_get_submodel_elements_metadata_result_with_context( + self, that: GetSubmodelElementsMetadataResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_get_submodel_elements_result_with_context( + self, that: GetSubmodelElementsResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_get_submodel_elements_value_result_with_context( + self, that: GetSubmodelElementsValueResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_get_all_submodels_recent_changes_result_with_context( + self, that: GetAllSubmodelsRecentChangesResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_get_submodels_metadata_result_with_context( + self, that: GetSubmodelsMetadataResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_get_submodels_result_with_context( + self, that: GetSubmodelsResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_get_submodels_value_result_with_context( + self, that: GetSubmodelsValueResult, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_claim_attribute_with_context( + self, that: ClaimAttribute, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_global_attribute_with_context( + self, that: GlobalAttribute, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_reference_attribute_with_context( + self, that: ReferenceAttribute, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_date_time_attribute_item_with_context( + self, that: DateTimeAttributeItem, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_field_operand_with_context( + self, that: FieldOperand, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_string_literal_with_context( + self, that: StringLiteral, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_attribute_operand_with_context( + self, that: AttributeOperand, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_number_literal_with_context( + self, that: NumberLiteral, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_hex_literal_with_context( + self, that: HexLiteral, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_date_time_literal_with_context( + self, that: DateTimeLiteral, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_time_literal_with_context( + self, that: TimeLiteral, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_boolean_literal_with_context( + self, that: BooleanLiteral, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_string_cast_with_context( + self, that: StringCast, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_number_cast_with_context( + self, that: NumberCast, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_hex_cast_with_context(self, that: HexCast, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_boolean_cast_with_context( + self, that: BooleanCast, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_date_time_cast_with_context( + self, that: DateTimeCast, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_time_cast_with_context(self, that: TimeCast, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_day_of_week_with_context( + self, that: DayOfWeek, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_day_of_month_with_context( + self, that: DayOfMonth, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_month_with_context(self, that: Month, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_year_with_context(self, that: Year, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_date_time_attribute_operand_with_context( + self, that: DateTimeAttributeOperand, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_equal_comparison_with_context( + self, that: EqualComparison, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_not_equal_comparison_with_context( + self, that: NotEqualComparison, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_greater_than_comparison_with_context( + self, that: GreaterThanComparison, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_greater_than_or_equal_comparison_with_context( + self, that: GreaterThanOrEqualComparison, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_less_than_comparison_with_context( + self, that: LessThanComparison, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_less_than_or_equal_comparison_with_context( + self, that: LessThanOrEqualComparison, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_contains_comparison_with_context( + self, that: ContainsComparison, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_starts_with_comparison_with_context( + self, that: StartsWithComparison, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_ends_with_comparison_with_context( + self, that: EndsWithComparison, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_regex_comparison_with_context( + self, that: RegexComparison, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_match_clause_with_context( + self, that: MatchClause, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_and_expression_with_context( + self, that: AndExpression, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_or_expression_with_context( + self, that: OrExpression, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_not_expression_with_context( + self, that: NotExpression, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_query_filter_with_context( + self, that: QueryFilter, context: ContextT + ) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + def transform_query_with_context(self, that: Query, context: ContextT) -> T: + """Transform :paramref:`that` in :paramref:`context`.""" + return self.default + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/aas_core3_2/verification.py b/aas_core3_2/verification.py new file mode 100644 index 0000000..f8c081d --- /dev/null +++ b/aas_core3_2/verification.py @@ -0,0 +1,10265 @@ +""" +Verify that the instances of the meta-model satisfy the invariants. + +Here is an example how to verify an instance of :py:class:`aas_core3_2.types.Extension`: + +.. code-block:: + + import aas_core3_2.types as our_types + import aas_core3_2.verification as our_verification + + an_instance = our_types.Extension( + # ... some constructor arguments ... + ) + + for error in our_verification.verify(an_instance): + print(f"{error.cause} at: {error.path}") +""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import collections.abc +import math +import re +import struct +import sys +from typing import ( + Any, + Callable, + Iterable, + Iterator, + List, + Mapping, + Optional, + Pattern, + Sequence, + Set, + Tuple, + Union, +) + +if sys.version_info >= (3, 8): + from typing import Final +else: + from typing_extensions import Final + +from aas_core3_2 import ( + common as our_common, + constants as our_constants, + reporting as our_reporting, + types as our_types, +) +import aas_core3_2.jsonvalueverification as our_json_value_verification + +PropertySegment = our_reporting.PropertySegment +IndexSegment = our_reporting.IndexSegment +KeySegment = our_reporting.KeySegment +Segment = our_reporting.Segment +Path = our_reporting.Path + +Error = our_reporting.Error + + +# noinspection SpellCheckingInspection +def _construct_matches_id_short() -> Pattern[str]: + pattern = "^[a-zA-Z][a-zA-Z0-9_-]*[a-zA-Z0-9_]+$" + + return re.compile(pattern) + + +_REGEX_MATCHES_ID_SHORT = _construct_matches_id_short() + + +def matches_id_short(text: str) -> bool: + """Check that :paramref:`text` is a valid short ID.""" + return _REGEX_MATCHES_ID_SHORT.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_version_type() -> Pattern[str]: + pattern = "^(0|[1-9][0-9]*)$" + + return re.compile(pattern) + + +_REGEX_MATCHES_VERSION_TYPE = _construct_matches_version_type() + + +def matches_version_type(text: str) -> bool: + """Check that :paramref:`text` is a valid version string.""" + return _REGEX_MATCHES_VERSION_TYPE.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_revision_type() -> Pattern[str]: + pattern = "^(0|[1-9][0-9]*)$" + + return re.compile(pattern) + + +_REGEX_MATCHES_REVISION_TYPE = _construct_matches_revision_type() + + +def matches_revision_type(text: str) -> bool: + """Check that :paramref:`text` is a valid revision string.""" + return _REGEX_MATCHES_REVISION_TYPE.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_date_time_utc() -> Pattern[str]: + digit = "[0-9]" + year_frag = f"-?(([1-9]{digit}{digit}{digit}+)|(0{digit}{digit}{digit}))" + month_frag = "((0[1-9])|(1[0-2]))" + day_frag = f"((0[1-9])|([12]{digit})|(3[01]))" + hour_frag = f"(([01]{digit})|(2[0-3]))" + minute_frag = f"[0-5]{digit}" + second_frag = f"([0-5]{digit})(\\.{digit}+)?" + end_of_day_frag = "24:00:00(\\.0+)?" + timezone_frag = "(Z|\\+00:00|-00:00)" + date_time_lexical_rep = f"{year_frag}-{month_frag}-{day_frag}T(({hour_frag}:{minute_frag}:{second_frag})|{end_of_day_frag}){timezone_frag}" + pattern = f"^{date_time_lexical_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_DATE_TIME_UTC = _construct_matches_xs_date_time_utc() + + +def matches_xs_date_time_utc(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:dateTime``. + + The time zone must be fixed to UTC. We verify only that the ``text`` matches + a pre-defined pattern. We *do not* verify that the day of month is + correct nor do we check for leap seconds. + + See: https://www.w3.org/TR/xmlschema-2/#dateTime + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_DATE_TIME_UTC.match(text) is not None + + +def is_xs_date_time_utc(text: str) -> bool: + """ + Check that :paramref:`text` is a ``xs:dateTime`` with time zone set to UTC. + + The ``text`` is assumed to match a pre-defined pattern for ``xs:dateTime`` with + the time zone set to UTC. In this function, we check for days of month (e.g., + February 29th). + + See: https://www.w3.org/TR/xmlschema-2/#dateTime + + :param text: Text to be checked + :return: + True if the :paramref:`text` is a valid ``xs:dateTime`` in UTC + """ + return matches_xs_date_time_utc(text) and _is_prefix_valid_date(text) + + +# noinspection SpellCheckingInspection +def _construct_matches_mime_type() -> Pattern[str]: + tchar = "[!#$%&'*+\\-.^_`|~0-9a-zA-Z]" + token = f"({tchar})+" + type = f"{token}" + subtype = f"{token}" + ows = "[ \\t]*" + obs_text = "[\\x80-\\xff]" + qd_text = f"([\\t !#-\\[\\]-~]|{obs_text})" + quoted_pair = f"\\\\([\\t !-~]|{obs_text})" + quoted_string = f'"({qd_text}|{quoted_pair})*"' + parameter = f"{token}=({token}|{quoted_string})" + media_type = f"^{type}/{subtype}({ows};{ows}{parameter})*$" + + return re.compile(media_type) + + +_REGEX_MATCHES_MIME_TYPE = _construct_matches_mime_type() + + +def matches_mime_type(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of MIME type. + + The definition has been taken from: + https://www.rfc-editor.org/rfc/rfc7231#section-3.1.1.1, + https://www.rfc-editor.org/rfc/rfc7230#section-3.2.3 and + https://www.rfc-editor.org/rfc/rfc7230#section-3.2.6. + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_MIME_TYPE.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_rfc_2396() -> Pattern[str]: + alphanum = "[a-zA-Z0-9]" + mark = "[-_.!~*'()]" + unreserved = f"({alphanum}|{mark})" + hex = "([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])" + escaped = f"%{hex}{hex}" + pchar = f"({unreserved}|{escaped}|[:@&=+$,])" + param = f"({pchar})*" + segment = f"({pchar})*(;{param})*" + path_segments = f"{segment}(/{segment})*" + abs_path = f"/{path_segments}" + scheme = "[a-zA-Z][a-zA-Z0-9+\\-.]*" + userinfo = f"({unreserved}|{escaped}|[;:&=+$,])*" + domainlabel = f"({alphanum}|{alphanum}({alphanum}|-)*{alphanum})" + toplabel = f"([a-zA-Z]|[a-zA-Z]({alphanum}|-)*{alphanum})" + hostname = f"({domainlabel}\\.)*{toplabel}(\\.)?" + ipv4address = "[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+" + host = f"({hostname}|{ipv4address})" + port = "[0-9]*" + hostport = f"{host}(:{port})?" + server = f"(({userinfo}@)?{hostport})?" + reg_name = f"({unreserved}|{escaped}|[$,;:@&=+])+" + authority = f"({server}|{reg_name})" + net_path = f"//{authority}({abs_path})?" + reserved = "[;/?:@&=+$,]" + uric = f"({reserved}|{unreserved}|{escaped})" + query = f"({uric})*" + hier_part = f"({net_path}|{abs_path})(\\?{query})?" + uric_no_slash = f"({unreserved}|{escaped}|[;?:@&=+$,])" + opaque_part = f"{uric_no_slash}({uric})*" + absoluteuri = f"{scheme}:({hier_part}|{opaque_part})" + fragment = f"({uric})*" + rel_segment = f"({unreserved}|{escaped}|[;@&=+$,])+" + rel_path = f"{rel_segment}({abs_path})?" + relativeuri = f"({net_path}|{abs_path}|{rel_path})(\\?{query})?" + uri_reference = f"^({absoluteuri}|{relativeuri})?(#{fragment})?$" + + return re.compile(uri_reference) + + +_REGEX_MATCHES_RFC_2396 = _construct_matches_rfc_2396() + + +def matches_rfc_2396(text: str) -> bool: + """ + Check that :paramref:`text` matches to the URI pattern defined in RFC 2396 + + The definition has been taken from: + https://datatracker.ietf.org/doc/html/rfc2396 + + Note that RFX 2396 alone is not enough for specifying ``xs:anyURI`` for + XSD version 1.0, as that specifies URI together with the amendment of + RFC 2732. + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_RFC_2396.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_bcp_47() -> Pattern[str]: + alphanum = "[a-zA-Z0-9]" + singleton = "[0-9A-WY-Za-wy-z]" + extension = f"{singleton}(-({alphanum}){{2,8}})+" + extlang = "[a-zA-Z]{3}(-[a-zA-Z]{3}){0,2}" + irregular = "(en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)" + regular = "(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|zh-min|zh-min-nan|zh-xiang)" + grandfathered = f"({irregular}|{regular})" + language = f"([a-zA-Z]{{2,3}}(-{extlang})?|[a-zA-Z]{{4}}|[a-zA-Z]{{5,8}})" + script = "[a-zA-Z]{4}" + region = "([a-zA-Z]{2}|[0-9]{3})" + variant = f"(({alphanum}){{5,8}}|[0-9]({alphanum}){{3}})" + privateuse = f"[xX](-({alphanum}){{1,8}})+" + langtag = f"{language}(-{script})?(-{region})?(-{variant})*(-{extension})*(-{privateuse})?" + language_tag = f"({langtag}|{privateuse}|{grandfathered})" + pattern = f"^{language_tag}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_BCP_47 = _construct_matches_bcp_47() + + +def matches_bcp_47(text: str) -> bool: + """ + Check that :paramref:`text` is a valid BCP 47 language tag. + + See: https://en.wikipedia.org/wiki/IETF_language_tag + """ + return _REGEX_MATCHES_BCP_47.match(text) is not None + + +def lang_strings_have_unique_languages( + lang_strings: Sequence[our_types.AbstractLangString], +) -> bool: + """ + Check that the :paramref:`lang_strings` do not have overlapping + :py:attr:`.types.AbstractLangString.language`'s + """ + language_set: Set[str] = set() + for lang_string in lang_strings: + if lang_string.language in language_set: + return False + language_set.add(lang_string.language) + return True + + +def qualifier_types_are_unique(qualifiers: Sequence[our_types.Qualifier]) -> bool: + """ + Check that :py:attr:`.types.Qualifier.type`'s of :paramref:`qualifiers` are unique. + + :param qualifiers: to be checked + :return: + True if all :py:attr:`.types.Qualifier.type`'s are unique + """ + observed_types: Set[str] = set() + for qualifier in qualifiers: + if qualifier.type in observed_types: + return False + observed_types.add(qualifier.type) + return True + + +# noinspection SpellCheckingInspection +def _construct_matches_xml_serializable_string() -> Pattern[str]: + pattern = "^[\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd\\U00010000-\\U0010ffff]*$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XML_SERIALIZABLE_STRING = _construct_matches_xml_serializable_string() + + +def matches_xml_serializable_string(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of the Constraint AASd-130. + + Ensures that encoding is possible and interoperability between different + serializations is possible. + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XML_SERIALIZABLE_STRING.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_any_uri() -> Pattern[str]: + alphanum = "[a-zA-Z0-9]" + mark = "[-_.!~*'()]" + unreserved = f"({alphanum}|{mark})" + hex = "([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])" + escaped = f"%{hex}{hex}" + pchar = f"({unreserved}|{escaped}|[:@&=+$,])" + param = f"({pchar})*" + segment = f"({pchar})*(;{param})*" + path_segments = f"{segment}(/{segment})*" + abs_path = f"/{path_segments}" + scheme = "[a-zA-Z][a-zA-Z0-9+\\-.]*" + userinfo = f"({unreserved}|{escaped}|[;:&=+$,])*" + domainlabel = f"({alphanum}|{alphanum}({alphanum}|-)*{alphanum})" + toplabel = f"([a-zA-Z]|[a-zA-Z]({alphanum}|-)*{alphanum})" + hostname = f"({domainlabel}\\.)*{toplabel}(\\.)?" + ipv4address = "[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}" + hex4 = "[0-9A-Fa-f]{1,4}" + hexseq = f"{hex4}(:{hex4})*" + hexpart = f"({hexseq}|{hexseq}::({hexseq})?|::({hexseq})?)" + ipv6address = f"{hexpart}(:{ipv4address})?" + ipv6reference = f"\\[{ipv6address}\\]" + host = f"({hostname}|{ipv4address}|{ipv6reference})" + port = "[0-9]*" + hostport = f"{host}(:{port})?" + server = f"(({userinfo}@)?{hostport})?" + reg_name = f"({unreserved}|{escaped}|[$,;:@&=+])+" + authority = f"({server}|{reg_name})" + net_path = f"//{authority}({abs_path})?" + reserved = "[;/?:@&=+$,\\[\\]]" + uric = f"({reserved}|{unreserved}|{escaped})" + query = f"({uric})*" + hier_part = f"({net_path}|{abs_path})(\\?{query})?" + uric_no_slash = f"({unreserved}|{escaped}|[;?:@&=+$,])" + opaque_part = f"{uric_no_slash}({uric})*" + absoluteuri = f"{scheme}:({hier_part}|{opaque_part})" + fragment = f"({uric})*" + rel_segment = f"({unreserved}|{escaped}|[;@&=+$,])+" + rel_path = f"{rel_segment}({abs_path})?" + relativeuri = f"({net_path}|{abs_path}|{rel_path})(\\?{query})?" + uri_reference = f"^({absoluteuri}|{relativeuri})?(#{fragment})?$" + + return re.compile(uri_reference) + + +_REGEX_MATCHES_XS_ANY_URI = _construct_matches_xs_any_uri() + + +def matches_xs_any_uri(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:anyURI``. + + See: https://www.w3.org/TR/xmlschema-2/#anyURI and + https://datatracker.ietf.org/doc/html/rfc2396 and + https://datatracker.ietf.org/doc/html/rfc2732 + + Note, that version 1.0 of the XSD specification defines ``xs:anyURI`` as + "defined by RFC 2396, as amended by RFC 2732". Therefore, we use a + pattern here that implements the amendments of RFC 2732. This should not + be confused with ``matches_RFC_2396``, which does not include those + amendments and is used in different parts of the specification. + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_ANY_URI.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_base_64_binary() -> Pattern[str]: + b04_char = "[AQgw]" + b04 = f"{b04_char}\\x20?" + b16_char = "[AEIMQUYcgkosw048]" + b16 = f"{b16_char}\\x20?" + b64_char = "[A-Za-z0-9+/]" + b64 = f"{b64_char}\\x20?" + b64quad = f"({b64}{b64}{b64}{b64})" + b64_final_quad = f"({b64}{b64}{b64}{b64_char})" + padded_8 = f"{b64}{b04}= ?=" + padded_16 = f"{b64}{b64}{b16}=" + b64final = f"({b64_final_quad}|{padded_16}|{padded_8})" + base64_binary = f"({b64quad}*{b64final})?" + pattern = f"^{base64_binary}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_BASE_64_BINARY = _construct_matches_xs_base_64_binary() + + +def matches_xs_base_64_binary(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:base64Binary``. + + See: https://www.w3.org/TR/xmlschema-2/#base64Binary + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_BASE_64_BINARY.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_boolean() -> Pattern[str]: + pattern = "^(true|false|1|0)$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_BOOLEAN = _construct_matches_xs_boolean() + + +def matches_xs_boolean(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:boolean``. + + See: https://www.w3.org/TR/xmlschema-2/#boolean + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_BOOLEAN.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_date() -> Pattern[str]: + digit = "[0-9]" + year_frag = f"-?(([1-9]{digit}{digit}{digit}+)|(0{digit}{digit}{digit}))" + month_frag = "((0[1-9])|(1[0-2]))" + day_frag = f"((0[1-9])|([12]{digit})|(3[01]))" + minute_frag = f"[0-5]{digit}" + timezone_frag = f"(Z|(\\+|-)((0{digit}|1[0-3]):{minute_frag}|14:00))" + date_lexical_rep = f"{year_frag}-{month_frag}-{day_frag}{timezone_frag}?" + pattern = f"^{date_lexical_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_DATE = _construct_matches_xs_date() + + +def matches_xs_date(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:date``. + + See: https://www.w3.org/TR/xmlschema-2/#date + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_DATE.match(text) is not None + + +def _is_leap_year(year: str) -> bool: + """ + Check that the :paramref:`year` of an ``xs:date`` is a leap year. + + The :paramref:`year` is expected to be given as text, *i.e.*, as digits with + an optional minus prefix, as the year can be arbitrarily large. + + We consider the years B.C. to be one-off. See the note at + https://www.w3.org/TR/xmlschema-2/#dateTime: "'-0001' is the lexical + representation of the year 1 Before Common Era (1 BCE, sometimes written "1 BC")." + Hence, the year -1 in XML is the year 0 in astronomical years. + + :param year: Text of the year to be checked + :return: True if the :paramref:`year` is a leap year + """ + remainder = our_common.parse_safe_int(year.lstrip("-")[-4:]) % 400 + if year.startswith("-"): + remainder = (remainder + 399) % 400 + return (remainder % 4) == (0) and (((remainder % 100) != (0) or remainder == 0)) + + +def _is_day_of_month_valid(is_leap_year: bool, month: int, day: int) -> bool: + """ + Check that the :paramref:`day` exists in the :paramref:`month`. + + :param is_leap_year: True if February has 29 days + :param month: Month of the year, starting with 1 + :param day: Day of the month, starting with 1 + :return: + True if the :paramref:`day` exists in the :paramref:`month` + """ + if month < 1 or month > 12 or day < 1: + return False + if month == 2: + if is_leap_year: + return day <= 29 + return day <= 28 + if month in (4, 6, 9, 11): + return day <= 30 + return day <= 31 + + +def _is_prefix_valid_date(text: str) -> bool: + """ + Check that the date at the start of :paramref:`text` is valid. + + The :paramref:`text` is expected to start with a date matching the pattern + ``-?YYYY-MM-DD``, where the year can have more than four digits. Whatever follows + the date, such as the time or the time zone, is ignored. + + :param text: Text to be checked + :return: + True if the date at the start of :paramref:`text` is valid + """ + month_start = text.find("-", 1) + 1 + year = text[: month_start - 1] + if year.lstrip("-").lstrip("0") == "": + return False + month = our_common.parse_safe_int(text[month_start : month_start + 2]) + day = our_common.parse_safe_int(text[month_start + 3 : month_start + 5]) + return _is_day_of_month_valid(_is_leap_year(year), month, day) + + +def is_xs_date(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:date``. + + We check that the :paramref:`text` matches the pattern of ``xs:date``, and that + the day exists in the month (*e.g.*, February 29th only in leap years). + + See: https://www.w3.org/TR/xmlschema-2/#date + + :param text: Text to be checked + :return: + True if the :paramref:`text` is a valid ``xs:date`` + """ + return matches_xs_date(text) and _is_prefix_valid_date(text) + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_date_time() -> Pattern[str]: + digit = "[0-9]" + year_frag = f"-?(([1-9]{digit}{digit}{digit}+)|(0{digit}{digit}{digit}))" + month_frag = "((0[1-9])|(1[0-2]))" + day_frag = f"((0[1-9])|([12]{digit})|(3[01]))" + hour_frag = f"(([01]{digit})|(2[0-3]))" + minute_frag = f"[0-5]{digit}" + second_frag = f"([0-5]{digit})(\\.{digit}+)?" + end_of_day_frag = "24:00:00(\\.0+)?" + timezone_frag = f"(Z|(\\+|-)((0{digit}|1[0-3]):{minute_frag}|14:00))" + date_time_lexical_rep = f"{year_frag}-{month_frag}-{day_frag}T(({hour_frag}:{minute_frag}:{second_frag})|{end_of_day_frag}){timezone_frag}?" + pattern = f"^{date_time_lexical_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_DATE_TIME = _construct_matches_xs_date_time() + + +def matches_xs_date_time(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:dateTime``. + + See: https://www.w3.org/TR/xmlschema-2/#dateTime + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_DATE_TIME.match(text) is not None + + +def is_xs_date_time(text: str) -> bool: + """ + Check that :paramref:`text` is a ``xs:dateTime``. + + The ``text`` is assumed to match a pre-defined pattern for ``xs:dateTime``. + In this function, we check for days of month (e.g., February 29th). + + See: https://www.w3.org/TR/xmlschema-2/#dateTime + + :param text: Text to be checked + :return: + True if the :paramref:`text` is a valid ``xs:dateTime`` + """ + return matches_xs_date_time(text) and _is_prefix_valid_date(text) + + +def _fraction_of_date_time_utc(text: str) -> str: + """ + Get the digits of the fraction of a second in :paramref:`text`. + + The :paramref:`text` is expected to be a valid ``xs:dateTime`` with the time + zone fixed to UTC, *i.e.*, it ends with ``Z``, ``+00:00`` or ``-00:00``. + + :param text: Date-time to be parsed + :return: + The digits after the decimal point, or an empty text if there are none + """ + point = text.find(".") + if point == -1: + return "" + if text.endswith("Z"): + return text[point + 1 : -1] + return text[point + 1 : -6] + + +def _is_next_day(text: str, next_text: str) -> bool: + """ + Check that the date of :paramref:`next_text` is the day after the date of + :paramref:`text`. + + Both :paramref:`text` and :paramref:`next_text` are expected to start with + a valid date matching the pattern ``-?YYYY-MM-DD``, where the year can have + more than four digits, but has to fit into an integer. Whatever follows + the date, such as the time or the time zone, is ignored. + + :param text: Text starting with the date to be incremented + :param next_text: + Text starting with the date expected to follow + :return: + True if the date of :paramref:`next_text` follows the date of + :paramref:`text` + """ + month_start = text.find("-", 1) + 1 + next_month_start = next_text.find("-", 1) + 1 + year_text = text[: month_start - 1] + year = our_common.parse_safe_int(year_text) + month = our_common.parse_safe_int(text[month_start : month_start + 2]) + day = our_common.parse_safe_int(text[month_start + 3 : month_start + 5]) + next_year = our_common.parse_safe_int(next_text[: next_month_start - 1]) + next_month = our_common.parse_safe_int( + next_text[next_month_start : next_month_start + 2] + ) + next_day = our_common.parse_safe_int( + next_text[next_month_start + 3 : next_month_start + 5] + ) + if _is_day_of_month_valid(_is_leap_year(year_text), month, day + 1): + return year == next_year and month == next_month and (day + 1) == (next_day) + if next_day != 1: + return False + if month < 12: + return year == next_year and (month + 1) == (next_month) + return next_month == 1 and ( + ((next_year) == (year + 1) or ((year == -1 and next_year == 1))) + ) + + +def date_time_utc_less(that: str, other: str) -> Optional[bool]: + """ + Check that the date-time :paramref:`that` is before :paramref:`other`. + + We compare the years as integers, and the rest of the texts part by part as + strings, since the fraction of a second can be arbitrarily long. + + We do not compare the years with more than 15 digits, as they do not safely fit + into an integer. Such years are valid in ``xs:dateTime``, but not realistic. + + The end of a day, ``24:00:00``, is the same instant as the start of the next day, + see the note at https://www.w3.org/TR/xmlschema-2/#dateTime. + + :param that: Date-time which is expected to come first + :param other: Date-time which is expected to come later + :return: + True if :paramref:`that` is before :paramref:`other`, False if not, and + None if either of them is not a valid ``xs:dateTime`` in UTC, or if + either of their years has more than 15 digits + """ + if not is_xs_date_time_utc(that) or (not is_xs_date_time_utc(other)): + return None + that_month_start = that.find("-", 1) + 1 + other_month_start = other.find("-", 1) + 1 + that_year_text = that[: that_month_start - 1] + other_year_text = other[: other_month_start - 1] + if len(that_year_text.lstrip("-")) > 15 or len(other_year_text.lstrip("-")) > 15: + return None + that_year = our_common.parse_safe_int(that_year_text) + other_year = our_common.parse_safe_int(other_year_text) + that_rest = that[that_month_start : that_month_start + 14] + other_rest = other[other_month_start : other_month_start + 14] + that_fraction = (_fraction_of_date_time_utc(that)).rstrip("0") + other_fraction = (_fraction_of_date_time_utc(other)).rstrip("0") + less = False + if that_year != other_year: + less = that_year < other_year + elif that_rest != other_rest: + less = that_rest < other_rest + else: + less = that_fraction < other_fraction + if ( + less + and that[that_month_start + 6 : that_month_start + 8] == "24" + and other[other_month_start + 6 : other_month_start + 14] == "00:00:00" + and other_fraction == "" + ): + return not _is_next_day(that, other) + return less + + +def date_time_utc_less_or_invalid(that: str, other: str) -> bool: + """ + Check that the date-time :paramref:`that` is before :paramref:`other`, unless + either of them is invalid. + + The invalid date-times are reported by the invariants of + ``DateTimeUTC``, so that we do not report them twice. + See :py:func:`date_time_utc_less`. + + :param that: Date-time which is expected to come first + :param other: Date-time which is expected to come later + :return: + True if :paramref:`that` is before :paramref:`other`, or if either of + them is not a valid ``xs:dateTime`` in UTC + """ + less = date_time_utc_less(that, other) + if less is None: + return True + return less + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_decimal() -> Pattern[str]: + digit = "[0-9]" + unsigned_no_decimal_pt_numeral = f"{digit}+" + no_decimal_pt_numeral = f"(\\+|-)?{unsigned_no_decimal_pt_numeral}" + frac_frag = f"{digit}+" + unsigned_decimal_pt_numeral = ( + f"({unsigned_no_decimal_pt_numeral}\\.{frac_frag}|\\.{frac_frag})" + ) + decimal_pt_numeral = f"(\\+|-)?{unsigned_decimal_pt_numeral}" + decimal_lexical_rep = f"({decimal_pt_numeral}|{no_decimal_pt_numeral})" + pattern = f"^{decimal_lexical_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_DECIMAL = _construct_matches_xs_decimal() + + +def matches_xs_decimal(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:decimal``. + + See: https://www.w3.org/TR/xmlschema-2/#decimal + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_DECIMAL.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_double() -> Pattern[str]: + double_rep = ( + "((\\+|-)?([0-9]+(\\.[0-9]*)?|\\.[0-9]+)([Ee](\\+|-)?[0-9]+)?|-?INF|NaN)" + ) + pattern = f"^{double_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_DOUBLE = _construct_matches_xs_double() + + +def matches_xs_double(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:double``. + + See: https://www.w3.org/TR/xmlschema-2/#double + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_DOUBLE.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_duration() -> Pattern[str]: + duration_rep = "-?P((([0-9]+Y([0-9]+M)?([0-9]+D)?|([0-9]+M)([0-9]+D)?|([0-9]+D))(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S)))?)|(T(([0-9]+H)([0-9]+M)?([0-9]+(\\.[0-9]+)?S)?|([0-9]+M)([0-9]+(\\.[0-9]+)?S)?|([0-9]+(\\.[0-9]+)?S))))" + pattern = f"^{duration_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_DURATION = _construct_matches_xs_duration() + + +def matches_xs_duration(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:duration``. + + See: https://www.w3.org/TR/xmlschema-2/#duration + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_DURATION.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_float() -> Pattern[str]: + float_rep = ( + "((\\+|-)?([0-9]+(\\.[0-9]*)?|\\.[0-9]+)([Ee](\\+|-)?[0-9]+)?|-?INF|NaN)" + ) + pattern = f"^{float_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_FLOAT = _construct_matches_xs_float() + + +def matches_xs_float(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:float``. + + See: https://www.w3.org/TR/xmlschema-2/#float + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_FLOAT.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_g_day() -> Pattern[str]: + g_day_lexical_rep = ( + "---(0[1-9]|[12][0-9]|3[01])(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + ) + pattern = f"^{g_day_lexical_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_G_DAY = _construct_matches_xs_g_day() + + +def matches_xs_g_day(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:gDay``. + + See: https://www.w3.org/TR/xmlschema-2/#gDay + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_G_DAY.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_g_month() -> Pattern[str]: + g_month_lexical_rep = ( + "--(0[1-9]|1[0-2])(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + ) + pattern = f"^{g_month_lexical_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_G_MONTH = _construct_matches_xs_g_month() + + +def matches_xs_g_month(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:gMonth``. + + See: https://www.w3.org/TR/xmlschema-2/#gMonth + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_G_MONTH.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_g_month_day() -> Pattern[str]: + g_month_day_rep = "--(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + pattern = f"^{g_month_day_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_G_MONTH_DAY = _construct_matches_xs_g_month_day() + + +def matches_xs_g_month_day(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:gMonthDay``. + + See: https://www.w3.org/TR/xmlschema-2/#gMonthDay + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_G_MONTH_DAY.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_g_year() -> Pattern[str]: + g_year_rep = ( + "-?([1-9][0-9]{3,}|0[0-9]{3})(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + ) + pattern = f"^{g_year_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_G_YEAR = _construct_matches_xs_g_year() + + +def matches_xs_g_year(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:gYear``. + + See: https://www.w3.org/TR/xmlschema-2/#gYear + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_G_YEAR.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_g_year_month() -> Pattern[str]: + g_year_month_rep = "-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + pattern = f"^{g_year_month_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_G_YEAR_MONTH = _construct_matches_xs_g_year_month() + + +def matches_xs_g_year_month(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:gYearMonth``. + + See: https://www.w3.org/TR/xmlschema-2/#gYearMonth + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_G_YEAR_MONTH.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_hex_binary() -> Pattern[str]: + hex_binary = "([0-9a-fA-F]{2})*" + pattern = f"^{hex_binary}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_HEX_BINARY = _construct_matches_xs_hex_binary() + + +def matches_xs_hex_binary(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:hexBinary``. + + See: https://www.w3.org/TR/xmlschema-2/#hexBinary + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_HEX_BINARY.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_time() -> Pattern[str]: + time_rep = "(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\\.[0-9]+)?|(24:00:00(\\.0+)?))(Z|(\\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + pattern = f"^{time_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_TIME = _construct_matches_xs_time() + + +def matches_xs_time(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:time``. + + See: https://www.w3.org/TR/xmlschema-2/#time + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_TIME.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_integer() -> Pattern[str]: + integer_rep = "[-+]?[0-9]+" + pattern = f"^{integer_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_INTEGER = _construct_matches_xs_integer() + + +def matches_xs_integer(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:integer``. + + See: https://www.w3.org/TR/xmlschema-2/#integer + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_INTEGER.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_long() -> Pattern[str]: + long_rep = "[-+]?0*[0-9]{1,20}" + pattern = f"^{long_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_LONG = _construct_matches_xs_long() + + +def matches_xs_long(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:long``. + + See: https://www.w3.org/TR/xmlschema-2/#long + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_LONG.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_int() -> Pattern[str]: + int_rep = "[-+]?0*[0-9]{1,10}" + pattern = f"^{int_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_INT = _construct_matches_xs_int() + + +def matches_xs_int(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:int``. + + See: https://www.w3.org/TR/xmlschema-2/#int + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_INT.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_short() -> Pattern[str]: + short_rep = "[-+]?0*[0-9]{1,5}" + pattern = f"^{short_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_SHORT = _construct_matches_xs_short() + + +def matches_xs_short(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:short``. + + See: https://www.w3.org/TR/xmlschema-2/#short + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_SHORT.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_byte() -> Pattern[str]: + byte_rep = "[-+]?0*[0-9]{1,3}" + pattern = f"^{byte_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_BYTE = _construct_matches_xs_byte() + + +def matches_xs_byte(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:byte``. + + See: https://www.w3.org/TR/xmlschema-2/#byte + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_BYTE.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_non_negative_integer() -> Pattern[str]: + non_negative_integer_rep = "(-0|\\+?[0-9]+)" + pattern = f"^{non_negative_integer_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_NON_NEGATIVE_INTEGER = _construct_matches_xs_non_negative_integer() + + +def matches_xs_non_negative_integer(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:nonNegativeInteger``. + + See: https://www.w3.org/TR/xmlschema-2/#nonNegativeInteger + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_NON_NEGATIVE_INTEGER.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_positive_integer() -> Pattern[str]: + positive_integer_rep = "\\+?0*[1-9][0-9]*" + pattern = f"^{positive_integer_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_POSITIVE_INTEGER = _construct_matches_xs_positive_integer() + + +def matches_xs_positive_integer(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:positiveInteger``. + + See: https://www.w3.org/TR/xmlschema-2/#positiveInteger + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_POSITIVE_INTEGER.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_unsigned_long() -> Pattern[str]: + unsigned_long_rep = "(-0|\\+?0*[0-9]{1,20})" + pattern = f"^{unsigned_long_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_UNSIGNED_LONG = _construct_matches_xs_unsigned_long() + + +def matches_xs_unsigned_long(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:unsignedLong``. + + See: https://www.w3.org/TR/xmlschema-2/#unsignedLong + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_UNSIGNED_LONG.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_unsigned_int() -> Pattern[str]: + unsigned_int_rep = "(-0|\\+?0*[0-9]{1,10})" + pattern = f"^{unsigned_int_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_UNSIGNED_INT = _construct_matches_xs_unsigned_int() + + +def matches_xs_unsigned_int(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:unsignedInt``. + + See: https://www.w3.org/TR/xmlschema-2/#unsignedInt + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_UNSIGNED_INT.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_unsigned_short() -> Pattern[str]: + unsigned_short_rep = "(-0|\\+?0*[0-9]{1,5})" + pattern = f"^{unsigned_short_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_UNSIGNED_SHORT = _construct_matches_xs_unsigned_short() + + +def matches_xs_unsigned_short(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:unsignedShort``. + + See: https://www.w3.org/TR/xmlschema-2/#unsignedShort + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_UNSIGNED_SHORT.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_unsigned_byte() -> Pattern[str]: + unsigned_byte_rep = "(-0|\\+?0*[0-9]{1,3})" + pattern = f"^{unsigned_byte_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_UNSIGNED_BYTE = _construct_matches_xs_unsigned_byte() + + +def matches_xs_unsigned_byte(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:unsignedByte``. + + See: https://www.w3.org/TR/xmlschema-2/#unsignedByte + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_UNSIGNED_BYTE.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_non_positive_integer() -> Pattern[str]: + non_positive_integer_rep = "(\\+0|0|-[0-9]+)" + pattern = f"^{non_positive_integer_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_NON_POSITIVE_INTEGER = _construct_matches_xs_non_positive_integer() + + +def matches_xs_non_positive_integer(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:nonPositiveInteger``. + + See: https://www.w3.org/TR/xmlschema-2/#nonPositiveInteger + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_NON_POSITIVE_INTEGER.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_negative_integer() -> Pattern[str]: + negative_integer_rep = "(-0*[1-9][0-9]*)" + pattern = f"^{negative_integer_rep}$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_NEGATIVE_INTEGER = _construct_matches_xs_negative_integer() + + +def matches_xs_negative_integer(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:negativeInteger``. + + See: https://www.w3.org/TR/xmlschema-2/#negativeInteger + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_NEGATIVE_INTEGER.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_xs_string() -> Pattern[str]: + pattern = "^[\\x09\\x0a\\x0d\\x20-\\ud7ff\\ue000-\\ufffd\\U00010000-\\U0010ffff]*$" + + return re.compile(pattern) + + +_REGEX_MATCHES_XS_STRING = _construct_matches_xs_string() + + +def matches_xs_string(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:string``. + + See: https://www.w3.org/TR/xmlschema-2/#string + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_XS_STRING.match(text) is not None + + +def _is_magnitude_at_most(digits: str, limit: str) -> bool: + """ + Check that the number given as :paramref:`digits` is at most :paramref:`limit`. + + Both :paramref:`digits` and :paramref:`limit` are expected to be decimal digits + without a sign and without leading zeros. An empty text represents zero. + + We compare the numbers as strings, since they might not fit into an integer. + The digits of numbers of equal length are ordered as the numbers themselves. + + :param digits: Number to be checked + :param limit: Largest allowed number + :return: + True if :paramref:`digits` is at most :paramref:`limit` + """ + if len(digits) != len(limit): + return len(digits) < len(limit) + return digits <= limit + + +def _is_integer_in_range(text: str, max_negative: str, max_positive: str) -> bool: + """ + Check that the integer :paramref:`text` is within the given range. + + The :paramref:`text` is expected to consist of decimal digits with an optional + sign. + + :param text: Text to be checked + :param max_negative: + Largest allowed magnitude of a negative number + :param max_positive: Largest allowed positive number + :return: True if the :paramref:`text` is within the range + """ + digits = text.lstrip("+-").lstrip("0") + if text.startswith("-"): + return _is_magnitude_at_most(digits, max_negative) + return _is_magnitude_at_most(digits, max_positive) + + +def _is_decimal_magnitude_below(text: str, limit: str) -> bool: + """ + Check that the magnitude of the decimal :paramref:`text` is below :paramref:`limit`. + + The :paramref:`text` is expected to match the pattern of a finite ``xs:double`` + or ``xs:float``, *i.e.*, a decimal with an optional sign, an optional point and + an optional exponent. The :paramref:`limit` is expected to be a positive integer + without leading zeros. + + We compare the numbers as strings, since they do not necessarily fit into + any native number, and parsing them to floating-point numbers would round them. + + :param text: Decimal to be checked + :param limit: Exclusive upper bound on the magnitude + :return: + True if the magnitude of :paramref:`text` is below :paramref:`limit` + """ + unsigned = text.lstrip("+-") + exponent_start = unsigned.find("e") + if exponent_start == -1: + exponent_start = unsigned.find("E") + mantissa = unsigned + exponent_text = "" + if exponent_start != -1: + mantissa = unsigned[:exponent_start] + exponent_text = unsigned[exponent_start + 1 :] + point = mantissa.find(".") + integer_part = mantissa + fraction_part = "" + if point != -1: + integer_part = mantissa[:point] + fraction_part = mantissa[point + 1 :] + head = integer_part.lstrip("0") + tail = fraction_part + shift: int = len(head) + if head == "": + tail = fraction_part.lstrip("0") + if tail == "": + return True + shift = len(tail) - len(fraction_part) + exponent_digits = exponent_text.lstrip("+-").lstrip("0") + if len(exponent_digits) > 15: + return exponent_text.startswith("-") + exponent: int = 0 + if len(exponent_digits) > 0: + exponent = our_common.parse_safe_int(exponent_digits) + if exponent_text.startswith("-"): + exponent = -exponent + magnitude = exponent + shift + if magnitude != len(limit): + return magnitude < len(limit) + return (head + tail) < (limit) + + +def is_xs_double(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:double``. + + We check that the :paramref:`text` matches the pattern of ``xs:double``, and + that it does not overflow, *i.e.*, that it does not round to infinity unless it + is ``INF`` or ``-INF``. See :py:attr:`.constants.XS_DOUBLE_OVERFLOW_THRESHOLD`. + + See: https://www.w3.org/TR/xmlschema-2/#double + + :param text: Text to be checked + :return: + True if the :paramref:`text` is a valid ``xs:double`` + """ + if not matches_xs_double(text): + return False + if text in ("INF", "-INF", "NaN"): + return True + return _is_decimal_magnitude_below(text, our_constants.XS_DOUBLE_OVERFLOW_THRESHOLD) + + +def is_xs_float(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:float``. + + We check that the :paramref:`text` matches the pattern of ``xs:float``, and + that it does not overflow, *i.e.*, that it does not round to infinity unless it + is ``INF`` or ``-INF``. See :py:attr:`.constants.XS_FLOAT_OVERFLOW_THRESHOLD`. + + See: https://www.w3.org/TR/xmlschema-2/#float + + :param text: Text to be checked + :return: + True if the :paramref:`text` is a valid ``xs:float`` + """ + if not matches_xs_float(text): + return False + if text in ("INF", "-INF", "NaN"): + return True + return _is_decimal_magnitude_below(text, our_constants.XS_FLOAT_OVERFLOW_THRESHOLD) + + +def is_xs_g_month_day(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:gMonthDay``. + + We check that the :paramref:`text` matches the pattern of ``xs:gMonthDay``, + and that the day exists in the month. February 29th is valid, as there is no + year to tell otherwise. + + See: https://www.w3.org/TR/xmlschema-2/#gMonthDay + + :param text: Text to be checked + :return: + True if the :paramref:`text` is a valid ``xs:gMonthDay`` + """ + return matches_xs_g_month_day(text) and _is_day_of_month_valid( + True, our_common.parse_safe_int(text[2:4]), our_common.parse_safe_int(text[5:7]) + ) + + +def is_xs_long(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:long``. + + We check that the :paramref:`text` matches the pattern of ``xs:long``, and + that the number is within the range of ``xs:long``. + + See: https://www.w3.org/TR/xmlschema-2/#long + + :param text: Text to be checked + :return: + True if the :paramref:`text` is a valid ``xs:long`` + """ + return matches_xs_long(text) and _is_integer_in_range( + text, "9223372036854775808", "9223372036854775807" + ) + + +def is_xs_int(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:int``. + + We check that the :paramref:`text` matches the pattern of ``xs:int``, and + that the number is within the range of ``xs:int``. + + See: https://www.w3.org/TR/xmlschema-2/#int + + :param text: Text to be checked + :return: True if the :paramref:`text` is a valid ``xs:int`` + """ + return matches_xs_int(text) and _is_integer_in_range( + text, "2147483648", "2147483647" + ) + + +def is_xs_short(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:short``. + + We check that the :paramref:`text` matches the pattern of ``xs:short``, and + that the number is within the range of ``xs:short``. + + See: https://www.w3.org/TR/xmlschema-2/#short + + :param text: Text to be checked + :return: + True if the :paramref:`text` is a valid ``xs:short`` + """ + return matches_xs_short(text) and _is_integer_in_range(text, "32768", "32767") + + +def is_xs_byte(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:byte``. + + We check that the :paramref:`text` matches the pattern of ``xs:byte``, and + that the number is within the range of ``xs:byte``. + + See: https://www.w3.org/TR/xmlschema-2/#byte + + :param text: Text to be checked + :return: + True if the :paramref:`text` is a valid ``xs:byte`` + """ + return matches_xs_byte(text) and _is_integer_in_range(text, "128", "127") + + +def is_xs_unsigned_long(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:unsignedLong``. + + We check that the :paramref:`text` matches the pattern of ``xs:unsignedLong``, and + that the number is within the range of ``xs:unsignedLong``. + + See: https://www.w3.org/TR/xmlschema-2/#unsignedLong + + :param text: Text to be checked + :return: + True if the :paramref:`text` is a valid ``xs:unsignedLong`` + """ + return matches_xs_unsigned_long(text) and _is_integer_in_range( + text, "0", "18446744073709551615" + ) + + +def is_xs_unsigned_int(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:unsignedInt``. + + We check that the :paramref:`text` matches the pattern of ``xs:unsignedInt``, and + that the number is within the range of ``xs:unsignedInt``. + + See: https://www.w3.org/TR/xmlschema-2/#unsignedInt + + :param text: Text to be checked + :return: + True if the :paramref:`text` is a valid ``xs:unsignedInt`` + """ + return matches_xs_unsigned_int(text) and _is_integer_in_range( + text, "0", "4294967295" + ) + + +def is_xs_unsigned_short(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:unsignedShort``. + + We check that the :paramref:`text` matches the pattern of ``xs:unsignedShort``, and + that the number is within the range of ``xs:unsignedShort``. + + See: https://www.w3.org/TR/xmlschema-2/#unsignedShort + + :param text: Text to be checked + :return: + True if the :paramref:`text` is a valid ``xs:unsignedShort`` + """ + return matches_xs_unsigned_short(text) and _is_integer_in_range(text, "0", "65535") + + +def is_xs_unsigned_byte(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:unsignedByte``. + + We check that the :paramref:`text` matches the pattern of ``xs:unsignedByte``, and + that the number is within the range of ``xs:unsignedByte``. + + See: https://www.w3.org/TR/xmlschema-2/#unsignedByte + + :param text: Text to be checked + :return: + True if the :paramref:`text` is a valid ``xs:unsignedByte`` + """ + return matches_xs_unsigned_byte(text) and _is_integer_in_range(text, "0", "255") + + +def value_consistent_with_xsd_type( + value: str, value_type: our_types.DataTypeDefXSD +) -> bool: + """ + Check that the :paramref:`value` conforms to its :paramref:`value_type`. + + :param value: which needs to conform + :param value_type: pre-defined value type + :return: True if the :paramref:`value` conforms + """ + if value_type == our_types.DataTypeDefXSD.ANY_URI: + return matches_xs_any_uri(value) + elif value_type == our_types.DataTypeDefXSD.BASE_64_BINARY: + return matches_xs_base_64_binary(value) + elif value_type == our_types.DataTypeDefXSD.BOOLEAN: + return matches_xs_boolean(value) + elif value_type == our_types.DataTypeDefXSD.BYTE: + return is_xs_byte(value) + elif value_type == our_types.DataTypeDefXSD.DATE: + return is_xs_date(value) + elif value_type == our_types.DataTypeDefXSD.DATE_TIME: + return is_xs_date_time(value) + elif value_type == our_types.DataTypeDefXSD.DECIMAL: + return matches_xs_decimal(value) + elif value_type == our_types.DataTypeDefXSD.DOUBLE: + return is_xs_double(value) + elif value_type == our_types.DataTypeDefXSD.DURATION: + return matches_xs_duration(value) + elif value_type == our_types.DataTypeDefXSD.FLOAT: + return is_xs_float(value) + elif value_type == our_types.DataTypeDefXSD.G_DAY: + return matches_xs_g_day(value) + elif value_type == our_types.DataTypeDefXSD.G_MONTH: + return matches_xs_g_month(value) + elif value_type == our_types.DataTypeDefXSD.G_MONTH_DAY: + return is_xs_g_month_day(value) + elif value_type == our_types.DataTypeDefXSD.G_YEAR: + return matches_xs_g_year(value) + elif value_type == our_types.DataTypeDefXSD.G_YEAR_MONTH: + return matches_xs_g_year_month(value) + elif value_type == our_types.DataTypeDefXSD.HEX_BINARY: + return matches_xs_hex_binary(value) + elif value_type == our_types.DataTypeDefXSD.INT: + return is_xs_int(value) + elif value_type == our_types.DataTypeDefXSD.INTEGER: + return matches_xs_integer(value) + elif value_type == our_types.DataTypeDefXSD.LONG: + return is_xs_long(value) + elif value_type == our_types.DataTypeDefXSD.NEGATIVE_INTEGER: + return matches_xs_negative_integer(value) + elif value_type == our_types.DataTypeDefXSD.NON_NEGATIVE_INTEGER: + return matches_xs_non_negative_integer(value) + elif value_type == our_types.DataTypeDefXSD.NON_POSITIVE_INTEGER: + return matches_xs_non_positive_integer(value) + elif value_type == our_types.DataTypeDefXSD.POSITIVE_INTEGER: + return matches_xs_positive_integer(value) + elif value_type == our_types.DataTypeDefXSD.SHORT: + return is_xs_short(value) + elif value_type == our_types.DataTypeDefXSD.STRING: + return matches_xs_string(value) + elif value_type == our_types.DataTypeDefXSD.TIME: + return matches_xs_time(value) + elif value_type == our_types.DataTypeDefXSD.UNSIGNED_BYTE: + return is_xs_unsigned_byte(value) + elif value_type == our_types.DataTypeDefXSD.UNSIGNED_INT: + return is_xs_unsigned_int(value) + elif value_type == our_types.DataTypeDefXSD.UNSIGNED_LONG: + return is_xs_unsigned_long(value) + elif value_type == our_types.DataTypeDefXSD.UNSIGNED_SHORT: + return is_xs_unsigned_short(value) + return False + + +def is_model_reference_to( + reference: our_types.Reference, expected_type: our_types.KeyTypes +) -> bool: + """ + Check that the target of the model reference matches the :paramref:`expected_type`. + """ + return ( + reference.type == our_types.ReferenceTypes.MODEL_REFERENCE + and len(reference.keys) != 0 + and reference.keys[-1].type == expected_type + ) + + +def is_model_reference_to_referable(reference: our_types.Reference) -> bool: + """ + Check that the target of the reference matches a :py:attr:`.constants.AAS_REFERABLES`. + """ + return ( + reference.type == our_types.ReferenceTypes.MODEL_REFERENCE + and len(reference.keys) != 0 + and (reference.keys[-1].type in our_constants.AAS_REFERABLES) + ) + + +def id_shorts_are_unique(referables: Sequence[our_types.Referable]) -> bool: + """ + Check that the :py:attr:`.types.Referable.id_short`'s among the :paramref:`referables` are + unique in their namespace. + """ + id_short_set: Set[str] = set() + for referable in referables: + id_short = referable.id_short + if id_short is None: + continue + if id_short in id_short_set: + return False + id_short_set.add(id_short) + return True + + +def _collect_unique_id_shorts_of_variables( + variables: Optional[Sequence[our_types.OperationVariable]], id_short_set: Set[str] +) -> bool: + """ + Collect the :py:attr:`.types.Referable.id_short`'s of the :paramref:`variables` values. + + :param variables: + Operation variables whose ID-shorts we collect + :param id_short_set: + ID-shorts observed so far, extended in place + :return: False if an ID-short has been already observed + """ + if variables is None: + return True + for variable in variables: + id_short = variable.value.id_short + if id_short is None: + continue + if id_short in id_short_set: + return False + id_short_set.add(id_short) + return True + + +def id_shorts_of_variables_are_unique( + input_variables: Optional[Sequence[our_types.OperationVariable]], + output_variables: Optional[Sequence[our_types.OperationVariable]], + inoutput_variables: Optional[Sequence[our_types.OperationVariable]], +) -> bool: + """ + Check that the :py:attr:`.types.Referable.id_short`'s among all the + :paramref:`input_variables`, :paramref:`output_variables` + and :paramref:`inoutput_variables` are unique. + """ + id_short_set: Set[str] = set() + return ( + _collect_unique_id_shorts_of_variables(input_variables, id_short_set) + and _collect_unique_id_shorts_of_variables(output_variables, id_short_set) + and _collect_unique_id_shorts_of_variables(inoutput_variables, id_short_set) + ) + + +# noinspection SpellCheckingInspection +def _construct_specific_asset_id_name_matches_global_asset_id() -> Pattern[str]: + pattern = "^[gG][lL][oO][bB][aA][lL][aA][sS][sS][eE][tT][iI][dD]$" + + return re.compile(pattern) + + +_REGEX_SPECIFIC_ASSET_ID_NAME_MATCHES_GLOBAL_ASSET_ID = ( + _construct_specific_asset_id_name_matches_global_asset_id() +) + + +def specific_asset_id_name_matches_global_asset_id(name: str) -> bool: + """ + Check whether :paramref:`name` is the reserved global asset ID key. + """ + return _REGEX_SPECIFIC_ASSET_ID_NAME_MATCHES_GLOBAL_ASSET_ID.match(name) is not None + + +def submodel_element_has_template_qualifier_in_tree( + element: our_types.SubmodelElement, +) -> bool: + """ + Check whether :paramref:`element` or its descendants have template qualifiers. + """ + if (element.qualifiers is not None) and ( + any( + qualifier.kind_or_default() == our_types.QualifierKind.TEMPLATE_QUALIFIER + for qualifier in element.qualifiers + ) + ): + return True + if isinstance(element, our_types.SubmodelElementList): + return (element.value is not None) and ( + any( + submodel_element_has_template_qualifier_in_tree(child) + for child in element.value + ) + ) + if isinstance(element, our_types.SubmodelElementCollection): + return (element.value is not None) and ( + any( + submodel_element_has_template_qualifier_in_tree(child) + for child in element.value + ) + ) + if isinstance(element, our_types.Entity): + return (element.statements is not None) and ( + any( + submodel_element_has_template_qualifier_in_tree(child) + for child in element.statements + ) + ) + if isinstance(element, our_types.AnnotatedRelationshipElement): + return (element.annotations is not None) and ( + any( + submodel_element_has_template_qualifier_in_tree(child) + for child in element.annotations + ) + ) + if isinstance(element, our_types.Operation): + pass + return False + + +def submodel_elements_have_no_template_qualifiers( + elements: Sequence[our_types.SubmodelElement], +) -> bool: + """ + Check that :paramref:`elements` have no template qualifiers in their trees. + """ + return all( + not submodel_element_has_template_qualifier_in_tree(element) + for element in elements + ) + + +def submodel_element_lists_have_exactly_one_element_in_tree( + element: our_types.SubmodelElement, +) -> bool: + """ + Recursively check that submodel element lists have exactly one child. + """ + if isinstance(element, our_types.SubmodelElementList): + return ( + (element.value is not None) + and len(element.value) == 1 + and ( + all( + submodel_element_lists_have_exactly_one_element_in_tree(child) + for child in element.value + ) + ) + ) + if isinstance(element, our_types.SubmodelElementCollection): + return (element.value is None) or ( + all( + submodel_element_lists_have_exactly_one_element_in_tree(child) + for child in element.value + ) + ) + if isinstance(element, our_types.Entity): + return (element.statements is None) or ( + all( + submodel_element_lists_have_exactly_one_element_in_tree(child) + for child in element.statements + ) + ) + if isinstance(element, our_types.AnnotatedRelationshipElement): + return (element.annotations is None) or ( + all( + submodel_element_lists_have_exactly_one_element_in_tree(child) + for child in element.annotations + ) + ) + return True + + +def submodel_element_lists_in_submodel_elements_have_exactly_one_element( + elements: Sequence[our_types.SubmodelElement], +) -> bool: + """ + Check that all submodel element lists among :paramref:`elements` have one item. + """ + return all( + submodel_element_lists_have_exactly_one_element_in_tree(element) + for element in elements + ) + + +def submodel_element_lists_in_operation_variables_have_exactly_one_element( + input_variables: Optional[Sequence[our_types.OperationVariable]], + output_variables: Optional[Sequence[our_types.OperationVariable]], + inoutput_variables: Optional[Sequence[our_types.OperationVariable]], +) -> bool: + """ + Check that submodel element lists in operation variables have one item. + """ + return ( + ( + ( + (input_variables is None) + or ( + all( + submodel_element_lists_have_exactly_one_element_in_tree( + variable.value + ) + for variable in input_variables + ) + ) + ) + ) + and ( + ( + (output_variables is None) + or ( + all( + submodel_element_lists_have_exactly_one_element_in_tree( + variable.value + ) + for variable in output_variables + ) + ) + ) + ) + and ( + ( + (inoutput_variables is None) + or ( + all( + submodel_element_lists_have_exactly_one_element_in_tree( + variable.value + ) + for variable in inoutput_variables + ) + ) + ) + ) + ) + + +def extension_names_are_unique(extensions: Sequence[our_types.Extension]) -> bool: + """Check that the extension names are unique.""" + name_set: Set[str] = set() + for extension in extensions: + if extension.name in name_set: + return False + name_set.add(extension.name) + return True + + +def submodel_elements_have_identical_semantic_ids( + elements: Sequence[our_types.SubmodelElement], +) -> bool: + """Check that all semantic IDs are identical, if specified.""" + that_semantic_id: Optional[our_types.Reference] = None + for element in elements: + this_semantic_id = element.semantic_id + if this_semantic_id is None: + continue + if that_semantic_id is None: + that_semantic_id = this_semantic_id + elif not reference_key_values_equal(that_semantic_id, this_semantic_id): + return False + return True + + +def submodel_element_is_of_type( + element: our_types.SubmodelElement, element_type: our_types.AASSubmodelElements +) -> bool: + """ + Check that the run-time type of the :paramref:`element` coincides with + :paramref:`element_type`. + """ + if element_type == our_types.AASSubmodelElements.ANNOTATED_RELATIONSHIP_ELEMENT: + return isinstance(element, our_types.AnnotatedRelationshipElement) + elif element_type == our_types.AASSubmodelElements.BASIC_EVENT_ELEMENT: + return isinstance(element, our_types.BasicEventElement) + elif element_type == our_types.AASSubmodelElements.BLOB: + return isinstance(element, our_types.Blob) + elif element_type == our_types.AASSubmodelElements.CAPABILITY: + return isinstance(element, our_types.Capability) + elif element_type == our_types.AASSubmodelElements.DATA_ELEMENT: + return isinstance(element, our_types.DataElement) + elif element_type == our_types.AASSubmodelElements.ENTITY: + return isinstance(element, our_types.Entity) + elif element_type == our_types.AASSubmodelElements.EVENT_ELEMENT: + return isinstance(element, our_types.EventElement) + elif element_type == our_types.AASSubmodelElements.FILE: + return isinstance(element, our_types.File) + elif element_type == our_types.AASSubmodelElements.MULTI_LANGUAGE_PROPERTY: + return isinstance(element, our_types.MultiLanguageProperty) + elif element_type == our_types.AASSubmodelElements.OPERATION: + return isinstance(element, our_types.Operation) + elif element_type == our_types.AASSubmodelElements.PROPERTY: + return isinstance(element, our_types.Property) + elif element_type == our_types.AASSubmodelElements.RANGE: + return isinstance(element, our_types.Range) + elif element_type == our_types.AASSubmodelElements.REFERENCE_ELEMENT: + return isinstance(element, our_types.ReferenceElement) + elif element_type == our_types.AASSubmodelElements.RELATIONSHIP_ELEMENT: + return isinstance(element, our_types.RelationshipElement) + elif element_type == our_types.AASSubmodelElements.SUBMODEL_ELEMENT: + return True + elif element_type == our_types.AASSubmodelElements.SUBMODEL_ELEMENT_LIST: + return isinstance(element, our_types.SubmodelElementList) + elif element_type == our_types.AASSubmodelElements.SUBMODEL_ELEMENT_COLLECTION: + return isinstance(element, our_types.SubmodelElementCollection) + return False + + +def properties_or_ranges_have_value_type( + elements: Sequence[our_types.SubmodelElement], value_type: our_types.DataTypeDefXSD +) -> bool: + """ + Check that all the :paramref:`elements` have the :paramref:`value_type`. + """ + for element in elements: + if isinstance(element, our_types.Property) and element.value_type != value_type: + return False + if isinstance(element, our_types.Range) and element.value_type != value_type: + return False + return True + + +def reference_key_values_equal( + that: our_types.Reference, other: our_types.Reference +) -> bool: + """ + Check that the two references are equal by comparing their key values. + """ + if len(that.keys) != len(other.keys): + return False + for i in range(0, len(that.keys)): + if that.keys[i].value != other.keys[i].value: + return False + return True + + +def data_specification_iec_61360s_for_property_or_value_have_appropriate_data_type( + embedded_data_specifications: Sequence[our_types.EmbeddedDataSpecification], +) -> bool: + """ + Check that the :py:attr:`.types.DataSpecificationIEC61360.data_type` is defined + appropriately for all data specifications whose content is given as IEC 61360. + """ + return all( + not isinstance( + data_specification.data_specification_content, + our_types.DataSpecificationIEC61360, + ) + or ( + ( + (data_specification.data_specification_content.data_type is not None) + and ( + data_specification.data_specification_content.data_type + in our_constants.DATA_TYPE_IEC_61360_FOR_PROPERTY_OR_VALUE + ) + ) + ) + for data_specification in embedded_data_specifications + ) + + +def data_specification_iec_61360s_for_reference_have_appropriate_data_type( + embedded_data_specifications: Sequence[our_types.EmbeddedDataSpecification], +) -> bool: + """ + Check that the :py:attr:`.types.DataSpecificationIEC61360.data_type` is defined + appropriately for all data specifications whose content is given as IEC 61360. + """ + return all( + not isinstance( + data_specification.data_specification_content, + our_types.DataSpecificationIEC61360, + ) + or ( + ( + (data_specification.data_specification_content.data_type is not None) + and ( + data_specification.data_specification_content.data_type + in our_constants.DATA_TYPE_IEC_61360_FOR_REFERENCE + ) + ) + ) + for data_specification in embedded_data_specifications + ) + + +def data_specification_iec_61360s_for_document_have_appropriate_data_type( + embedded_data_specifications: Sequence[our_types.EmbeddedDataSpecification], +) -> bool: + """ + Check that the :py:attr:`.types.DataSpecificationIEC61360.data_type` is defined + appropriately for all data specifications whose content is given as IEC 61360. + """ + return all( + not isinstance( + data_specification.data_specification_content, + our_types.DataSpecificationIEC61360, + ) + or ( + ( + (data_specification.data_specification_content.data_type is not None) + and ( + data_specification.data_specification_content.data_type + in our_constants.DATA_TYPE_IEC_61360_FOR_DOCUMENT + ) + ) + ) + for data_specification in embedded_data_specifications + ) + + +def data_specification_iec_61360s_have_data_type( + embedded_data_specifications: Sequence[our_types.EmbeddedDataSpecification], +) -> bool: + """ + Check that the :py:attr:`.types.DataSpecificationIEC61360.data_type` is defined for all + data specifications whose content is given as IEC 61360. + """ + return all( + not isinstance( + data_specification.data_specification_content, + our_types.DataSpecificationIEC61360, + ) + or (data_specification.data_specification_content.data_type is not None) + for data_specification in embedded_data_specifications + ) + + +def data_specification_iec_61360s_have_value( + embedded_data_specifications: Sequence[our_types.EmbeddedDataSpecification], +) -> bool: + """ + Check that the :py:attr:`.types.DataSpecificationIEC61360.value` is defined + for all data specifications whose content is given as IEC 61360. + """ + return all( + not isinstance( + data_specification.data_specification_content, + our_types.DataSpecificationIEC61360, + ) + or (data_specification.data_specification_content.value is not None) + for data_specification in embedded_data_specifications + ) + + +def data_specification_iec_61360s_have_definition_at_least_in_english( + embedded_data_specifications: Sequence[our_types.EmbeddedDataSpecification], +) -> bool: + """ + Check that the :py:attr:`.types.DataSpecificationIEC61360.definition` is defined + for all data specifications whose content is given as IEC 61360 at least in English. + """ + for data_specification in embedded_data_specifications: + content = data_specification.data_specification_content + if not isinstance(content, our_types.DataSpecificationIEC61360): + continue + definition = content.definition + if definition is None: + return False + if not ( + any( + is_bcp_47_for_english(lang_string.language) + for lang_string in definition + ) + ): + return False + return True + + +# noinspection SpellCheckingInspection +def _construct_is_bcp_47_for_english() -> Pattern[str]: + pattern = "^(en|EN)(-.*)?$" + + return re.compile(pattern) + + +_REGEX_IS_BCP_47_FOR_ENGLISH = _construct_is_bcp_47_for_english() + + +def is_bcp_47_for_english(text: str) -> bool: + """ + Check that the :paramref:`text` corresponds to a BCP47 code for english. + """ + return _REGEX_IS_BCP_47_FOR_ENGLISH.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_path_item() -> Pattern[str]: + pattern = "^(([A-Za-z][A-Za-z0-9_]+)|(\\[[0-9]+\\]))((\\.[A-Za-z][A-Za-z0-9_]+)|(\\[[0-9]+\\]))*$" + + return re.compile(pattern) + + +_REGEX_MATCHES_PATH_ITEM = _construct_matches_path_item() + + +def matches_path_item(text: str) -> bool: + """ + Check that :paramref:`text` is a valid idShortPath. + + An idShortPath is a chain of idShorts or SubmodelElementList-indexes + which points to an element within a hierarchy of elements, *e.g.*, + ``sme1.sme2[0].p1``. + """ + return _REGEX_MATCHES_PATH_ITEM.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_field_identifier() -> Pattern[str]: + array_index = "(0|[1-9][0-9]*)" + optional_index = f"\\[{array_index}?\\]" + reference_clause = f"(type|keys{optional_index}\\.(type|value))" + semantic_id_clause = f"semanticId(\\.{reference_clause})?" + supplemental_semantic_id_clause = ( + f"supplementalSemanticIds({optional_index})?(\\.{reference_clause})?" + ) + specific_asset_ids_clause = f"specificAssetIds{optional_index}\\.(name|value|externalSubjectId(\\.{reference_clause})?)" + endpoint_clause = ( + f"endpoints{optional_index}\\.(interface|protocolinformation\\.href)" + ) + sm_descriptor_clause = f"({semantic_id_clause}|{supplemental_semantic_id_clause}|idShort|id|{endpoint_clause})" + id_short = "[A-Za-z]([A-Za-z0-9_-]*[A-Za-z0-9_])?" + id_short_path_segment = f"{id_short}({optional_index})*" + id_short_path = f"{id_short_path_segment}(\\.{id_short_path_segment})*" + fields_aas = f"(idShort|id|assetInformation\\.assetKind|assetInformation\\.assetType|assetInformation\\.globalAssetId|assetInformation\\.{specific_asset_ids_clause}|submodels{optional_index}(\\.{reference_clause})?)" + fields_sm = f"({semantic_id_clause}|{supplemental_semantic_id_clause}|idShort|id)" + fields_sme = f"({semantic_id_clause}|{supplemental_semantic_id_clause}|idShort|value|valueType|language)" + fields_cd = "(idShort|id)" + fields_aas_descriptor = f"(idShort|id|assetKind|assetType|globalAssetId|{specific_asset_ids_clause}|{endpoint_clause}|submodelDescriptors{optional_index}\\.{sm_descriptor_clause})" + pattern = f"^(\\$aas#{fields_aas}|\\$sm#{fields_sm}|\\$sme(\\.{id_short_path})?#{fields_sme}|\\$cd#{fields_cd}|\\$aasdesc#{fields_aas_descriptor}|\\$smdesc#{sm_descriptor_clause})$" + + return re.compile(pattern) + + +_REGEX_MATCHES_FIELD_IDENTIFIER = _construct_matches_field_identifier() + + +def matches_field_identifier(text: str) -> bool: + """ + Check that :paramref:`text` is a valid field identifier of the query language. + + A field identifier starts with a root (``$aas``, ``$sm``, ``$sme``, ``$cd``, + ``$aasdesc`` or ``$smdesc``), optionally followed by an idShortPath in case + of ``$sme``, and ends with an attribute declaration after ``#``, *e.g.*, + ``$sme.someCollection.someProperty#value``. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#query-grammar + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_FIELD_IDENTIFIER.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_fragment_field_identifier() -> Pattern[str]: + array_index = "(0|[1-9][0-9]*)" + optional_index = f"\\[{array_index}?\\]" + reference_clause = f"keys({optional_index})?" + semantic_id_clause = f"semanticId(\\.{reference_clause})?" + supplemental_semantic_id_clause = ( + f"supplementalSemanticIds({optional_index}(\\.{reference_clause})?)?" + ) + specific_asset_ids_clause = f"specificAssetIds({optional_index}(\\.externalSubjectId(\\.{reference_clause})?)?)?" + submodels_clause = f"submodels({optional_index}(\\.{reference_clause})?)?" + endpoint_clause = f"endpoints({optional_index})?" + sm_descriptor_clause = f"({semantic_id_clause}|{supplemental_semantic_id_clause}|idShort|{endpoint_clause})" + submodel_descriptors_clause = ( + f"submodelDescriptors({optional_index}(\\.{sm_descriptor_clause})?)?" + ) + id_short = "[A-Za-z]([A-Za-z0-9_-]*[A-Za-z0-9_])?" + id_short_path_segment = f"{id_short}({optional_index})*" + id_short_path = f"{id_short_path_segment}(\\.{id_short_path_segment})*" + fields_aas = f"(idShort|assetInformation\\.assetType|assetInformation\\.globalAssetId|assetInformation\\.{specific_asset_ids_clause}|{submodels_clause})" + fields_sm = f"({semantic_id_clause}|{supplemental_semantic_id_clause}|idShort)" + fields_sme = f"({semantic_id_clause}|{supplemental_semantic_id_clause}|idShort|value|valueType|language)" + fields_aas_descriptor = f"(idShort|description|displayName|extension|administration|assetKind|assetType|globalAssetId|{specific_asset_ids_clause}|{endpoint_clause}|{submodel_descriptors_clause})" + pattern = f"^(\\$aas#{fields_aas}|\\$sm#{fields_sm}|\\$sme(\\.{id_short_path})?(#{fields_sme})?|\\$cd#idShort|\\$aasdesc#{fields_aas_descriptor}|\\$smdesc#{sm_descriptor_clause})$" + + return re.compile(pattern) + + +_REGEX_MATCHES_FRAGMENT_FIELD_IDENTIFIER = ( + _construct_matches_fragment_field_identifier() +) + + +def matches_fragment_field_identifier(text: str) -> bool: + """ + Check that :paramref:`text` is a valid fragment field identifier. + + A fragment field identifier points to the part of the returned data which + should be filtered, *e.g.*, ``$aas#assetInformation.specificAssetIds[]`` + or ``$sme.someCollection``. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#query-grammar + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_FRAGMENT_FIELD_IDENTIFIER.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_hex_literal() -> Pattern[str]: + pattern = "^16#[0-9A-F]+$" + + return re.compile(pattern) + + +_REGEX_MATCHES_HEX_LITERAL = _construct_matches_hex_literal() + + +def matches_hex_literal(text: str) -> bool: + """ + Check that :paramref:`text` is a valid hexadecimal literal of the query language. + + A hexadecimal literal is prefixed with ``16#``, *e.g.*, ``16#1F``. + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_HEX_LITERAL.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_date_time_literal() -> Pattern[str]: + digit = "[0-9]" + month_with_31_days = f"(0[13578]|1[02])-(0[1-9]|[12]{digit}|3[01])" + month_with_30_days = f"(0[469]|11)-(0[1-9]|[12]{digit}|30)" + february = f"02-(0[1-9]|1{digit}|2[0-8])" + common_date = f"{digit}{{4}}-({month_with_31_days}|{month_with_30_days}|{february})" + leap_year = ( + f"({digit}{{2}}(0[48]|[2468][048]|[13579][26])|([02468][048]|[13579][26])00)" + ) + leap_day = f"{leap_year}-02-29" + time = f"(([01]{digit}|2[0-3]):[0-5]{digit}(:[0-5]{digit})?(\\.{digit}+)?|24:00(:00)?(\\.0+)?)" + timezone = f"(Z|[+-]((0{digit}|1[0-3]):[0-5]{digit}|14:00))" + pattern = f"^(({common_date})|({leap_day}))T?{time}{timezone}?$" + + return re.compile(pattern) + + +_REGEX_MATCHES_DATE_TIME_LITERAL = _construct_matches_date_time_literal() + + +def matches_date_time_literal(text: str) -> bool: + """ + Check that :paramref:`text` is a valid date-time literal of the query language. + + A date-time literal is a valid calendar date, followed by an optional ``T`` + separator, the time and an optional time zone, *e.g.*, + ``2024-02-29T12:00:00Z``. + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_DATE_TIME_LITERAL.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_time_literal() -> Pattern[str]: + digit = "[0-9]" + time = f"(([01]{digit}|2[0-3]):[0-5]{digit}(:[0-5]{digit})?(\\.{digit}+)?|24:00(:00)?(\\.0+)?)" + timezone = f"(Z|[+-]((0{digit}|1[0-3]):[0-5]{digit}|14:00))" + pattern = f"^{time}{timezone}?$" + + return re.compile(pattern) + + +_REGEX_MATCHES_TIME_LITERAL = _construct_matches_time_literal() + + +def matches_time_literal(text: str) -> bool: + """ + Check that :paramref:`text` is a valid time literal of the query language. + + A time literal is given as ``HH:MM``, ``HH:MM:SS``, optionally with + fractional seconds and an optional time zone, *e.g.*, ``12:00:00+01:00``. + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_TIME_LITERAL.match(text) is not None + + +# noinspection SpellCheckingInspection +def _construct_matches_reference_identifier() -> Pattern[str]: + array_index = "(0|[1-9][0-9]*)" + optional_index = f"\\[{array_index}?\\]" + reference_clause = f"(type|keys{optional_index}\\.(type|value))" + semantic_id_clause = f"semanticId(\\.{reference_clause})?" + supplemental_semantic_id_clause = ( + f"supplementalSemanticIds({optional_index})?(\\.{reference_clause})?" + ) + specific_asset_ids_clause = f"specificAssetIds{optional_index}\\.(name|value|externalSubjectId(\\.{reference_clause})?)" + id_short = "[A-Za-z]([A-Za-z0-9_-]*[A-Za-z0-9_])?" + id_short_path_segment = f"{id_short}({optional_index})*" + id_short_path = f"{id_short_path_segment}(\\.{id_short_path_segment})*" + identifier_character = '([\\x09\\x0a\\x0d\\x20-\\x21\\x23-\\x5b\\x5d-\\ud7ff\\ue000-\\ufffd\\U00010000-\\U0010ffff]|\\\\["\\\\])' + identifier_instance = f'\\("{identifier_character}+"\\)' + fields_aas = f"(idShort|id|assetInformation\\.assetKind|assetInformation\\.assetType|assetInformation\\.globalAssetId|assetInformation\\.{specific_asset_ids_clause}|submodels{optional_index}(\\.{reference_clause})?)" + fields_sm = f"({semantic_id_clause}|{supplemental_semantic_id_clause}|idShort|id)" + fields_sme = f"({semantic_id_clause}|{supplemental_semantic_id_clause}|idShort|value|valueType|language)" + pattern = f"^(\\$aas{identifier_instance}#{fields_aas}|\\$sm{identifier_instance}#{fields_sm}|\\$cd{identifier_instance}#(idShort|id)|\\$sme{identifier_instance}\\.{id_short_path}#{fields_sme})$" + + return re.compile(pattern) + + +_REGEX_MATCHES_REFERENCE_IDENTIFIER = _construct_matches_reference_identifier() + + +def matches_reference_identifier(text: str) -> bool: + """ + Check that :paramref:`text` is a valid reference identifier. + + A reference identifier points to an attribute of a specific instance given + by its identifier, *e.g.*, ``$sm("https://example.com/sm")#idShort`` or + ``$sme("https://example.com/sm").someProperty#value``. A quotation mark and + a reverse solidus in the identifier are escaped as ``\\"`` and ``\\\\``, + respectively. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#query-grammar + + :param text: Text to be checked + :return: + True if the :paramref:`text` conforms to the pattern + """ + return _REGEX_MATCHES_REFERENCE_IDENTIFIER.match(text) is not None + + +def _can_be_of_type(value: our_types.Value, value_type: str) -> bool: + """ + Check that :paramref:`value` can be used as an operand of :paramref:`value_type`. + + Following the normative JSON schema of the query language, a field is + implicitly cast to the type of the other operand, and can hence be used as + an operand of any type. A global attribute giving a date and time + (``LOCALNOW``, ``UTCNOW`` or ``CLIENTNOW``) can be used both as a string and + as a date-time, while all the other attributes are strings. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_json_schema + + :param value: Operand of a comparison + :param value_type: + One of ``string``, ``number``, ``hex``, ``boolean``, ``date_time`` + or ``time`` + :return: + True if :paramref:`value` can be used as :paramref:`value_type` + """ + if isinstance(value, our_types.FieldOperand): + return True + if isinstance(value, our_types.AttributeOperand): + if value_type == "string": + return True + attribute = value.attribute + return ( + value_type == "date_time" + and isinstance(attribute, our_types.GlobalAttribute) + and ( + ( + attribute.kind == our_types.GlobalAttributeKind.LOCAL_NOW + or attribute.kind == our_types.GlobalAttributeKind.UTC_NOW + or attribute.kind == our_types.GlobalAttributeKind.CLIENT_NOW + ) + ) + ) + if isinstance(value, (our_types.StringLiteral, our_types.StringCast)): + return value_type == "string" + if isinstance( + value, + ( + our_types.NumberLiteral, + our_types.NumberCast, + our_types.DayOfWeek, + our_types.DayOfMonth, + our_types.Month, + our_types.Year, + ), + ): + return value_type == "number" + if isinstance(value, (our_types.HexLiteral, our_types.HexCast)): + return value_type == "hex" + if isinstance(value, (our_types.BooleanLiteral, our_types.BooleanCast)): + return value_type == "boolean" + if isinstance(value, (our_types.DateTimeLiteral, our_types.DateTimeCast)): + return value_type == "date_time" + if isinstance(value, (our_types.TimeLiteral, our_types.TimeCast)): + return value_type == "time" + return False + + +def are_equality_comparable(left: our_types.Value, right: our_types.Value) -> bool: + """ + Check that :paramref:`left` and :paramref:`right` can be compared for + (in)equality. + + Following the normative JSON schema of the query language, the two operands + need to be of the same type: a string, a number, a hexadecimal, a boolean, + a date-time or a time. A field is implicitly cast to the type of the other + operand, and can hence be compared with an operand of any type. A global + attribute giving a date and time (``LOCALNOW``, ``UTCNOW`` or ``CLIENTNOW``) + can be used both as a string and as a date-time. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_json_schema + + :param left: First operand of the comparison + :param right: Second operand of the comparison + :return: + True if the operands can be compared for (in)equality + """ + return ( + ((_can_be_of_type(left, "string") and _can_be_of_type(right, "string"))) + or ((_can_be_of_type(left, "number") and _can_be_of_type(right, "number"))) + or ((_can_be_of_type(left, "hex") and _can_be_of_type(right, "hex"))) + or ((_can_be_of_type(left, "boolean") and _can_be_of_type(right, "boolean"))) + or ( + (_can_be_of_type(left, "date_time") and _can_be_of_type(right, "date_time")) + ) + or ((_can_be_of_type(left, "time") and _can_be_of_type(right, "time"))) + ) + + +def are_order_comparable(left: our_types.Value, right: our_types.Value) -> bool: + """ + Check that :paramref:`left` and :paramref:`right` can be compared by order. + + The operands need to be comparable for (in)equality (see + ``are_equality_comparable``), but booleans can not be ordered. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_json_schema + + :param left: First operand of the comparison + :param right: Second operand of the comparison + :return: True if the operands can be compared by order + """ + return ( + are_equality_comparable(left, right) + and (not isinstance(left, (our_types.BooleanLiteral, our_types.BooleanCast))) + and (not isinstance(right, (our_types.BooleanLiteral, our_types.BooleanCast))) + ) + + +class _Transformer(our_types.AbstractTransformer[Iterator[Error]]): + # noinspection PyMethodMayBeStatic + def transform_extension(self, that: our_types.Extension) -> Iterator[Error]: + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.refers_to is not None) or (len(that.refers_to) >= 1)): + yield Error("Refers-to must be either not set or have at least one item.") + + if not ( + not (that.value is not None) + or value_consistent_with_xsd_type(that.value, that.value_type_or_default()) + ): + yield Error("The value must match the value type.") + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + for error in verify_name_type(that.name): + error.path._prepend(PropertySegment(that, "name")) + yield error + + if that.value is not None: + for error in verify_value_data_type(that.value): + error.path._prepend(PropertySegment(that, "value")) + yield error + + if that.refers_to is not None: + for error in _verify_list_of__class(that.refers_to): + error.path._prepend(PropertySegment(that, "refers_to")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_administrative_information( + self, that: our_types.AdministrativeInformation + ) -> Iterator[Error]: + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if not ( + not (((that.created_at is not None) and (that.updated_at is not None))) + or date_time_utc_less_or_invalid(that.created_at, that.updated_at) + ): + yield Error("Created-at must be before updated-at.") + + if not (not (that.revision is not None) or (that.version is not None)): + yield Error( + "Constraint AASd-005: If version is not specified, revision " + + "shall also be unspecified. This means that a revision " + + "requires a version. If there is no version, there is no " + + "revision. Revision is optional." + ) + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + if that.version is not None: + for error in verify_version_type(that.version): + error.path._prepend(PropertySegment(that, "version")) + yield error + + if that.revision is not None: + for error in verify_revision_type(that.revision): + error.path._prepend(PropertySegment(that, "revision")) + yield error + + if that.creator is not None: + for error in verify(that.creator): + error.path._prepend(PropertySegment(that, "creator")) + yield error + + if that.created_at is not None: + for error in verify_date_time_utc(that.created_at): + error.path._prepend(PropertySegment(that, "created_at")) + yield error + + if that.updated_at is not None: + for error in verify_date_time_utc(that.updated_at): + error.path._prepend(PropertySegment(that, "updated_at")) + yield error + + if that.template_id is not None: + for error in verify_identifier(that.template_id): + error.path._prepend(PropertySegment(that, "template_id")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_qualifier(self, that: our_types.Qualifier) -> Iterator[Error]: + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not ( + not (that.value is not None) + or value_consistent_with_xsd_type(that.value, that.value_type) + ): + yield Error( + "Constraint AASd-020: The value shall be consistent with " + + "the data type as defined in value type." + ) + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + for error in verify_qualifier_type(that.type): + error.path._prepend(PropertySegment(that, "type")) + yield error + + if that.value is not None: + for error in verify_value_data_type(that.value): + error.path._prepend(PropertySegment(that, "value")) + yield error + + if that.value_id is not None: + for error in verify(that.value_id): + error.path._prepend(PropertySegment(that, "value_id")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_asset_administration_shell( + self, that: our_types.AssetAdministrationShell + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if not (not (that.submodels is not None) or (len(that.submodels) >= 1)): + yield Error("Submodels must be either not set or have at least one item.") + + if not ( + not (that.derived_from is not None) + or is_model_reference_to( + that.derived_from, our_types.KeyTypes.ASSET_ADMINISTRATION_SHELL + ) + ): + yield Error( + "Derived-from must be a model reference to an asset " + + "administration shell." + ) + + if not ( + not (that.submodels is not None) + or ( + all( + is_model_reference_to(reference, our_types.KeyTypes.SUBMODEL) + for reference in that.submodels + ) + ) + ): + yield Error("All submodels must be model references to a submodel.") + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.administration is not None: + for error in verify(that.administration): + error.path._prepend(PropertySegment(that, "administration")) + yield error + + for error in verify_identifier(that.id): + error.path._prepend(PropertySegment(that, "id")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + if that.derived_from is not None: + for error in verify(that.derived_from): + error.path._prepend(PropertySegment(that, "derived_from")) + yield error + + for error in verify(that.asset_information): + error.path._prepend(PropertySegment(that, "asset_information")) + yield error + + if that.submodels is not None: + for error in _verify_list_of__class(that.submodels): + error.path._prepend(PropertySegment(that, "submodels")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_asset_information( + self, that: our_types.AssetInformation + ) -> Iterator[Error]: + if not ( + not (that.specific_asset_ids is not None) + or ( + all( + not specific_asset_id_name_matches_global_asset_id( + specific_asset_id.name + ) + or ( + ( + (that.global_asset_id is not None) + and specific_asset_id.value == that.global_asset_id + ) + ) + for specific_asset_id in that.specific_asset_ids + ) + ) + ): + yield Error( + "Constraint AASd-116: ``globalAssetId`` (case-insensitive) " + + "is a reserved key. If used as value for the name of " + + "specific asset ID then the value of specific asset ID shall " + + "be identical to the global asset ID with semantics as " + + "defined in " + + "https://admin-shell.io/aas/3/x/AssetInformation/globalAssetId, " + + "x being the minor version of the used specification." + ) + + if not ( + ( + ( + ( + (that.global_asset_id is not None) + or (that.specific_asset_ids is not None) + ) + ) + and ( + not (that.specific_asset_ids is not None) + or (len(that.specific_asset_ids) >= 1) + ) + ) + ): + yield Error( + "Constraint AASd-131: Either the global asset ID shall be " + + "defined or at least one specific asset ID." + ) + + if not ( + not (that.specific_asset_ids is not None) + or (len(that.specific_asset_ids) >= 1) + ): + yield Error( + "Specific asset IDs must be either not set or have at least " + + "one item." + ) + + if that.global_asset_id is not None: + for error in verify_identifier(that.global_asset_id): + error.path._prepend(PropertySegment(that, "global_asset_id")) + yield error + + if that.specific_asset_ids is not None: + for error in _verify_list_of__class(that.specific_asset_ids): + error.path._prepend(PropertySegment(that, "specific_asset_ids")) + yield error + + if that.asset_type is not None: + for error in verify_identifier(that.asset_type): + error.path._prepend(PropertySegment(that, "asset_type")) + yield error + + if that.default_thumbnail is not None: + for error in verify(that.default_thumbnail): + error.path._prepend(PropertySegment(that, "default_thumbnail")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_resource(self, that: our_types.Resource) -> Iterator[Error]: + for error in verify_path_type(that.path): + error.path._prepend(PropertySegment(that, "path")) + yield error + + if that.content_type is not None: + for error in verify_content_type(that.content_type): + error.path._prepend(PropertySegment(that, "content_type")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_specific_asset_id( + self, that: our_types.SpecificAssetID + ) -> Iterator[Error]: + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not ( + not (that.external_subject_id is not None) + or ( + that.external_subject_id.type + == our_types.ReferenceTypes.EXTERNAL_REFERENCE + ) + ): + yield Error( + "Constraint AASd-133: External subject ID shall be " + + "an external reference." + ) + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + for error in verify_label_type(that.name): + error.path._prepend(PropertySegment(that, "name")) + yield error + + for error in verify_identifier(that.value): + error.path._prepend(PropertySegment(that, "value")) + yield error + + if that.external_subject_id is not None: + for error in verify(that.external_subject_id): + error.path._prepend(PropertySegment(that, "external_subject_id")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_submodel(self, that: our_types.Submodel) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if not ( + not (that.submodel_elements is not None) + or (len(that.submodel_elements) >= 1) + ): + yield Error( + "Submodel elements must be either not set or have at least " + + "one item." + ) + + if not ( + not (that.submodel_elements is not None) + or (all(item.id_short is not None for item in that.submodel_elements)) + ): + yield Error( + "ID-shorts need to be defined for all the items of submodel " + + "elements according to AASd-117 (ID-short of " + + "non-identifiable Referables not being a direct child of " + + "a Submodel element list shall be specified)." + ) + + if not ( + not (that.submodel_elements is not None) + or id_shorts_are_unique(that.submodel_elements) + ): + yield Error( + "Constraint AASd-022: ID-short of non-identifiable " + + "referables within the same name space shall be unique " + + "(case-sensitive)." + ) + + if not ( + not (that.kind_or_default() == our_types.ModellingKind.TEMPLATE) + or ( + ( + (that.submodel_elements is not None) + and submodel_element_lists_in_submodel_elements_have_exactly_one_element( + that.submodel_elements + ) + ) + ) + ): + yield Error( + "Constraint AASd-138: A submodel element list within " + + "a submodel of kind Template or as part of an operation " + + "variable shall have exactly one element." + ) + + if not ( + not (that.submodel_elements is not None) + or ( + not (that.kind_or_default() != our_types.ModellingKind.TEMPLATE) + or submodel_elements_have_no_template_qualifiers(that.submodel_elements) + ) + ): + yield Error( + "Constraint AASd-129: If any kind value of a qualifier " + + "(attribute qualifier inherited via Qualifiable) is equal to " + + "TemplateQualifier, the submodel element shall be part of " + + "a submodel template, i.e. a submodel with kind (attribute " + + "kind inherited via Has-Kind) value equal to Template. " + + "Exception: the submodel element is part of an operation " + + "variable." + ) + + if not ( + not (that.qualifiers is not None) + or ( + not ( + any( + qualifier.kind_or_default() + == our_types.QualifierKind.TEMPLATE_QUALIFIER + for qualifier in that.qualifiers + ) + ) + or (that.kind_or_default() == our_types.ModellingKind.TEMPLATE) + ) + ): + yield Error( + "Constraint AASd-119: If any qualifier kind value of " + + "a qualifiable qualifier is equal to template qualifier and " + + "the qualified element has kind then the qualified element " + + "shall be of kind template." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.administration is not None: + for error in verify(that.administration): + error.path._prepend(PropertySegment(that, "administration")) + yield error + + for error in verify_identifier(that.id): + error.path._prepend(PropertySegment(that, "id")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + if that.submodel_elements is not None: + for error in _verify_list_of__class(that.submodel_elements): + error.path._prepend(PropertySegment(that, "submodel_elements")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_relationship_element( + self, that: our_types.RelationshipElement + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + if that.first is not None: + for error in verify(that.first): + error.path._prepend(PropertySegment(that, "first")) + yield error + + if that.second is not None: + for error in verify(that.second): + error.path._prepend(PropertySegment(that, "second")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_submodel_element_list( + self, that: our_types.SubmodelElementList + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if not (not (that.value is not None) or (len(that.value) >= 1)): + yield Error("Value must be either not set or have at least one item.") + + if not ( + not ( + ( + (that.value is not None) + and (that.semantic_id_list_element is not None) + ) + ) + or ( + all( + not (child.semantic_id is not None) + or reference_key_values_equal( + child.semantic_id, that.semantic_id_list_element + ) + for child in that.value + ) + ) + ): + yield Error( + "Constraint AASd-107: If a first level child element has " + + "a semantic ID it shall be identical to semantic ID list " + + "element." + ) + + if not ( + not (that.value is not None) + or submodel_elements_have_identical_semantic_ids(that.value) + ): + yield Error( + "Constraint AASd-114: If two first level child elements have " + + "a semantic ID then they shall be identical." + ) + + if not ( + not (that.value is not None) + or ( + all( + submodel_element_is_of_type(element, that.type_value_list_element) + for element in that.value + ) + ) + ): + yield Error( + "Constraint AASd-108: All first level child elements shall " + + "have the same submodel element type as specified in type " + + "value list element." + ) + + if not ( + not ( + ( + (that.value is not None) + and ( + ( + that.type_value_list_element + == our_types.AASSubmodelElements.PROPERTY + or that.type_value_list_element + == our_types.AASSubmodelElements.RANGE + ) + ) + ) + ) + or ( + ( + (that.value_type_list_element is not None) + and properties_or_ranges_have_value_type( + that.value, that.value_type_list_element + ) + ) + ) + ): + yield Error( + "Constraint AASd-109: If type value list element is equal to " + + "Property or Range value type list element shall be set and " + + "all first level child elements shall have the value type as " + + "specified in value type list element." + ) + + if not (not (that.value is not None) or id_shorts_are_unique(that.value)): + yield Error("ID-shorts of the value must be unique.") + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + if that.semantic_id_list_element is not None: + for error in verify(that.semantic_id_list_element): + error.path._prepend(PropertySegment(that, "semantic_id_list_element")) + yield error + + if that.value is not None: + for error in _verify_list_of__class(that.value): + error.path._prepend(PropertySegment(that, "value")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_submodel_element_collection( + self, that: our_types.SubmodelElementCollection + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if not (not (that.value is not None) or (len(that.value) >= 1)): + yield Error("Value must be either not set or have at least one item.") + + if not ( + not (that.value is not None) + or (all(item.id_short is not None for item in that.value)) + ): + yield Error( + "ID-shorts need to be defined for all the items of value " + + "according to AASd-117 (ID-short of non-identifiable " + + "Referables not being a direct child of a Submodel element " + + "list shall be specified)." + ) + + if not (not (that.value is not None) or id_shorts_are_unique(that.value)): + yield Error("ID-shorts of the value must be unique.") + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + if that.value is not None: + for error in _verify_list_of__class(that.value): + error.path._prepend(PropertySegment(that, "value")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_property(self, that: our_types.Property) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if not ( + not (that.value is not None) + or value_consistent_with_xsd_type(that.value, that.value_type) + ): + yield Error("Value must be consistent with the value type.") + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + if that.value is not None: + for error in verify_value_data_type(that.value): + error.path._prepend(PropertySegment(that, "value")) + yield error + + if that.value_id is not None: + for error in verify(that.value_id): + error.path._prepend(PropertySegment(that, "value_id")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_multi_language_property( + self, that: our_types.MultiLanguageProperty + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if not ( + not (that.value is not None) + or lang_strings_have_unique_languages(that.value) + ): + yield Error("Value must specify unique languages.") + + if not (not (that.value is not None) or (len(that.value) >= 1)): + yield Error("Value must be either not set or have at least one item.") + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + if that.value is not None: + for error in _verify_list_of__class(that.value): + error.path._prepend(PropertySegment(that, "value")) + yield error + + if that.value_id is not None: + for error in verify(that.value_id): + error.path._prepend(PropertySegment(that, "value_id")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_range(self, that: our_types.Range) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if not ( + not (that.max is not None) + or value_consistent_with_xsd_type(that.max, that.value_type) + ): + yield Error("Max must be consistent with the value type.") + + if not ( + not (that.min is not None) + or value_consistent_with_xsd_type(that.min, that.value_type) + ): + yield Error("Min must be consistent with the value type.") + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + if that.min is not None: + for error in verify_value_data_type(that.min): + error.path._prepend(PropertySegment(that, "min")) + yield error + + if that.max is not None: + for error in verify_value_data_type(that.max): + error.path._prepend(PropertySegment(that, "max")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_reference_element( + self, that: our_types.ReferenceElement + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + if that.value is not None: + for error in verify(that.value): + error.path._prepend(PropertySegment(that, "value")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_blob(self, that: our_types.Blob) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + if that.value is not None: + for error in verify_blob_type(that.value): + error.path._prepend(PropertySegment(that, "value")) + yield error + + if that.content_type is not None: + for error in verify_content_type(that.content_type): + error.path._prepend(PropertySegment(that, "content_type")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_file(self, that: our_types.File) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + if that.value is not None: + for error in verify_path_type(that.value): + error.path._prepend(PropertySegment(that, "value")) + yield error + + if that.content_type is not None: + for error in verify_content_type(that.content_type): + error.path._prepend(PropertySegment(that, "content_type")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_annotated_relationship_element( + self, that: our_types.AnnotatedRelationshipElement + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if not (not (that.annotations is not None) or (len(that.annotations) >= 1)): + yield Error( + "Annotations must be either not set or have at least one " + "item." + ) + + if not ( + not (that.annotations is not None) + or (all(item.id_short is not None for item in that.annotations)) + ): + yield Error( + "ID-shorts need to be defined for all the items of " + + "annotations according to AASd-117 (ID-short of " + + "non-identifiable Referables not being a direct child of " + + "a Submodel element list shall be specified)." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + if that.first is not None: + for error in verify(that.first): + error.path._prepend(PropertySegment(that, "first")) + yield error + + if that.second is not None: + for error in verify(that.second): + error.path._prepend(PropertySegment(that, "second")) + yield error + + if that.annotations is not None: + for error in _verify_list_of__class(that.annotations): + error.path._prepend(PropertySegment(that, "annotations")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_entity(self, that: our_types.Entity) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if not (not (that.statements is not None) or (len(that.statements) >= 1)): + yield Error("Statements must be either not set or have at least one item.") + + if not ( + not (that.statements is not None) + or (all(item.id_short is not None for item in that.statements)) + ): + yield Error( + "ID-shorts need to be defined for all the items of " + + "statements according to AASd-117 (ID-short of " + + "non-identifiable Referables not being a direct child of " + + "a Submodel element list shall be specified)." + ) + + if not ( + not (that.entity_type is not None) + or ( + not (that.entity_type == our_types.EntityType.SELF_MANAGED_ENTITY) + or ( + ( + ( + ( + (that.global_asset_id is not None) + and (that.specific_asset_ids is None) + ) + ) + or ( + ( + (that.global_asset_id is None) + and (that.specific_asset_ids is not None) + and len(that.specific_asset_ids) >= 1 + ) + ) + ) + ) + ) + ): + yield Error( + "Constraint AASd-014: Either the attribute global asset ID " + + "or specific asset ID must be set if Entity/entityType is " + + "set to :attr:`Entity_type.Self_managed_entity`." + ) + + if not ( + not (that.specific_asset_ids is not None) + or (len(that.specific_asset_ids) >= 1) + ): + yield Error( + "Specific asset IDs must be either not set or have at least " + + "one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + if that.statements is not None: + for error in _verify_list_of__class(that.statements): + error.path._prepend(PropertySegment(that, "statements")) + yield error + + if that.global_asset_id is not None: + for error in verify_identifier(that.global_asset_id): + error.path._prepend(PropertySegment(that, "global_asset_id")) + yield error + + if that.specific_asset_ids is not None: + for error in _verify_list_of__class(that.specific_asset_ids): + error.path._prepend(PropertySegment(that, "specific_asset_ids")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_event_payload(self, that: our_types.EventPayload) -> Iterator[Error]: + if not ( + ( + is_model_reference_to(that.source, our_types.KeyTypes.EVENT_ELEMENT) + or is_model_reference_to( + that.source, our_types.KeyTypes.BASIC_EVENT_ELEMENT + ) + ) + ): + yield Error("Source must be a model reference to an Event element.") + + if not (is_model_reference_to_referable(that.observable_reference)): + yield Error( + "Observable reference must be a model reference to " + "a referable." + ) + + for error in verify(that.source): + error.path._prepend(PropertySegment(that, "source")) + yield error + + if that.source_semantic_id is not None: + for error in verify(that.source_semantic_id): + error.path._prepend(PropertySegment(that, "source_semantic_id")) + yield error + + for error in verify(that.observable_reference): + error.path._prepend(PropertySegment(that, "observable_reference")) + yield error + + if that.observable_semantic_id is not None: + for error in verify(that.observable_semantic_id): + error.path._prepend(PropertySegment(that, "observable_semantic_id")) + yield error + + if that.topic is not None: + for error in verify_message_topic_type(that.topic): + error.path._prepend(PropertySegment(that, "topic")) + yield error + + if that.subject_id is not None: + for error in verify(that.subject_id): + error.path._prepend(PropertySegment(that, "subject_id")) + yield error + + for error in verify_date_time_utc(that.time_stamp): + error.path._prepend(PropertySegment(that, "time_stamp")) + yield error + + if that.payload is not None: + for error in verify_blob_type(that.payload): + error.path._prepend(PropertySegment(that, "payload")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_basic_event_element( + self, that: our_types.BasicEventElement + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if not ( + not (that.direction == our_types.Direction.INPUT) + or (that.max_interval is None) + ): + yield Error("Max. interval is not applicable for input direction.") + + if not is_model_reference_to_referable(that.observed): + yield Error("Observed must be a model reference to a referable.") + + if not ( + not (that.message_broker is not None) + or is_model_reference_to_referable(that.message_broker) + ): + yield Error("Message broker must be a model reference to a referable.") + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + for error in verify(that.observed): + error.path._prepend(PropertySegment(that, "observed")) + yield error + + if that.message_topic is not None: + for error in verify_message_topic_type(that.message_topic): + error.path._prepend(PropertySegment(that, "message_topic")) + yield error + + if that.message_broker is not None: + for error in verify(that.message_broker): + error.path._prepend(PropertySegment(that, "message_broker")) + yield error + + if that.last_update is not None: + for error in verify_date_time_utc(that.last_update): + error.path._prepend(PropertySegment(that, "last_update")) + yield error + + if that.min_interval is not None: + for error in verify_duration(that.min_interval): + error.path._prepend(PropertySegment(that, "min_interval")) + yield error + + if that.max_interval is not None: + for error in verify_duration(that.max_interval): + error.path._prepend(PropertySegment(that, "max_interval")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_operation(self, that: our_types.Operation) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if not ( + submodel_element_lists_in_operation_variables_have_exactly_one_element( + that.input_variables, that.output_variables, that.inoutput_variables + ) + ): + yield Error( + "Constraint AASd-138: A submodel element list within " + + "a submodel of kind Template or as part of an operation " + + "variable shall have exactly one element." + ) + + if not ( + id_shorts_of_variables_are_unique( + that.input_variables, that.output_variables, that.inoutput_variables + ) + ): + yield Error( + "Constraint AASd-134: For an Operation the ID-short of all " + + "values of input, output and in/output variables shall be " + + "unique." + ) + + if not ( + not (that.input_variables is not None) or (len(that.input_variables) >= 1) + ): + yield Error( + "Input variables must be either not set or have at least one " + "item." + ) + + if not ( + not (that.output_variables is not None) or (len(that.output_variables) >= 1) + ): + yield Error( + "Output variables must be either not set or have at least " + + "one item." + ) + + if not ( + not (that.inoutput_variables is not None) + or (len(that.inoutput_variables) >= 1) + ): + yield Error( + "Inoutput variables must be either not set or have at least " + + "one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + if that.input_variables is not None: + for error in _verify_list_of__class(that.input_variables): + error.path._prepend(PropertySegment(that, "input_variables")) + yield error + + if that.output_variables is not None: + for error in _verify_list_of__class(that.output_variables): + error.path._prepend(PropertySegment(that, "output_variables")) + yield error + + if that.inoutput_variables is not None: + for error in _verify_list_of__class(that.inoutput_variables): + error.path._prepend(PropertySegment(that, "inoutput_variables")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_operation_variable( + self, that: our_types.OperationVariable + ) -> Iterator[Error]: + if not (that.value.id_short is not None): + yield Error( + "Value must have the ID-short specified according to " + + "Constraint AASd-117 (ID-short of non-identifiable " + + "Referables not being a direct child of a Submodel element " + + "list shall be specified)." + ) + + for error in verify(that.value): + error.path._prepend(PropertySegment(that, "value")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_capability(self, that: our_types.Capability) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + # noinspection PyMethodMayBeStatic + def transform_concept_description( + self, that: our_types.ConceptDescription + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if not (not (that.is_case_of is not None) or (len(that.is_case_of) >= 1)): + yield Error("Is-case-of must be either not set or have at least one item.") + + if not ( + not (that.embedded_data_specifications is not None) + or ( + ( + data_specification_iec_61360s_have_definition_at_least_in_english( + that.embedded_data_specifications + ) + or data_specification_iec_61360s_have_value( + that.embedded_data_specifications + ) + ) + ) + ): + yield Error( + "Constraint AASc-3a-008: For a concept description using " + + "data specification template IEC 61360, the definition is " + + "mandatory and shall be defined at least in English. " + + "Exception: The concept description describes a value." + ) + + if not ( + not ( + ( + (that.category is not None) + and that.category == "QUALIFIER_TYPE" + and (that.embedded_data_specifications is not None) + ) + ) + or data_specification_iec_61360s_have_data_type( + that.embedded_data_specifications + ) + ): + yield Error( + "Constraint AASc-3a-007: For a concept description with " + + "category QUALIFIER_TYPE using data specification IEC 61360, " + + "the data type of the data specification is mandatory and " + + "shall be defined." + ) + + if not ( + not ( + ( + (that.category is not None) + and that.category == "DOCUMENT" + and (that.embedded_data_specifications is not None) + ) + ) + or data_specification_iec_61360s_for_document_have_appropriate_data_type( + that.embedded_data_specifications + ) + ): + yield Error( + "Constraint AASc-3a-006: For a concept description with " + + "category DOCUMENT using data specification IEC 61360, " + + "the data type of the data specification shall be one of: " + + "FILE, BLOB, HTML." + ) + + if not ( + not ( + ( + (that.category is not None) + and that.category == "REFERENCE" + and (that.embedded_data_specifications is not None) + ) + ) + or data_specification_iec_61360s_for_reference_have_appropriate_data_type( + that.embedded_data_specifications + ) + ): + yield Error( + "Constraint AASc-3a-005: For a concept description with " + + "category REFERENCE using data specification IEC 61360, " + + "the data type of the data specification shall be one of: " + + "STRING, IRI, IRDI." + ) + + if not ( + not ( + ( + (that.category is not None) + and ((that.category == "PROPERTY" or that.category == "VALUE")) + and (that.embedded_data_specifications is not None) + ) + ) + or data_specification_iec_61360s_for_property_or_value_have_appropriate_data_type( + that.embedded_data_specifications + ) + ): + yield Error( + "Constraint AASc-3a-004: For a concept description with " + + "category PROPERTY or VALUE using data specification IEC " + + "61360, the data type of the data specification is mandatory " + + "and shall be one of: DATE, STRING, STRING_TRANSLATABLE, " + + "INTEGER_MEASURE, INTEGER_COUNT, INTEGER_CURRENCY, " + + "REAL_MEASURE, REAL_COUNT, REAL_CURRENCY, BOOLEAN, RATIONAL, " + + "RATIONAL_MEASURE, TIME, TIMESTAMP." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.administration is not None: + for error in verify(that.administration): + error.path._prepend(PropertySegment(that, "administration")) + yield error + + for error in verify_identifier(that.id): + error.path._prepend(PropertySegment(that, "id")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + if that.is_case_of is not None: + for error in _verify_list_of__class(that.is_case_of): + error.path._prepend(PropertySegment(that, "is_case_of")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_reference(self, that: our_types.Reference) -> Iterator[Error]: + if not (len(that.keys) >= 1): + yield Error("Keys must contain at least one item.") + + if not ( + not (len(that.keys) >= 1) + or (that.keys[0].type in our_constants.GLOBALLY_IDENTIFIABLES) + ): + yield Error( + "Constraint AASd-121: For References the value of type of " + + "the first key of keys shall be one of Globally " + + "Identifiables." + ) + + if not ( + not ( + ( + that.type == our_types.ReferenceTypes.EXTERNAL_REFERENCE + and len(that.keys) >= 1 + ) + ) + or (that.keys[0].type in our_constants.GENERIC_GLOBALLY_IDENTIFIABLES) + ): + yield Error( + "Constraint AASd-122: For external references the value of " + + "type of the first key of keys shall be one of Generic " + + "Globally Identifiables." + ) + + if not ( + not ( + ( + that.type == our_types.ReferenceTypes.MODEL_REFERENCE + and len(that.keys) >= 1 + ) + ) + or (that.keys[0].type in our_constants.AAS_IDENTIFIABLES) + ): + yield Error( + "Constraint AASd-123: For model references the value of type " + + "of the first key of keys shall be one of AAS identifiables." + ) + + if not ( + not (that.type == our_types.ReferenceTypes.EXTERNAL_REFERENCE) + or ( + all(not (key.type in our_constants.AAS_REFERABLES) for key in that.keys) + ) + ): + yield Error( + "Constraint AASd-137: For external references, i.e. " + + "References with Reference/type = ExternalReference, " + + "the value of Key/type of any key in Reference/keys shall " + + "not be one of AAS referables." + ) + + if not ( + not ( + ( + that.type == our_types.ReferenceTypes.EXTERNAL_REFERENCE + and len(that.keys) >= 1 + ) + ) + or ( + ( + (that.keys[-1].type in our_constants.GENERIC_GLOBALLY_IDENTIFIABLES) + or (that.keys[-1].type in our_constants.GENERIC_FRAGMENT_KEYS) + ) + ) + ): + yield Error( + "Constraint AASd-124: For external references the last key " + + "of keys shall be either one of Generic Globally " + + "Identifiables or one of Generic Fragment Keys." + ) + + if not ( + not ( + ( + that.type == our_types.ReferenceTypes.MODEL_REFERENCE + and len(that.keys) > 1 + ) + ) + or ( + all( + that.keys[i].type in our_constants.FRAGMENT_KEYS + for i in range(1, len(that.keys)) + ) + ) + ): + yield Error( + "Constraint AASd-125: For model references with more than " + + "one key in keys the value of type of each of the keys " + + "following the first key of keys shall be one of Fragment " + + "Keys." + ) + + if not ( + not ( + ( + that.type == our_types.ReferenceTypes.MODEL_REFERENCE + and len(that.keys) > 1 + ) + ) + or ( + all( + not (that.keys[i].type in our_constants.GENERIC_FRAGMENT_KEYS) + for i in range(0, len(that.keys) - 1) + ) + ) + ): + yield Error( + "Constraint AASd-126: For model references with more than " + + "one key in keys the value of type of the last key in " + + "the reference key chain may be one of Generic Fragment Keys " + + "or no key at all shall have a value out of Generic Fragment " + + "Keys." + ) + + if not ( + not ( + ( + that.type == our_types.ReferenceTypes.MODEL_REFERENCE + and len(that.keys) > 1 + and that.keys[-1].type == our_types.KeyTypes.FRAGMENT_REFERENCE + ) + ) + or ( + ( + that.keys[-2].type == our_types.KeyTypes.FILE + or that.keys[-2].type == our_types.KeyTypes.BLOB + ) + ) + ): + yield Error( + "Constraint AASd-127: For model references, with more than " + + "one key in keys a key with type Fragment Reference shall be " + + "preceded by a key with type File or Blob." + ) + + if not ( + not ( + ( + that.type == our_types.ReferenceTypes.MODEL_REFERENCE + and len(that.keys) > 2 + ) + ) + or ( + all( + not (that.keys[i].type == our_types.KeyTypes.SUBMODEL_ELEMENT_LIST) + or matches_xs_non_negative_integer(that.keys[i + 1].value) + for i in range(0, len(that.keys) - 1) + ) + ) + ): + yield Error( + "Constraint AASd-128: For model references, the value of " + + "a key preceded by a key with type Submodel element list is " + + "an integer number denoting the position in the array of " + + "the submodel element list." + ) + + if that.referred_semantic_id is not None: + for error in verify(that.referred_semantic_id): + error.path._prepend(PropertySegment(that, "referred_semantic_id")) + yield error + + for error in _verify_list_of__class(that.keys): + error.path._prepend(PropertySegment(that, "keys")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_key(self, that: our_types.Key) -> Iterator[Error]: + for error in verify_identifier(that.value): + error.path._prepend(PropertySegment(that, "value")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_lang_string_name_type( + self, that: our_types.LangStringNameType + ) -> Iterator[Error]: + if not (len(that.text) <= 128): + yield Error("String shall have a maximum length of 128 characters.") + + for error in verify_bcp_47_language_tag(that.language): + error.path._prepend(PropertySegment(that, "language")) + yield error + + for error in verify_non_empty_xml_serializable_string(that.text): + error.path._prepend(PropertySegment(that, "text")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_lang_string_text_type( + self, that: our_types.LangStringTextType + ) -> Iterator[Error]: + if not (len(that.text) <= 1023): + yield Error("String shall have a maximum length of 1023 characters.") + + for error in verify_bcp_47_language_tag(that.language): + error.path._prepend(PropertySegment(that, "language")) + yield error + + for error in verify_non_empty_xml_serializable_string(that.text): + error.path._prepend(PropertySegment(that, "text")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_environment(self, that: our_types.Environment) -> Iterator[Error]: + if not ( + not (that.concept_descriptions is not None) + or (len(that.concept_descriptions) >= 1) + ): + yield Error( + "Concept descriptions must be either not set or have at " + + "least one item." + ) + + if not (not (that.submodels is not None) or (len(that.submodels) >= 1)): + yield Error("Submodels must be either not set or have at least one item.") + + if not ( + not (that.asset_administration_shells is not None) + or (len(that.asset_administration_shells) >= 1) + ): + yield Error( + "Asset administration shells must be either not set or have " + + "at least one item." + ) + + if that.asset_administration_shells is not None: + for error in _verify_list_of__class(that.asset_administration_shells): + error.path._prepend( + PropertySegment(that, "asset_administration_shells") + ) + yield error + + if that.submodels is not None: + for error in _verify_list_of__class(that.submodels): + error.path._prepend(PropertySegment(that, "submodels")) + yield error + + if that.concept_descriptions is not None: + for error in _verify_list_of__class(that.concept_descriptions): + error.path._prepend(PropertySegment(that, "concept_descriptions")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_embedded_data_specification( + self, that: our_types.EmbeddedDataSpecification + ) -> Iterator[Error]: + for error in verify(that.data_specification): + error.path._prepend(PropertySegment(that, "data_specification")) + yield error + + for error in verify(that.data_specification_content): + error.path._prepend(PropertySegment(that, "data_specification_content")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_level_type(self, that: our_types.LevelType) -> Iterator[Error]: + # No verification has been defined for LevelType. + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + # noinspection PyMethodMayBeStatic + def transform_value_reference_pair( + self, that: our_types.ValueReferencePair + ) -> Iterator[Error]: + for error in verify_value_type_iec_61360(that.value): + error.path._prepend(PropertySegment(that, "value")) + yield error + + if that.value_id is not None: + for error in verify(that.value_id): + error.path._prepend(PropertySegment(that, "value_id")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_value_list(self, that: our_types.ValueList) -> Iterator[Error]: + if not (len(that.value_reference_pairs) >= 1): + yield Error("Value reference pair types must contain at least one item.") + + for error in _verify_list_of__class(that.value_reference_pairs): + error.path._prepend(PropertySegment(that, "value_reference_pairs")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_lang_string_preferred_name_type_iec_61360( + self, that: our_types.LangStringPreferredNameTypeIEC61360 + ) -> Iterator[Error]: + if not (len(that.text) <= 255): + yield Error("String shall have a maximum length of 255 characters.") + + for error in verify_bcp_47_language_tag(that.language): + error.path._prepend(PropertySegment(that, "language")) + yield error + + for error in verify_non_empty_xml_serializable_string(that.text): + error.path._prepend(PropertySegment(that, "text")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_lang_string_short_name_type_iec_61360( + self, that: our_types.LangStringShortNameTypeIEC61360 + ) -> Iterator[Error]: + if not (len(that.text) <= 18): + yield Error("String shall have a maximum length of 18 characters.") + + for error in verify_bcp_47_language_tag(that.language): + error.path._prepend(PropertySegment(that, "language")) + yield error + + for error in verify_non_empty_xml_serializable_string(that.text): + error.path._prepend(PropertySegment(that, "text")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_lang_string_definition_type_iec_61360( + self, that: our_types.LangStringDefinitionTypeIEC61360 + ) -> Iterator[Error]: + if not (len(that.text) <= 1023): + yield Error("String shall have a maximum length of 1023 characters.") + + for error in verify_bcp_47_language_tag(that.language): + error.path._prepend(PropertySegment(that, "language")) + yield error + + for error in verify_non_empty_xml_serializable_string(that.text): + error.path._prepend(PropertySegment(that, "text")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_lang_string_uom( + self, that: our_types.LangStringUom + ) -> Iterator[Error]: + if not (len(that.text) <= 256): + yield Error("String shall have a maximum length of 256 characters.") + + for error in verify_bcp_47_language_tag(that.language): + error.path._prepend(PropertySegment(that, "language")) + yield error + + for error in verify_non_empty_xml_serializable_string(that.text): + error.path._prepend(PropertySegment(that, "text")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_definition_type_uom( + self, that: our_types.DefinitionTypeUom + ) -> Iterator[Error]: + if not (len(that.text) <= 2048): + yield Error("String shall have a maximum length of 2048 characters.") + + for error in verify_bcp_47_language_tag(that.language): + error.path._prepend(PropertySegment(that, "language")) + yield error + + for error in verify_non_empty_xml_serializable_string(that.text): + error.path._prepend(PropertySegment(that, "text")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_data_specification_uom( + self, that: our_types.DataSpecificationUom + ) -> Iterator[Error]: + if not ( + not (that.preferred_name_quantity is not None) + or (len(that.preferred_name_quantity) >= 1) + ): + yield Error( + "Preferred name quantity must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.preferred_name_quantity is not None) + or lang_strings_have_unique_languages(that.preferred_name_quantity) + ): + yield Error("Preferred name quantity must specify unique languages.") + + if not (not (that.definition is not None) or (len(that.definition) >= 1)): + yield Error("Definition must be either not set or have at least one item.") + + if not ( + not (that.definition is not None) + or lang_strings_have_unique_languages(that.definition) + ): + yield Error("Definition must specify unique languages.") + + if not (len(that.preferred_name) >= 1): + yield Error("Preferred name must have at least one item.") + + if not (lang_strings_have_unique_languages(that.preferred_name)): + yield Error("Preferred name must specify unique languages.") + + for error in _verify_list_of__class(that.preferred_name): + error.path._prepend(PropertySegment(that, "preferred_name")) + yield error + + for error in verify_string_uom(that.symbol): + error.path._prepend(PropertySegment(that, "symbol")) + yield error + + if that.specific_unit_id is not None: + for error in verify_string_uom(that.specific_unit_id): + error.path._prepend(PropertySegment(that, "specific_unit_id")) + yield error + + if that.definition is not None: + for error in _verify_list_of__class(that.definition): + error.path._prepend(PropertySegment(that, "definition")) + yield error + + if that.preferred_name_quantity is not None: + for error in _verify_list_of__class(that.preferred_name_quantity): + error.path._prepend(PropertySegment(that, "preferred_name_quantity")) + yield error + + if that.quantity_id is not None: + for error in verify_identifier_uom(that.quantity_id): + error.path._prepend(PropertySegment(that, "quantity_id")) + yield error + + if that.classification_system is not None: + for error in verify_string_uom(that.classification_system): + error.path._prepend(PropertySegment(that, "classification_system")) + yield error + + if that.classification_system_version is not None: + for error in verify_string_uom(that.classification_system_version): + error.path._prepend( + PropertySegment(that, "classification_system_version") + ) + yield error + + # noinspection PyMethodMayBeStatic + def transform_data_specification_iec_61360( + self, that: our_types.DataSpecificationIEC61360 + ) -> Iterator[Error]: + if not (not (((that.value is not None) and (that.value_list is not None)))): + yield Error( + "Constraint AASc-3a-010: If value is not empty then value " + + "list shall be empty and vice versa." + ) + + if not ( + not ( + ( + (that.data_type is not None) + and (that.data_type in our_constants.IEC_61360_DATA_TYPES_WITH_UNIT) + ) + ) + or (((that.unit is not None) or (that.unit_id is not None))) + ): + yield Error( + "Constraint AASc-3a-009: If data type is a an integer, real " + + "or rational with a measure or currency, unit or unit ID " + + "shall be defined." + ) + + if not (not (that.definition is not None) or (len(that.definition) >= 1)): + yield Error("Definition must be either not set or have at least one item.") + + if not ( + not (that.definition is not None) + or lang_strings_have_unique_languages(that.definition) + ): + yield Error("Definition must specify unique languages.") + + if not (not (that.short_name is not None) or (len(that.short_name) >= 1)): + yield Error("Short name must be either not set or have at least one item.") + + if not ( + not (that.short_name is not None) + or lang_strings_have_unique_languages(that.short_name) + ): + yield Error("Short name must specify unique languages.") + + if not (len(that.preferred_name) >= 1): + yield Error("Preferred name must have at least one item.") + + if not (lang_strings_have_unique_languages(that.preferred_name)): + yield Error("Preferred name must specify unique languages.") + + if not ( + any( + is_bcp_47_for_english(lang_string.language) + for lang_string in that.preferred_name + ) + ): + yield Error( + "Constraint AASc-002: preferred name shall be provided at " + + "least in English." + ) + + for error in _verify_list_of__class(that.preferred_name): + error.path._prepend(PropertySegment(that, "preferred_name")) + yield error + + if that.short_name is not None: + for error in _verify_list_of__class(that.short_name): + error.path._prepend(PropertySegment(that, "short_name")) + yield error + + if that.unit is not None: + for error in verify_non_empty_xml_serializable_string(that.unit): + error.path._prepend(PropertySegment(that, "unit")) + yield error + + if that.unit_id is not None: + for error in verify(that.unit_id): + error.path._prepend(PropertySegment(that, "unit_id")) + yield error + + if that.source_of_definition is not None: + for error in verify_non_empty_xml_serializable_string( + that.source_of_definition + ): + error.path._prepend(PropertySegment(that, "source_of_definition")) + yield error + + if that.symbol is not None: + for error in verify_non_empty_xml_serializable_string(that.symbol): + error.path._prepend(PropertySegment(that, "symbol")) + yield error + + if that.definition is not None: + for error in _verify_list_of__class(that.definition): + error.path._prepend(PropertySegment(that, "definition")) + yield error + + if that.value_format is not None: + for error in verify_non_empty_xml_serializable_string(that.value_format): + error.path._prepend(PropertySegment(that, "value_format")) + yield error + + if that.value_list is not None: + for error in verify(that.value_list): + error.path._prepend(PropertySegment(that, "value_list")) + yield error + + if that.value is not None: + for error in verify_value_type_iec_61360(that.value): + error.path._prepend(PropertySegment(that, "value")) + yield error + + if that.level_type is not None: + for error in verify(that.level_type): + error.path._prepend(PropertySegment(that, "level_type")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_asset_administration_shell_descriptor( + self, that: our_types.AssetAdministrationShellDescriptor + ) -> Iterator[Error]: + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error("The name of an extension needs to be unique.") + + if not (not (that.endpoints is not None) or (len(that.endpoints) >= 1)): + yield Error("Endpoints must be either not set or have at least one item.") + + if not ( + not (that.specific_asset_ids is not None) + or (len(that.specific_asset_ids) >= 1) + ): + yield Error( + "Specific asset IDs must be either not set or have at least " + + "one item." + ) + + if not ( + not (that.submodel_descriptors is not None) + or (len(that.submodel_descriptors) >= 1) + ): + yield Error( + "Submodel descriptors must be either not set or have at " + + "least one item." + ) + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + for error in verify_identifier(that.id): + error.path._prepend(PropertySegment(that, "id")) + yield error + + if that.administration is not None: + for error in verify(that.administration): + error.path._prepend(PropertySegment(that, "administration")) + yield error + + if that.asset_type is not None: + for error in verify_identifier(that.asset_type): + error.path._prepend(PropertySegment(that, "asset_type")) + yield error + + if that.endpoints is not None: + for error in _verify_list_of__class(that.endpoints): + error.path._prepend(PropertySegment(that, "endpoints")) + yield error + + if that.global_asset_id is not None: + for error in verify_identifier(that.global_asset_id): + error.path._prepend(PropertySegment(that, "global_asset_id")) + yield error + + if that.id_short is not None: + for error in verify_name_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.specific_asset_ids is not None: + for error in _verify_list_of__class(that.specific_asset_ids): + error.path._prepend(PropertySegment(that, "specific_asset_ids")) + yield error + + if that.submodel_descriptors is not None: + for error in _verify_list_of__class(that.submodel_descriptors): + error.path._prepend(PropertySegment(that, "submodel_descriptors")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_submodel_descriptor( + self, that: our_types.SubmodelDescriptor + ) -> Iterator[Error]: + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error("The name of an extension needs to be unique.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "If there are supplemental semantic IDs defined then there " + + "shall be also a main semantic ID." + ) + + if not (len(that.endpoints) >= 1): + yield Error("Endpoints must contain at least one item.") + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + for error in _verify_list_of__class(that.endpoints): + error.path._prepend(PropertySegment(that, "endpoints")) + yield error + + for error in verify_identifier(that.id): + error.path._prepend(PropertySegment(that, "id")) + yield error + + if that.administration is not None: + for error in verify(that.administration): + error.path._prepend(PropertySegment(that, "administration")) + yield error + + if that.id_short is not None: + for error in verify_name_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_endpoint(self, that: our_types.Endpoint) -> Iterator[Error]: + for error in verify(that.protocol_information): + error.path._prepend(PropertySegment(that, "protocol_information")) + yield error + + for error in verify_name_type(that.interface): + error.path._prepend(PropertySegment(that, "interface")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_protocol_information( + self, that: our_types.ProtocolInformation + ) -> Iterator[Error]: + if not ( + not (that.endpoint_protocol_version is not None) + or (len(that.endpoint_protocol_version) >= 1) + ): + yield Error( + "Endpoint protocol versions must be either not set or have " + + "at least one item." + ) + + if not ( + not (that.security_attributes is not None) + or (len(that.security_attributes) >= 1) + ): + yield Error( + "Security attributes must be either not set or have at least " + + "one item." + ) + + for error in verify_locator_type(that.href): + error.path._prepend(PropertySegment(that, "href")) + yield error + + if that.endpoint_protocol is not None: + for error in verify_scheme_type(that.endpoint_protocol): + error.path._prepend(PropertySegment(that, "endpoint_protocol")) + yield error + + if that.endpoint_protocol_version is not None: + for error in _verify_list_of__name_type(that.endpoint_protocol_version): + error.path._prepend(PropertySegment(that, "endpoint_protocol_version")) + yield error + + if that.subprotocol is not None: + for error in verify_short_id_type(that.subprotocol): + error.path._prepend(PropertySegment(that, "subprotocol")) + yield error + + if that.subprotocol_body is not None: + for error in verify_text_type(that.subprotocol_body): + error.path._prepend(PropertySegment(that, "subprotocol_body")) + yield error + + if that.subprotocol_body_encoding is not None: + for error in verify_name_type(that.subprotocol_body_encoding): + error.path._prepend(PropertySegment(that, "subprotocol_body_encoding")) + yield error + + if that.security_attributes is not None: + for error in _verify_list_of__class(that.security_attributes): + error.path._prepend(PropertySegment(that, "security_attributes")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_security_attribute_object( + self, that: our_types.SecurityAttributeObject + ) -> Iterator[Error]: + # No verification has been defined for SecurityAttributeObject. + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + # noinspection PyMethodMayBeStatic + def transform_asset_link(self, that: our_types.AssetLink) -> Iterator[Error]: + for error in verify_label_type(that.name): + error.path._prepend(PropertySegment(that, "name")) + yield error + + for error in verify_identifier(that.value): + error.path._prepend(PropertySegment(that, "value")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_service_description( + self, that: our_types.ServiceDescription + ) -> Iterator[Error]: + if not (len(that.profiles) >= 1): + yield Error("Profiles must contain at least one item.") + + # noinspection PyMethodMayBeStatic + def transform_asset_administration_shell_recent_change( + self, that: our_types.AssetAdministrationShellRecentChange + ) -> Iterator[Error]: + if not ( + not (that.specific_asset_ids is not None) + or (len(that.specific_asset_ids) >= 1) + ): + yield Error( + "Specific asset IDs must be either not set or have at least " + + "one item." + ) + + for error in verify_date_time_utc(that.created_at): + error.path._prepend(PropertySegment(that, "created_at")) + yield error + + for error in verify_date_time_utc(that.updated_at): + error.path._prepend(PropertySegment(that, "updated_at")) + yield error + + for error in verify_identifier(that.id): + error.path._prepend(PropertySegment(that, "id")) + yield error + + if that.global_asset_id is not None: + for error in verify_identifier(that.global_asset_id): + error.path._prepend(PropertySegment(that, "global_asset_id")) + yield error + + if that.specific_asset_ids is not None: + for error in _verify_list_of__class(that.specific_asset_ids): + error.path._prepend(PropertySegment(that, "specific_asset_ids")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_concept_description_recent_change( + self, that: our_types.ConceptDescriptionRecentChange + ) -> Iterator[Error]: + for error in verify_date_time_utc(that.created_at): + error.path._prepend(PropertySegment(that, "created_at")) + yield error + + for error in verify_date_time_utc(that.updated_at): + error.path._prepend(PropertySegment(that, "updated_at")) + yield error + + for error in verify_identifier(that.id): + error.path._prepend(PropertySegment(that, "id")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_submodel_recent_change( + self, that: our_types.SubmodelRecentChange + ) -> Iterator[Error]: + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "If there are supplemental semantic IDs defined then there " + + "shall be also a main semantic ID." + ) + + for error in verify_date_time_utc(that.created_at): + error.path._prepend(PropertySegment(that, "created_at")) + yield error + + for error in verify_date_time_utc(that.updated_at): + error.path._prepend(PropertySegment(that, "updated_at")) + yield error + + for error in verify_identifier(that.id): + error.path._prepend(PropertySegment(that, "id")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_result(self, that: our_types.Result) -> Iterator[Error]: + if not (not (that.messages is not None) or (len(that.messages) >= 1)): + yield Error("Messages must be either not set or have at least one item.") + + if that.messages is not None: + for error in _verify_list_of__class(that.messages): + error.path._prepend(PropertySegment(that, "messages")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_message(self, that: our_types.Message) -> Iterator[Error]: + if that.code is not None: + for error in verify_code_type(that.code): + error.path._prepend(PropertySegment(that, "code")) + yield error + + if that.correlation_id is not None: + for error in verify_short_id_type(that.correlation_id): + error.path._prepend(PropertySegment(that, "correlation_id")) + yield error + + if that.timestamp is not None: + for error in verify_date_time_utc(that.timestamp): + error.path._prepend(PropertySegment(that, "timestamp")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_operation_request( + self, that: our_types.OperationRequest + ) -> Iterator[Error]: + if not ( + not (that.inoutput_arguments is not None) + or (len(that.inoutput_arguments) >= 1) + ): + yield Error( + "InOutput arguments must be either not set or have at least " + + "one item." + ) + + if not ( + not (that.input_arguments is not None) or (len(that.input_arguments) >= 1) + ): + yield Error( + "Input arguments must be either not set or have at least one " + "item." + ) + + if that.input_arguments is not None: + for error in _verify_list_of__class(that.input_arguments): + error.path._prepend(PropertySegment(that, "input_arguments")) + yield error + + if that.inoutput_arguments is not None: + for error in _verify_list_of__class(that.inoutput_arguments): + error.path._prepend(PropertySegment(that, "inoutput_arguments")) + yield error + + if that.client_timeout_duration is not None: + for error in verify_duration(that.client_timeout_duration): + error.path._prepend(PropertySegment(that, "client_timeout_duration")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_operation_request_async( + self, that: our_types.OperationRequestAsync + ) -> Iterator[Error]: + if not ( + not (that.inoutput_arguments is not None) + or (len(that.inoutput_arguments) >= 1) + ): + yield Error( + "InOutput arguments must be either not set or have at least " + + "one item." + ) + + if not ( + not (that.input_arguments is not None) or (len(that.input_arguments) >= 1) + ): + yield Error( + "Input arguments must be either not set or have at least one " + "item." + ) + + if that.input_arguments is not None: + for error in _verify_list_of__class(that.input_arguments): + error.path._prepend(PropertySegment(that, "input_arguments")) + yield error + + if that.inoutput_arguments is not None: + for error in _verify_list_of__class(that.inoutput_arguments): + error.path._prepend(PropertySegment(that, "inoutput_arguments")) + yield error + + for error in verify_duration(that.client_timeout_duration): + error.path._prepend(PropertySegment(that, "client_timeout_duration")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_operation_request_value_only( + self, that: our_types.OperationRequestValueOnly + ) -> Iterator[Error]: + if that.input_arguments is not None: + for error in our_json_value_verification.verify_json_object( + that.input_arguments + ): + error.path._prepend(PropertySegment(that, "input_arguments")) + yield error + + for key in that.input_arguments: + # NOTE (mristin): + # The key segment names the member whose key is erroneous. The path + # thus leads to the member, and the cause says what is wrong with + # the key which names it. + for error in verify_id_short_type(key): + error.path._prepend(KeySegment(that.input_arguments, key)) + error.path._prepend(PropertySegment(that, "input_arguments")) + yield error + + if that.inoutput_arguments is not None: + for error in our_json_value_verification.verify_json_object( + that.inoutput_arguments + ): + error.path._prepend(PropertySegment(that, "inoutput_arguments")) + yield error + + for key in that.inoutput_arguments: + # NOTE (mristin): + # The key segment names the member whose key is erroneous. The path + # thus leads to the member, and the cause says what is wrong with + # the key which names it. + for error in verify_id_short_type(key): + error.path._prepend(KeySegment(that.inoutput_arguments, key)) + error.path._prepend(PropertySegment(that, "inoutput_arguments")) + yield error + + if that.client_timeout_duration is not None: + for error in verify_duration(that.client_timeout_duration): + error.path._prepend(PropertySegment(that, "client_timeout_duration")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_operation_request_async_value_only( + self, that: our_types.OperationRequestAsyncValueOnly + ) -> Iterator[Error]: + if that.input_arguments is not None: + for error in our_json_value_verification.verify_json_object( + that.input_arguments + ): + error.path._prepend(PropertySegment(that, "input_arguments")) + yield error + + for key in that.input_arguments: + # NOTE (mristin): + # The key segment names the member whose key is erroneous. The path + # thus leads to the member, and the cause says what is wrong with + # the key which names it. + for error in verify_id_short_type(key): + error.path._prepend(KeySegment(that.input_arguments, key)) + error.path._prepend(PropertySegment(that, "input_arguments")) + yield error + + if that.inoutput_arguments is not None: + for error in our_json_value_verification.verify_json_object( + that.inoutput_arguments + ): + error.path._prepend(PropertySegment(that, "inoutput_arguments")) + yield error + + for key in that.inoutput_arguments: + # NOTE (mristin): + # The key segment names the member whose key is erroneous. The path + # thus leads to the member, and the cause says what is wrong with + # the key which names it. + for error in verify_id_short_type(key): + error.path._prepend(KeySegment(that.inoutput_arguments, key)) + error.path._prepend(PropertySegment(that, "inoutput_arguments")) + yield error + + for error in verify_duration(that.client_timeout_duration): + error.path._prepend(PropertySegment(that, "client_timeout_duration")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_base_operation_result( + self, that: our_types.BaseOperationResult + ) -> Iterator[Error]: + if not (not (that.messages is not None) or (len(that.messages) >= 1)): + yield Error("Messages must be either not set or have at least one item.") + + if that.messages is not None: + for error in _verify_list_of__class(that.messages): + error.path._prepend(PropertySegment(that, "messages")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_operation_result( + self, that: our_types.OperationResult + ) -> Iterator[Error]: + if not ( + not (that.inoutput_arguments is not None) + or (len(that.inoutput_arguments) >= 1) + ): + yield Error( + "InOutput arguments must be either not set or have at least " + + "one item." + ) + + if not ( + not (that.output_arguments is not None) or (len(that.output_arguments) >= 1) + ): + yield Error( + "Output arguments must be either not set or have at least " + + "one item." + ) + + if not (not (that.messages is not None) or (len(that.messages) >= 1)): + yield Error("Messages must be either not set or have at least one item.") + + if that.messages is not None: + for error in _verify_list_of__class(that.messages): + error.path._prepend(PropertySegment(that, "messages")) + yield error + + if that.output_arguments is not None: + for error in _verify_list_of__class(that.output_arguments): + error.path._prepend(PropertySegment(that, "output_arguments")) + yield error + + if that.inoutput_arguments is not None: + for error in _verify_list_of__class(that.inoutput_arguments): + error.path._prepend(PropertySegment(that, "inoutput_arguments")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_operation_result_value_only( + self, that: our_types.OperationResultValueOnly + ) -> Iterator[Error]: + if not (not (that.messages is not None) or (len(that.messages) >= 1)): + yield Error("Messages must be either not set or have at least one item.") + + if that.messages is not None: + for error in _verify_list_of__class(that.messages): + error.path._prepend(PropertySegment(that, "messages")) + yield error + + if that.output_arguments is not None: + for error in our_json_value_verification.verify_json_object( + that.output_arguments + ): + error.path._prepend(PropertySegment(that, "output_arguments")) + yield error + + for key in that.output_arguments: + # NOTE (mristin): + # The key segment names the member whose key is erroneous. The path + # thus leads to the member, and the cause says what is wrong with + # the key which names it. + for error in verify_id_short_type(key): + error.path._prepend(KeySegment(that.output_arguments, key)) + error.path._prepend(PropertySegment(that, "output_arguments")) + yield error + + if that.inoutput_arguments is not None: + for error in our_json_value_verification.verify_json_object( + that.inoutput_arguments + ): + error.path._prepend(PropertySegment(that, "inoutput_arguments")) + yield error + + for key in that.inoutput_arguments: + # NOTE (mristin): + # The key segment names the member whose key is erroneous. The path + # thus leads to the member, and the cause says what is wrong with + # the key which names it. + for error in verify_id_short_type(key): + error.path._prepend(KeySegment(that.inoutput_arguments, key)) + error.path._prepend(PropertySegment(that, "inoutput_arguments")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_operation_handle( + self, that: our_types.OperationHandle + ) -> Iterator[Error]: + for error in verify_short_id_type(that.handle_id): + error.path._prepend(PropertySegment(that, "handle_id")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_paged_result(self, that: our_types.PagedResult) -> Iterator[Error]: + if not (not (that.result is not None) or (len(that.result) >= 1)): + yield Error("Result must be either not set or have at least one item.") + + if that.result is not None: + for error in _verify_list_of__class(that.result): + error.path._prepend(PropertySegment(that, "result")) + yield error + + for error in verify(that.paging_metadata): + error.path._prepend(PropertySegment(that, "paging_metadata")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_paging_metadata( + self, that: our_types.PagingMetadata + ) -> Iterator[Error]: + # No verification has been defined for PagingMetadata. + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + # noinspection PyMethodMayBeStatic + def transform_package_description( + self, that: our_types.PackageDescription + ) -> Iterator[Error]: + if not (not (that.aas_ids is not None) or (len(that.aas_ids) >= 1)): + yield Error("AAS IDs must be either not set or have at least one item.") + + for error in verify_short_id_type(that.package_id): + error.path._prepend(PropertySegment(that, "package_id")) + yield error + + if that.aas_ids is not None: + for error in _verify_list_of__identifier(that.aas_ids): + error.path._prepend(PropertySegment(that, "aas_ids")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_property_metadata( + self, that: our_types.PropertyMetadata + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + # noinspection PyMethodMayBeStatic + def transform_range_metadata( + self, that: our_types.RangeMetadata + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + # noinspection PyMethodMayBeStatic + def transform_blob_metadata(self, that: our_types.BlobMetadata) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + # noinspection PyMethodMayBeStatic + def transform_file_metadata(self, that: our_types.FileMetadata) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + # noinspection PyMethodMayBeStatic + def transform_multi_language_property_metadata( + self, that: our_types.MultiLanguagePropertyMetadata + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + # noinspection PyMethodMayBeStatic + def transform_reference_element_metadata( + self, that: our_types.ReferenceElementMetadata + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + # noinspection PyMethodMayBeStatic + def transform_relationship_element_metadata( + self, that: our_types.RelationshipElementMetadata + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + # noinspection PyMethodMayBeStatic + def transform_annotated_relationship_element_metadata( + self, that: our_types.AnnotatedRelationshipElementMetadata + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + # noinspection PyMethodMayBeStatic + def transform_entity_metadata( + self, that: our_types.EntityMetadata + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + # noinspection PyMethodMayBeStatic + def transform_capability_metadata( + self, that: our_types.CapabilityMetadata + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + # noinspection PyMethodMayBeStatic + def transform_operation_metadata( + self, that: our_types.OperationMetadata + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + # noinspection PyMethodMayBeStatic + def transform_submodel_element_collection_metadata( + self, that: our_types.SubmodelElementCollectionMetadata + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + # noinspection PyMethodMayBeStatic + def transform_basic_event_element_metadata( + self, that: our_types.BasicEventElementMetadata + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + if that.message_topic is not None: + for error in verify_message_topic_type(that.message_topic): + error.path._prepend(PropertySegment(that, "message_topic")) + yield error + + if that.message_broker is not None: + for error in verify(that.message_broker): + error.path._prepend(PropertySegment(that, "message_broker")) + yield error + + if that.last_update is not None: + for error in verify_date_time_utc(that.last_update): + error.path._prepend(PropertySegment(that, "last_update")) + yield error + + if that.min_interval is not None: + for error in verify_duration(that.min_interval): + error.path._prepend(PropertySegment(that, "min_interval")) + yield error + + if that.max_interval is not None: + for error in verify_duration(that.max_interval): + error.path._prepend(PropertySegment(that, "max_interval")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_submodel_element_list_metadata( + self, that: our_types.SubmodelElementListMetadata + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + if that.semantic_id_list_element is not None: + for error in verify(that.semantic_id_list_element): + error.path._prepend(PropertySegment(that, "semantic_id_list_element")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_submodel_metadata( + self, that: our_types.SubmodelMetadata + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.supplemental_semantic_ids is not None) + or (len(that.supplemental_semantic_ids) >= 1) + ): + yield Error( + "Supplemental semantic IDs must be either not set or have at " + + "least one item." + ) + + if not ( + not (that.supplemental_semantic_ids is not None) + or (that.semantic_id is not None) + ): + yield Error( + "Constraint AASd-118: If there are supplemental semantic IDs " + + "defined then there shall be also a main semantic ID." + ) + + if not (not (that.qualifiers is not None) or (len(that.qualifiers) >= 1)): + yield Error("Qualifiers must be either not set or have at least one item.") + + if not ( + not (that.qualifiers is not None) + or qualifier_types_are_unique(that.qualifiers) + ): + yield Error( + "Constraint AASd-021: Every qualifiable shall only have one " + + "qualifier with the same type." + ) + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if not ( + not (that.qualifiers is not None) + or ( + not ( + any( + qualifier.kind_or_default() + == our_types.QualifierKind.TEMPLATE_QUALIFIER + for qualifier in that.qualifiers + ) + ) + or (that.kind_or_default() == our_types.ModellingKind.TEMPLATE) + ) + ): + yield Error( + "Constraint AASd-119: If any qualifier kind value of " + + "a qualifiable qualifier is equal to template qualifier and " + + "the qualified element has kind then the qualified element " + + "shall be of kind template." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.administration is not None: + for error in verify(that.administration): + error.path._prepend(PropertySegment(that, "administration")) + yield error + + for error in verify_identifier(that.id): + error.path._prepend(PropertySegment(that, "id")) + yield error + + if that.semantic_id is not None: + for error in verify(that.semantic_id): + error.path._prepend(PropertySegment(that, "semantic_id")) + yield error + + if that.supplemental_semantic_ids is not None: + for error in _verify_list_of__class(that.supplemental_semantic_ids): + error.path._prepend(PropertySegment(that, "supplemental_semantic_ids")) + yield error + + if that.qualifiers is not None: + for error in _verify_list_of__class(that.qualifiers): + error.path._prepend(PropertySegment(that, "qualifiers")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + # noinspection PyMethodMayBeStatic + def transform_asset_administration_shell_metadata( + self, that: our_types.AssetAdministrationShellMetadata + ) -> Iterator[Error]: + if not (not (that.extensions is not None) or (len(that.extensions) >= 1)): + yield Error("Extensions must be either not set or have at least one item.") + + if not ( + not (that.extensions is not None) + or extension_names_are_unique(that.extensions) + ): + yield Error( + "Constraint AASd-077: The name of an extension within " + + "Has-Extensions needs to be unique." + ) + + if not (not (that.description is not None) or (len(that.description) >= 1)): + yield Error( + "Description must be either not set or have at least one " + "item." + ) + + if not ( + not (that.description is not None) + or lang_strings_have_unique_languages(that.description) + ): + yield Error("Description must specify unique languages.") + + if not (not (that.display_name is not None) or (len(that.display_name) >= 1)): + yield Error( + "Display name must be either not set or have at least one " + "item." + ) + + if not ( + not (that.display_name is not None) + or lang_strings_have_unique_languages(that.display_name) + ): + yield Error("Display name must specify unique languages.") + + if not ( + not (that.embedded_data_specifications is not None) + or (len(that.embedded_data_specifications) >= 1) + ): + yield Error( + "Embedded data specifications must be either not set or have " + + "at least one item." + ) + + if that.extensions is not None: + for error in _verify_list_of__class(that.extensions): + error.path._prepend(PropertySegment(that, "extensions")) + yield error + + if that.category is not None: + for error in verify_name_type(that.category): + error.path._prepend(PropertySegment(that, "category")) + yield error + + if that.id_short is not None: + for error in verify_id_short_type(that.id_short): + error.path._prepend(PropertySegment(that, "id_short")) + yield error + + if that.display_name is not None: + for error in _verify_list_of__class(that.display_name): + error.path._prepend(PropertySegment(that, "display_name")) + yield error + + if that.description is not None: + for error in _verify_list_of__class(that.description): + error.path._prepend(PropertySegment(that, "description")) + yield error + + if that.administration is not None: + for error in verify(that.administration): + error.path._prepend(PropertySegment(that, "administration")) + yield error + + for error in verify_identifier(that.id): + error.path._prepend(PropertySegment(that, "id")) + yield error + + if that.embedded_data_specifications is not None: + for error in _verify_list_of__class(that.embedded_data_specifications): + error.path._prepend( + PropertySegment(that, "embedded_data_specifications") + ) + yield error + + if that.derived_from is not None: + for error in verify(that.derived_from): + error.path._prepend(PropertySegment(that, "derived_from")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_reference_element_value( + self, that: our_types.ReferenceElementValue + ) -> Iterator[Error]: + if not (len(that.keys) >= 1): + yield Error("Keys must contain at least one item.") + + for error in _verify_list_of__class(that.keys): + error.path._prepend(PropertySegment(that, "keys")) + yield error + + if that.referred_semantic_id is not None: + for error in verify(that.referred_semantic_id): + error.path._prepend(PropertySegment(that, "referred_semantic_id")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_blob_value(self, that: our_types.BlobValue) -> Iterator[Error]: + if that.content_type is not None: + for error in verify_content_type(that.content_type): + error.path._prepend(PropertySegment(that, "content_type")) + yield error + + if that.value is not None: + for error in verify_blob_type(that.value): + error.path._prepend(PropertySegment(that, "value")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_file_value(self, that: our_types.FileValue) -> Iterator[Error]: + if that.content_type is not None: + for error in verify_content_type(that.content_type): + error.path._prepend(PropertySegment(that, "content_type")) + yield error + + if that.value is not None: + for error in verify_path_type(that.value): + error.path._prepend(PropertySegment(that, "value")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_range_value(self, that: our_types.RangeValue) -> Iterator[Error]: + # No verification has been defined for RangeValue. + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + # noinspection PyMethodMayBeStatic + def transform_relationship_element_value( + self, that: our_types.RelationshipElementValue + ) -> Iterator[Error]: + if that.first is not None: + for error in verify(that.first): + error.path._prepend(PropertySegment(that, "first")) + yield error + + if that.second is not None: + for error in verify(that.second): + error.path._prepend(PropertySegment(that, "second")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_basic_event_element_value( + self, that: our_types.BasicEventElementValue + ) -> Iterator[Error]: + for error in verify(that.observed): + error.path._prepend(PropertySegment(that, "observed")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_annotated_relationship_element_value( + self, that: our_types.AnnotatedRelationshipElementValue + ) -> Iterator[Error]: + if that.first is not None: + for error in verify(that.first): + error.path._prepend(PropertySegment(that, "first")) + yield error + + if that.second is not None: + for error in verify(that.second): + error.path._prepend(PropertySegment(that, "second")) + yield error + + if that.annotations is not None: + for error in our_json_value_verification.verify_json_object( + that.annotations + ): + error.path._prepend(PropertySegment(that, "annotations")) + yield error + + for key in that.annotations: + # NOTE (mristin): + # The key segment names the member whose key is erroneous. The path + # thus leads to the member, and the cause says what is wrong with + # the key which names it. + for error in verify_id_short_type(key): + error.path._prepend(KeySegment(that.annotations, key)) + error.path._prepend(PropertySegment(that, "annotations")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_entity_value(self, that: our_types.EntityValue) -> Iterator[Error]: + if not ( + not (that.specific_asset_ids is not None) + or (len(that.specific_asset_ids) >= 1) + ): + yield Error( + "Specific asset IDs must be either not set or have at least " + + "one item." + ) + + if that.global_asset_id is not None: + for error in verify_identifier(that.global_asset_id): + error.path._prepend(PropertySegment(that, "global_asset_id")) + yield error + + if that.specific_asset_ids is not None: + for error in _verify_list_of__json_object(that.specific_asset_ids): + error.path._prepend(PropertySegment(that, "specific_asset_ids")) + yield error + + if that.statements is not None: + for error in our_json_value_verification.verify_json_object( + that.statements + ): + error.path._prepend(PropertySegment(that, "statements")) + yield error + + for key in that.statements: + # NOTE (mristin): + # The key segment names the member whose key is erroneous. The path + # thus leads to the member, and the cause says what is wrong with + # the key which names it. + for error in verify_id_short_type(key): + error.path._prepend(KeySegment(that.statements, key)) + error.path._prepend(PropertySegment(that, "statements")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_get_asset_administration_shells_result( + self, that: our_types.GetAssetAdministrationShellsResult + ) -> Iterator[Error]: + if not (not (that.result is not None) or (len(that.result) >= 1)): + yield Error("Result must be either not set or have at least one item.") + + for error in verify(that.paging_metadata): + error.path._prepend(PropertySegment(that, "paging_metadata")) + yield error + + if that.result is not None: + for error in _verify_list_of__class(that.result): + error.path._prepend(PropertySegment(that, "result")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_get_asset_administration_shells_metadata_result( + self, that: our_types.GetAssetAdministrationShellsMetadataResult + ) -> Iterator[Error]: + if not (not (that.result is not None) or (len(that.result) >= 1)): + yield Error("Result must be either not set or have at least one item.") + + for error in verify(that.paging_metadata): + error.path._prepend(PropertySegment(that, "paging_metadata")) + yield error + + if that.result is not None: + for error in _verify_list_of__class(that.result): + error.path._prepend(PropertySegment(that, "result")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_get_all_asset_administration_shells_recent_changes_result( + self, that: our_types.GetAllAssetAdministrationShellsRecentChangesResult + ) -> Iterator[Error]: + if not (not (that.result is not None) or (len(that.result) >= 1)): + yield Error("Result must be either not set or have at least one item.") + + for error in verify(that.paging_metadata): + error.path._prepend(PropertySegment(that, "paging_metadata")) + yield error + + if that.result is not None: + for error in _verify_list_of__class(that.result): + error.path._prepend(PropertySegment(that, "result")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_get_asset_administration_shell_descriptors_result( + self, that: our_types.GetAssetAdministrationShellDescriptorsResult + ) -> Iterator[Error]: + if not (not (that.result is not None) or (len(that.result) >= 1)): + yield Error("Result must be either not set or have at least one item.") + + for error in verify(that.paging_metadata): + error.path._prepend(PropertySegment(that, "paging_metadata")) + yield error + + if that.result is not None: + for error in _verify_list_of__class(that.result): + error.path._prepend(PropertySegment(that, "result")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_get_concept_descriptions_result( + self, that: our_types.GetConceptDescriptionsResult + ) -> Iterator[Error]: + if not (not (that.result is not None) or (len(that.result) >= 1)): + yield Error("Result must be either not set or have at least one item.") + + for error in verify(that.paging_metadata): + error.path._prepend(PropertySegment(that, "paging_metadata")) + yield error + + if that.result is not None: + for error in _verify_list_of__class(that.result): + error.path._prepend(PropertySegment(that, "result")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_get_all_concept_descriptions_recent_changes_result( + self, that: our_types.GetAllConceptDescriptionsRecentChangesResult + ) -> Iterator[Error]: + if not (not (that.result is not None) or (len(that.result) >= 1)): + yield Error("Result must be either not set or have at least one item.") + + for error in verify(that.paging_metadata): + error.path._prepend(PropertySegment(that, "paging_metadata")) + yield error + + if that.result is not None: + for error in _verify_list_of__class(that.result): + error.path._prepend(PropertySegment(that, "result")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_get_package_descriptions_result( + self, that: our_types.GetPackageDescriptionsResult + ) -> Iterator[Error]: + if not (not (that.result is not None) or (len(that.result) >= 1)): + yield Error("Result must be either not set or have at least one item.") + + for error in verify(that.paging_metadata): + error.path._prepend(PropertySegment(that, "paging_metadata")) + yield error + + if that.result is not None: + for error in _verify_list_of__class(that.result): + error.path._prepend(PropertySegment(that, "result")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_get_path_items_result( + self, that: our_types.GetPathItemsResult + ) -> Iterator[Error]: + if not (not (that.result is not None) or (len(that.result) >= 1)): + yield Error("Result must be either not set or have at least one item.") + + for error in verify(that.paging_metadata): + error.path._prepend(PropertySegment(that, "paging_metadata")) + yield error + + if that.result is not None: + for error in _verify_list_of__path_item(that.result): + error.path._prepend(PropertySegment(that, "result")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_get_references_result( + self, that: our_types.GetReferencesResult + ) -> Iterator[Error]: + if not (not (that.result is not None) or (len(that.result) >= 1)): + yield Error("Result must be either not set or have at least one item.") + + for error in verify(that.paging_metadata): + error.path._prepend(PropertySegment(that, "paging_metadata")) + yield error + + if that.result is not None: + for error in _verify_list_of__class(that.result): + error.path._prepend(PropertySegment(that, "result")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_get_submodel_descriptors_result( + self, that: our_types.GetSubmodelDescriptorsResult + ) -> Iterator[Error]: + if not (not (that.result is not None) or (len(that.result) >= 1)): + yield Error("Result must be either not set or have at least one item.") + + for error in verify(that.paging_metadata): + error.path._prepend(PropertySegment(that, "paging_metadata")) + yield error + + if that.result is not None: + for error in _verify_list_of__class(that.result): + error.path._prepend(PropertySegment(that, "result")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_get_submodel_elements_metadata_result( + self, that: our_types.GetSubmodelElementsMetadataResult + ) -> Iterator[Error]: + if not (not (that.result is not None) or (len(that.result) >= 1)): + yield Error("Result must be either not set or have at least one item.") + + for error in verify(that.paging_metadata): + error.path._prepend(PropertySegment(that, "paging_metadata")) + yield error + + if that.result is not None: + for error in _verify_list_of__class(that.result): + error.path._prepend(PropertySegment(that, "result")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_get_submodel_elements_result( + self, that: our_types.GetSubmodelElementsResult + ) -> Iterator[Error]: + if not ( + not (that.result is not None) + or (all(item.id_short is not None for item in that.result)) + ): + yield Error( + "ID-shorts need to be defined for all the items of result " + + "according to AASd-117 (ID-short of non-identifiable " + + "Referables not being a direct child of a Submodel element " + + "list shall be specified)." + ) + + if not (not (that.result is not None) or (len(that.result) >= 1)): + yield Error("Result must be either not set or have at least one item.") + + for error in verify(that.paging_metadata): + error.path._prepend(PropertySegment(that, "paging_metadata")) + yield error + + if that.result is not None: + for error in _verify_list_of__class(that.result): + error.path._prepend(PropertySegment(that, "result")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_get_submodel_elements_value_result( + self, that: our_types.GetSubmodelElementsValueResult + ) -> Iterator[Error]: + for error in verify(that.paging_metadata): + error.path._prepend(PropertySegment(that, "paging_metadata")) + yield error + + if that.result is not None: + for error in our_json_value_verification.verify_json_object(that.result): + error.path._prepend(PropertySegment(that, "result")) + yield error + + for key in that.result: + # NOTE (mristin): + # The key segment names the member whose key is erroneous. The path + # thus leads to the member, and the cause says what is wrong with + # the key which names it. + for error in verify_id_short_type(key): + error.path._prepend(KeySegment(that.result, key)) + error.path._prepend(PropertySegment(that, "result")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_get_all_submodels_recent_changes_result( + self, that: our_types.GetAllSubmodelsRecentChangesResult + ) -> Iterator[Error]: + if not (not (that.result is not None) or (len(that.result) >= 1)): + yield Error("Result must be either not set or have at least one item.") + + for error in verify(that.paging_metadata): + error.path._prepend(PropertySegment(that, "paging_metadata")) + yield error + + if that.result is not None: + for error in _verify_list_of__class(that.result): + error.path._prepend(PropertySegment(that, "result")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_get_submodels_metadata_result( + self, that: our_types.GetSubmodelsMetadataResult + ) -> Iterator[Error]: + if not (not (that.result is not None) or (len(that.result) >= 1)): + yield Error("Result must be either not set or have at least one item.") + + for error in verify(that.paging_metadata): + error.path._prepend(PropertySegment(that, "paging_metadata")) + yield error + + if that.result is not None: + for error in _verify_list_of__class(that.result): + error.path._prepend(PropertySegment(that, "result")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_get_submodels_result( + self, that: our_types.GetSubmodelsResult + ) -> Iterator[Error]: + if not (not (that.result is not None) or (len(that.result) >= 1)): + yield Error("Result must be either not set or have at least one item.") + + for error in verify(that.paging_metadata): + error.path._prepend(PropertySegment(that, "paging_metadata")) + yield error + + if that.result is not None: + for error in _verify_list_of__class(that.result): + error.path._prepend(PropertySegment(that, "result")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_get_submodels_value_result( + self, that: our_types.GetSubmodelsValueResult + ) -> Iterator[Error]: + for error in verify(that.paging_metadata): + error.path._prepend(PropertySegment(that, "paging_metadata")) + yield error + + if that.result is not None: + for error in our_json_value_verification.verify_json_object(that.result): + error.path._prepend(PropertySegment(that, "result")) + yield error + + for key in that.result: + # NOTE (mristin): + # The key segment names the member whose key is erroneous. The path + # thus leads to the member, and the cause says what is wrong with + # the key which names it. + for error in verify_id_short_type(key): + error.path._prepend(KeySegment(that.result, key)) + error.path._prepend(PropertySegment(that, "result")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_claim_attribute( + self, that: our_types.ClaimAttribute + ) -> Iterator[Error]: + # No verification has been defined for ClaimAttribute. + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + # noinspection PyMethodMayBeStatic + def transform_global_attribute( + self, that: our_types.GlobalAttribute + ) -> Iterator[Error]: + # No verification has been defined for GlobalAttribute. + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + # noinspection PyMethodMayBeStatic + def transform_reference_attribute( + self, that: our_types.ReferenceAttribute + ) -> Iterator[Error]: + for error in verify_reference_identifier(that.reference): + error.path._prepend(PropertySegment(that, "reference")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_date_time_attribute_item( + self, that: our_types.DateTimeAttributeItem + ) -> Iterator[Error]: + # No verification has been defined for DateTimeAttributeItem. + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + # noinspection PyMethodMayBeStatic + def transform_field_operand(self, that: our_types.FieldOperand) -> Iterator[Error]: + for error in verify_field_identifier(that.field): + error.path._prepend(PropertySegment(that, "field")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_string_literal( + self, that: our_types.StringLiteral + ) -> Iterator[Error]: + for error in verify_standard_string(that.str_val): + error.path._prepend(PropertySegment(that, "str_val")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_attribute_operand( + self, that: our_types.AttributeOperand + ) -> Iterator[Error]: + for error in verify(that.attribute): + error.path._prepend(PropertySegment(that, "attribute")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_number_literal( + self, that: our_types.NumberLiteral + ) -> Iterator[Error]: + # No verification has been defined for NumberLiteral. + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + # noinspection PyMethodMayBeStatic + def transform_hex_literal(self, that: our_types.HexLiteral) -> Iterator[Error]: + for error in verify_hex_literal_type(that.hex_val): + error.path._prepend(PropertySegment(that, "hex_val")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_date_time_literal( + self, that: our_types.DateTimeLiteral + ) -> Iterator[Error]: + for error in verify_date_time_literal_type(that.date_time_val): + error.path._prepend(PropertySegment(that, "date_time_val")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_time_literal(self, that: our_types.TimeLiteral) -> Iterator[Error]: + for error in verify_time_literal_type(that.time_val): + error.path._prepend(PropertySegment(that, "time_val")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_boolean_literal( + self, that: our_types.BooleanLiteral + ) -> Iterator[Error]: + # No verification has been defined for BooleanLiteral. + return + # For this uncommon return-yield construction, see: + # https://stackoverflow.com/questions/13243766/how-to-define-an-empty-generator-function + # noinspection PyUnreachableCode + yield + + # noinspection PyMethodMayBeStatic + def transform_string_cast(self, that: our_types.StringCast) -> Iterator[Error]: + for error in verify(that.str_cast): + error.path._prepend(PropertySegment(that, "str_cast")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_number_cast(self, that: our_types.NumberCast) -> Iterator[Error]: + for error in verify(that.num_cast): + error.path._prepend(PropertySegment(that, "num_cast")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_hex_cast(self, that: our_types.HexCast) -> Iterator[Error]: + for error in verify(that.hex_cast): + error.path._prepend(PropertySegment(that, "hex_cast")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_boolean_cast(self, that: our_types.BooleanCast) -> Iterator[Error]: + for error in verify(that.bool_cast): + error.path._prepend(PropertySegment(that, "bool_cast")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_date_time_cast(self, that: our_types.DateTimeCast) -> Iterator[Error]: + for error in verify(that.date_time_cast): + error.path._prepend(PropertySegment(that, "date_time_cast")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_time_cast(self, that: our_types.TimeCast) -> Iterator[Error]: + for error in verify(that.time_cast): + error.path._prepend(PropertySegment(that, "time_cast")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_day_of_week(self, that: our_types.DayOfWeek) -> Iterator[Error]: + for error in verify(that.day_of_week): + error.path._prepend(PropertySegment(that, "day_of_week")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_day_of_month(self, that: our_types.DayOfMonth) -> Iterator[Error]: + for error in verify(that.day_of_month): + error.path._prepend(PropertySegment(that, "day_of_month")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_month(self, that: our_types.Month) -> Iterator[Error]: + for error in verify(that.month): + error.path._prepend(PropertySegment(that, "month")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_year(self, that: our_types.Year) -> Iterator[Error]: + for error in verify(that.year): + error.path._prepend(PropertySegment(that, "year")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_date_time_attribute_operand( + self, that: our_types.DateTimeAttributeOperand + ) -> Iterator[Error]: + for error in verify(that.attribute): + error.path._prepend(PropertySegment(that, "attribute")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_equal_comparison( + self, that: our_types.EqualComparison + ) -> Iterator[Error]: + if not are_equality_comparable(that.eq[0], that.eq[1]): + yield Error("The operands must be comparable by (in)equality.") + + for error in _verify_tuple2_of__class__class(that.eq): + error.path._prepend(PropertySegment(that, "eq")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_not_equal_comparison( + self, that: our_types.NotEqualComparison + ) -> Iterator[Error]: + if not are_equality_comparable(that.ne[0], that.ne[1]): + yield Error("The operands must be comparable by (in)equality.") + + for error in _verify_tuple2_of__class__class(that.ne): + error.path._prepend(PropertySegment(that, "ne")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_greater_than_comparison( + self, that: our_types.GreaterThanComparison + ) -> Iterator[Error]: + if not are_order_comparable(that.gt[0], that.gt[1]): + yield Error("The operands must be comparable by order.") + + for error in _verify_tuple2_of__class__class(that.gt): + error.path._prepend(PropertySegment(that, "gt")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_greater_than_or_equal_comparison( + self, that: our_types.GreaterThanOrEqualComparison + ) -> Iterator[Error]: + if not are_order_comparable(that.ge[0], that.ge[1]): + yield Error("The operands must be comparable by order.") + + for error in _verify_tuple2_of__class__class(that.ge): + error.path._prepend(PropertySegment(that, "ge")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_less_than_comparison( + self, that: our_types.LessThanComparison + ) -> Iterator[Error]: + if not are_order_comparable(that.lt[0], that.lt[1]): + yield Error("The operands must be comparable by order.") + + for error in _verify_tuple2_of__class__class(that.lt): + error.path._prepend(PropertySegment(that, "lt")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_less_than_or_equal_comparison( + self, that: our_types.LessThanOrEqualComparison + ) -> Iterator[Error]: + if not are_order_comparable(that.le[0], that.le[1]): + yield Error("The operands must be comparable by order.") + + for error in _verify_tuple2_of__class__class(that.le): + error.path._prepend(PropertySegment(that, "le")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_contains_comparison( + self, that: our_types.ContainsComparison + ) -> Iterator[Error]: + for error in _verify_tuple2_of__class__class(that.contains): + error.path._prepend(PropertySegment(that, "contains")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_starts_with_comparison( + self, that: our_types.StartsWithComparison + ) -> Iterator[Error]: + for error in _verify_tuple2_of__class__class(that.starts_with): + error.path._prepend(PropertySegment(that, "starts_with")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_ends_with_comparison( + self, that: our_types.EndsWithComparison + ) -> Iterator[Error]: + for error in _verify_tuple2_of__class__class(that.ends_with): + error.path._prepend(PropertySegment(that, "ends_with")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_regex_comparison( + self, that: our_types.RegexComparison + ) -> Iterator[Error]: + for error in _verify_tuple2_of__class__class(that.regex): + error.path._prepend(PropertySegment(that, "regex")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_match_clause(self, that: our_types.MatchClause) -> Iterator[Error]: + if not (len(that.match_operands) >= 1): + yield Error("Match operands must have at least one item.") + + for error in _verify_list_of__class(that.match_operands): + error.path._prepend(PropertySegment(that, "match_operands")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_and_expression( + self, that: our_types.AndExpression + ) -> Iterator[Error]: + if not (len(that.and_operands) >= 2): + yield Error("And operands must have at least two items.") + + for error in _verify_list_of__class(that.and_operands): + error.path._prepend(PropertySegment(that, "and_operands")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_or_expression(self, that: our_types.OrExpression) -> Iterator[Error]: + if not (len(that.or_operands) >= 2): + yield Error("Or operands must have at least two items.") + + for error in _verify_list_of__class(that.or_operands): + error.path._prepend(PropertySegment(that, "or_operands")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_not_expression( + self, that: our_types.NotExpression + ) -> Iterator[Error]: + for error in verify(that.not_operand): + error.path._prepend(PropertySegment(that, "not_operand")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_query_filter(self, that: our_types.QueryFilter) -> Iterator[Error]: + for error in verify_fragment_field_identifier(that.fragment): + error.path._prepend(PropertySegment(that, "fragment")) + yield error + + for error in verify(that.condition): + error.path._prepend(PropertySegment(that, "condition")) + yield error + + # noinspection PyMethodMayBeStatic + def transform_query(self, that: our_types.Query) -> Iterator[Error]: + if not (not (that.filters is not None) or (len(that.filters) >= 1)): + yield Error("Filters must be either not set or have at least one item.") + + for error in verify(that.condition): + error.path._prepend(PropertySegment(that, "condition")) + yield error + + if that.filters is not None: + for error in _verify_list_of__class(that.filters): + error.path._prepend(PropertySegment(that, "filters")) + yield error + + +_TRANSFORMER = _Transformer() + + +def verify(that: our_types.Class) -> Iterator[Error]: + """ + Verify the constraints of :paramref:`that` recursively. + + :param that: instance whose constraints we want to verify + :yield: constraint violations + """ + yield from _TRANSFORMER.transform(that) + + +def _verify_list_of__class(that: Sequence[our_types.Class]) -> Iterator[Error]: + """Verify the items of :paramref:`that` recursively.""" + for i, item in enumerate(that): + for error in verify(item): + error.path._prepend(IndexSegment(that, i)) + yield error + + +def _verify_list_of__name_type(that: Sequence[str]) -> Iterator[Error]: + """Verify the items of :paramref:`that` recursively.""" + for i, item in enumerate(that): + for error in verify_name_type(item): + error.path._prepend(IndexSegment(that, i)) + yield error + + +def _verify_list_of__identifier(that: Sequence[str]) -> Iterator[Error]: + """Verify the items of :paramref:`that` recursively.""" + for i, item in enumerate(that): + for error in verify_identifier(item): + error.path._prepend(IndexSegment(that, i)) + yield error + + +def _verify_list_of__json_object( + that: Sequence[our_types.JsonObject], +) -> Iterator[Error]: + """Verify the items of :paramref:`that` recursively.""" + for i, item in enumerate(that): + for error in our_json_value_verification.verify_json_object(item): + error.path._prepend(IndexSegment(that, i)) + yield error + + for key in item: + # NOTE (mristin): + # The key segment names the member whose key is erroneous. The path + # thus leads to the member, and the cause says what is wrong with + # the key which names it. + for error in verify_label_type(key): + error.path._prepend(KeySegment(item, key)) + error.path._prepend(IndexSegment(that, i)) + yield error + + +def _verify_list_of__path_item(that: Sequence[str]) -> Iterator[Error]: + """Verify the items of :paramref:`that` recursively.""" + for i, item in enumerate(that): + for error in verify_path_item(item): + error.path._prepend(IndexSegment(that, i)) + yield error + + +def _verify_tuple2_of__class__class( + that: Tuple[our_types.Class, our_types.Class], +) -> Iterator[Error]: + """Verify the items of :paramref:`that` recursively.""" + for error in verify(that[0]): + error.path._prepend(IndexSegment(that, 0)) + yield error + + for error in verify(that[1]): + error.path._prepend(IndexSegment(that, 1)) + yield error + + +def verify_xml_serializable_string(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xml_serializable_string(that): + yield Error( + "Constraint AASd-130: An attribute with data type 'string' " + + "shall consist of these characters only: " + + "^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$." + ) + + +def verify_non_empty_xml_serializable_string(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xml_serializable_string(that): + yield Error( + "Constraint AASd-130: An attribute with data type 'string' " + + "shall consist of these characters only: " + + "^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$." + ) + + if not (len(that) >= 1): + yield Error("The value must not be empty.") + + +def verify_date_time_utc(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xs_date_time_utc(that): + yield Error( + "The value must match the pattern of xs:dateTime with " + + "the time zone fixed to UTC." + ) + + if not is_xs_date_time_utc(that): + yield Error( + "The value must represent a valid xs:dateTime with the time " + + "zone fixed to UTC." + ) + + +def verify_date_time(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xs_date_time(that): + yield Error("The value must match the pattern of xs:dateTime.") + + if not is_xs_date_time(that): + yield Error("The value must represent a valid xs:dateTime.") + + +def verify_duration(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xs_duration(that): + yield Error("The value must match the pattern of xs:duration.") + + +# noinspection PyUnusedLocal +def verify_blob_type(that: bytes) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + # There is no verification specified. + return + + # Empty generator according to: + # https://stackoverflow.com/a/13243870/1600678 + # noinspection PyUnreachableCode + yield + + +def verify_identifier(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xml_serializable_string(that): + yield Error( + "Constraint AASd-130: An attribute with data type 'string' " + + "shall consist of these characters only: " + + "^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$." + ) + + if not (len(that) >= 1): + yield Error("The value must not be empty.") + + if not (len(that) <= 2048): + yield Error("Identifier shall have a maximum length of 2048 characters.") + + +def verify_value_type_iec_61360(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xml_serializable_string(that): + yield Error( + "Constraint AASd-130: An attribute with data type 'string' " + + "shall consist of these characters only: " + + "^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$." + ) + + if not (len(that) >= 1): + yield Error("The value must not be empty.") + + if not (len(that) <= 2048): + yield Error( + "Value type IEC 61360 shall have a maximum length of 2048 " + "characters." + ) + + +def verify_name_type(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xml_serializable_string(that): + yield Error( + "Constraint AASd-130: An attribute with data type 'string' " + + "shall consist of these characters only: " + + "^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$." + ) + + if not (len(that) >= 1): + yield Error("The value must not be empty.") + + if not (len(that) <= 128): + yield Error("Name type shall have a maximum length of 128 characters.") + + +def verify_version_type(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xml_serializable_string(that): + yield Error( + "Constraint AASd-130: An attribute with data type 'string' " + + "shall consist of these characters only: " + + "^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$." + ) + + if not (len(that) >= 1): + yield Error("The value must not be empty.") + + if not matches_version_type(that): + yield Error("Version type shall match the version pattern.") + + if not (len(that) <= 4): + yield Error("Version type shall have a maximum length of 4 characters.") + + +def verify_revision_type(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xml_serializable_string(that): + yield Error( + "Constraint AASd-130: An attribute with data type 'string' " + + "shall consist of these characters only: " + + "^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$." + ) + + if not (len(that) >= 1): + yield Error("The value must not be empty.") + + if not matches_revision_type(that): + yield Error("Revision type shall match the revision pattern.") + + if not (len(that) <= 4): + yield Error("Revision type shall have a maximum length of 4 characters.") + + +def verify_label_type(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xml_serializable_string(that): + yield Error( + "Constraint AASd-130: An attribute with data type 'string' " + + "shall consist of these characters only: " + + "^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$." + ) + + if not (len(that) >= 1): + yield Error("The value must not be empty.") + + if not (len(that) <= 64): + yield Error("Label type shall have a maximum length of 64 characters.") + + +def verify_message_topic_type(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xml_serializable_string(that): + yield Error( + "Constraint AASd-130: An attribute with data type 'string' " + + "shall consist of these characters only: " + + "^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$." + ) + + if not (len(that) >= 1): + yield Error("The value must not be empty.") + + if not (len(that) <= 255): + yield Error( + "Message topic type shall have a maximum length of 255 " + "characters." + ) + + +def verify_bcp_47_language_tag(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_bcp_47(that): + yield Error( + "The value must represent a value language tag conformant to " + "BCP 47." + ) + + +def verify_content_type(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xml_serializable_string(that): + yield Error( + "Constraint AASd-130: An attribute with data type 'string' " + + "shall consist of these characters only: " + + "^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$." + ) + + if not (len(that) >= 1): + yield Error("The value must not be empty.") + + if not (len(that) <= 128): + yield Error("Content type shall have a maximum length of 128 characters.") + + if not matches_mime_type(that): + yield Error( + "The value must represent a valid content MIME type " + + "according to RFC 2046." + ) + + +def verify_path_type(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xml_serializable_string(that): + yield Error( + "Constraint AASd-130: An attribute with data type 'string' " + + "shall consist of these characters only: " + + "^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$." + ) + + if not (len(that) >= 1): + yield Error("The value must not be empty.") + + if not (len(that) <= 2048): + yield Error("Identifier shall have a maximum length of 2048 characters.") + + if not matches_rfc_2396(that): + yield Error( + "String with max 2048 and min 1 characters conformant to " + + "a URI as per RFC 2396." + ) + + +def verify_qualifier_type(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xml_serializable_string(that): + yield Error( + "Constraint AASd-130: An attribute with data type 'string' " + + "shall consist of these characters only: " + + "^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$." + ) + + if not (len(that) >= 1): + yield Error("The value must not be empty.") + + if not (len(that) <= 128): + yield Error("Name type shall have a maximum length of 128 characters.") + + +def verify_value_data_type(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xml_serializable_string(that): + yield Error( + "Constraint AASd-130: An attribute with data type 'string' " + + "shall consist of these characters only: " + + "^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$." + ) + + +def verify_id_short_type(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xml_serializable_string(that): + yield Error( + "Constraint AASd-130: An attribute with data type 'string' " + + "shall consist of these characters only: " + + "^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$." + ) + + if not (len(that) >= 1): + yield Error("The value must not be empty.") + + if not (len(that) <= 128): + yield Error("Name type shall have a maximum length of 128 characters.") + + if not matches_id_short(that): + yield Error( + "AASd-002: ID-short of Referables shall consist of at least " + + "two characters and shall only feature letters, digits, " + + "hyphen (``-``) and underscore (``_``); starting mandatory " + + "with a letter, and not ending with a hyphen, *I.e.* " + + "``^[a-zA-Z][a-zA-Z0-9_-]*[a-zA-Z0-9_]+$``." + ) + + +def verify_string_uom(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xml_serializable_string(that): + yield Error( + "Constraint AASd-130: An attribute with data type 'string' " + + "shall consist of these characters only: " + + "^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$." + ) + + if not (len(that) >= 1): + yield Error("The value must not be empty.") + + if not (len(that) <= 256): + yield Error("String UoM shall have a maximum length of 256 characters.") + + +def verify_identifier_uom(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xml_serializable_string(that): + yield Error( + "Constraint AASd-130: An attribute with data type 'string' " + + "shall consist of these characters only: " + + "^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$." + ) + + if not (len(that) >= 1): + yield Error("The value must not be empty.") + + if not (len(that) <= 2048): + yield Error( + "Identifier UoM shall have a maximum length of 2048 " + "characters." + ) + + +def verify_non_negative_integer(that: int) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not (that >= 0): + yield Error("The value must be a non-negative integer.") + + +def verify_code_type(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not (len(that) <= 32): + yield Error("Code type shall have a maximum length of 32 characters.") + + if not (len(that) >= 1): + yield Error("The value must not be empty.") + + +def verify_short_id_type(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xml_serializable_string(that): + yield Error( + "Constraint AASd-130: An attribute with data type 'string' " + + "shall consist of these characters only: " + + "^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$." + ) + + if not (len(that) >= 1): + yield Error("The value must not be empty.") + + if not (len(that) <= 128): + yield Error("Name type shall have a maximum length of 128 characters.") + + +def verify_locator_type(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not (len(that) <= 2048): + yield Error("Locator type shall have a maximum length of 2048 characters.") + + if not (len(that) >= 1): + yield Error("The value must not be empty.") + + +def verify_text_type(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not (len(that) <= 2048): + yield Error("Text type shall have a maximum length of 2048 characters.") + + if not (len(that) >= 1): + yield Error("The value must not be empty.") + + +def verify_scheme_type(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_xml_serializable_string(that): + yield Error( + "Constraint AASd-130: An attribute with data type 'string' " + + "shall consist of these characters only: " + + "^[\\x09\\x0A\\x0D\\x20-\\uD7FF\\uE000-\\uFFFD\\U00010000-\\U0010FFFF]*$." + ) + + if not (len(that) >= 1): + yield Error("The value must not be empty.") + + if not (len(that) <= 128): + yield Error("Name type shall have a maximum length of 128 characters.") + + +def verify_path_item(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_path_item(that): + yield Error("The value must match the pattern of a path item.") + + +def verify_field_identifier(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_field_identifier(that): + yield Error("The value must match the pattern of a field identifier.") + + +def verify_fragment_field_identifier(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_fragment_field_identifier(that): + yield Error( + "The value must match the pattern of a fragment field " + "identifier." + ) + + +def verify_standard_string(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not (len(that) >= 1): + yield Error("The value must have at least one character.") + + +def verify_hex_literal_type(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_hex_literal(that): + yield Error("The value must match the pattern of a hexadecimal literal.") + + +def verify_date_time_literal_type(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_date_time_literal(that): + yield Error("The value must match the pattern of a date-time literal.") + + +def verify_time_literal_type(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_time_literal(that): + yield Error("The value must match the pattern of a time literal.") + + +def verify_reference_identifier(that: str) -> Iterator[Error]: + """Verify the constraints of :paramref:`that`.""" + if not matches_reference_identifier(that): + yield Error("The value must match the pattern of a reference identifier.") + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/aas_core3_2/xmlcommon.py b/aas_core3_2/xmlcommon.py new file mode 100644 index 0000000..0c9acd4 --- /dev/null +++ b/aas_core3_2/xmlcommon.py @@ -0,0 +1,741 @@ +""" +Provide the primitives which the modules reading and writing XML share. + +Reading means walking a stream of ``(event, element)`` tuples: checking that +an element resides in the expected namespace, consuming the end element which +corresponds to a start element and taking the text out of an element. Writing +means framing an element. Each of these is defined here exactly once, so that +neither :py:mod:`aas_core3_2.xmlization` nor the XML-RPC subset +over which a JSON-able value is de/serialized carries a copy of its own. + +The namespace is a constant of this module, :py:attr:`NAMESPACE`, and no +argument of its primitives. This module is generated for a single meta-model, +and a meta-model prescribes exactly one namespace, so there is nothing for +a caller to choose. +""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import json +import re +import sys +from typing import ( + Callable, + Iterator, + List, + Mapping, + Optional, + Sequence, + TextIO, + Tuple, + Union, +) + +if sys.version_info >= (3, 8): + from typing import Final, Literal, Protocol +else: + from typing_extensions import Final, Literal, Protocol + + +#: XML namespace in which all the elements of a document are expected to reside +NAMESPACE = "https://admin-shell.io/aas/3/2" + + +class Element(Protocol): + """Behave like :py:meth:`xml.etree.ElementTree.Element`.""" + + @property + def attrib(self) -> Optional[Mapping[str, str]]: + """Attributes of the element""" + raise NotImplementedError + + @property + def text(self) -> Optional[str]: + """Text content of the element""" + raise NotImplementedError + + @property + def tail(self) -> Optional[str]: + """Tail text of the element""" + raise NotImplementedError + + @property + def tag(self) -> str: + """Tag of the element; with a namespace provided as a ``{...}`` prefix""" + raise NotImplementedError + + def clear(self) -> None: + """Behave like :py:meth:`xml.etree.ElementTree.Element.clear`.""" + raise NotImplementedError + + +class HasIterparse(Protocol): + """Parse an XML document incrementally.""" + + # NOTE (mristin): + # ``self`` is not used in this context, but is necessary for Mypy, + # see: https://github.com/python/mypy/issues/5018 and + # https://github.com/python/mypy/commit/3efbc5c5e910296a60ed5b9e0e7eb11dd912c3ed#diff-e165eb7aed9dca0a5ebd93985c8cd263a6462d36ac185f9461348dc5a1396d76R9937 + + # NOTE (mristin): + # We require only the events which we actually use, and give them no default. + # Newer type stubs declare :py:func:`xml.etree.ElementTree.iterparse` as + # overloads over literal event names. A single overload must then match + # the protocol, which none would if the events were an optional sequence of + # arbitrary strings. + + def iterparse( + self, source: TextIO, events: Sequence[Literal["start", "end"]] + ) -> Iterator[Tuple[str, Element]]: + """Behave like :py:func:`xml.etree.ElementTree.iterparse`.""" + + +# NOTE (mristin): +# The SDK defines three of these path vocabularies: this one, the one in +# :py:mod:`aas_core3_2.jsonization`, and the one in +# :py:mod:`aas_core3_2.xmlcommon`. +# They look alike, and it is tempting to merge them, but they are not +# interchangeable. +# +# Each of them points into a different thing, and every segment carries +# a back-pointer to the container it stepped through, so the type of that +# back-pointer differs from one to the next: +# +# * This one points into the instances which you built, so a property +# segment holds a class of the meta-model. +# * The jsonization's points into the JSON-able structure being read or +# written, so a property segment holds the JSON-able mapping instead: +# while a document is being parsed, the instance which the property would +# belong to does not exist yet. +# * The xmlcommon's points into the XML document, where there are no +# properties at all, only elements, so it names an element instead. +# +# The three also render differently: a path into the instances is a Python +# access expression, a path into a JSON-able structure starts at the root of +# the document and carries no leading dot, and a path into an XML document +# is a relative XPath. +# +# Merging them would mean either dropping the back-pointers, which have been +# part of the public API of this SDK since before these modules were split +# apart, or defining a single path over the union of all the segment kinds -- +# in which case every consumer would have to handle segments which can never +# occur in its world. Three small vocabularies which each say exactly what +# they can say cost less than one large one which lies about its range. + + +class ElementSegment: + """Represent an element on a path to the erroneous value.""" + + #: Erroneous element + element: Final[Element] + + def __init__(self, element: Element) -> None: + """Initialize with the given values.""" + self.element = element + + def __str__(self) -> str: + """ + Render the segment as a tag without the namespace. + + We deliberately omit the namespace in the tag names. If you want to actually + query with the resulting XPath, you have to insert the namespaces manually. + We did not know how to include the namespace in a meaningful way, as XPath + assumes namespace prefixes to be defined *outside* of the document. At least + the path thus rendered is informative, and you should be able to descend it + manually. + """ + _, has_namespace, tag_wo_ns = self.element.tag.rpartition("}") + if not has_namespace: + return self.element.tag + else: + return tag_wo_ns + + +class IndexSegment: + """Represent an element in a sequence on a path to the erroneous value.""" + + #: Erroneous element + element: Final[Element] + + #: Index of the element in the sequence, starting at zero + index: Final[int] + + def __init__(self, element: Element, index: int) -> None: + """Initialize with the given values.""" + self.element = element + self.index = index + + def __str__(self) -> str: + """ + Render the segment as an element wildcard with the index. + + XPath counts the elements starting at one, so we add one to :py:attr:`index`. + """ + return f"*[{self.index + 1}]" + + +class KeySegment: + """ + Represent a member of an open JSON-able object on a path to + the erroneous element. + + Unlike an :py:class:`ElementSegment`, which names an element prescribed by + the meta-model, a key is known only at run time, and can be any string + at all. + """ + + #: Element of the ```` which carries the key + element: Final[Element] + + #: Key of the member + key: Final[str] + + def __init__(self, element: Element, key: str) -> None: + """Initialize with the given values.""" + self.element = element + self.key = key + + def __str__(self) -> str: + """ + Render the segment as a predicate on the ```` child element. + + A JSON-able object is written as an XML-RPC ````, which carries + the key of a member in a ```` child element instead of in + an attribute, so the XPath has to match on that child element. + """ + escaped = ( + self.key.replace("&", "&") + .replace("/", "/") + .replace("<", "<") + .replace(">", ">") + .replace('"', """) + .replace("'", "'") + ) + return f'member[name="{escaped}"]' + + +Segment = Union[ElementSegment, IndexSegment, KeySegment] + + +class Path: + """Represent the relative path to the erroneous element.""" + + def __init__(self) -> None: + """Initialize as an empty path.""" + self._segments: List[Segment] = [] + + @property + def segments(self) -> Sequence[Segment]: + """Get the segments of the path.""" + return self._segments + + def _prepend(self, segment: Segment) -> None: + """Insert the :paramref:`segment` in front of other segments.""" + self._segments.insert(0, segment) + + def __str__(self) -> str: + """Render the path as a relative XPath. + + We omit the leading ``/`` so that you can easily prefix it as you need. + """ + return "/".join(str(segment) for segment in self._segments) + + +class DeserializationException(Exception): + """Signal that the XML de-serialization could not be performed.""" + + #: Human-readable explanation of the exception's cause + cause: Final[str] + + #: Relative path to the erroneous value + path: Final[Path] + + def __init__(self, cause: str) -> None: + """Initialize with the given :paramref:`cause` and an empty path.""" + self.cause = cause + self.path = Path() + + +class SerializationException(Exception): + """Signal that the XML serialization could not be performed.""" + + #: Human-readable explanation of the exception's cause + cause: Final[str] + + def __init__(self, cause: str) -> None: + """Initialize with the given :paramref:`cause` and an empty path.""" + self.cause = cause + self._segments: List[str] = [] + + @property + def path(self) -> str: + """ + Render the path to the erroneous value as a Python access expression. + + The path points into the instance which you handed over for + the serialization, and *not* into an XML document -- at the point of + the failure, there is no document yet. For example, ``.submodels[0].id`` + tells you that the serialization broke on ``that.submodels[0].id``. + + Mind that the elements which the XML representation adds on top of + the instance contribute no segment, as they correspond to no attribute + access. This concerns the element enclosing the instance itself, and + the element which designates the model type of the value of a property. + """ + return "".join(self._segments) + + def _prepend_property(self, name: str) -> None: + """Insert the access to the property :paramref:`name` before the path.""" + self._segments.insert(0, f".{name}") + + def _prepend_index(self, index: int) -> None: + """Insert the access to the item at :paramref:`index` before the path.""" + self._segments.insert(0, f"[{index}]") + + def _prepend_key(self, key: str) -> None: + """ + Insert the access to the member :paramref:`key` before the path. + + Unlike a property of one of our classes, a member of an open JSON-able + object is known only at run time and can be any string at all, so it is + always rendered as a subscript. + """ + self._segments.insert(0, f"[{json.dumps(key, ensure_ascii=False)}]") + + def __str__(self) -> str: + if len(self._segments) == 0: + return self.cause + + return f"{self.path}: {self.cause}" + + +# region De-serialization + + +def parse_element_tag(element: Element) -> str: + """ + Extract the tag name without the namespace prefix from :paramref:`element`. + + :param element: whose tag without namespace we want to extract + :return: tag name without the namespace prefix + :raise: :py:class:`DeserializationException` if unexpected :paramref:`element` + """ + # NOTE (mristin): + # :py:mod:`xml.etree.ElementTree` spells the tag of a namespaced element + # as ``{namespace}tag``. We match that prefix in place, with + # :py:meth:`str.startswith` and an offset, instead of composing + # the ``{...}`` form: this runs for every element of every document, and + # composing it would allocate a string on each call. + if ( + element.tag.startswith("{") + and element.tag.startswith(NAMESPACE, 1) + and element.tag.startswith("}", len(NAMESPACE) + 1) + ): + return element.tag[len(NAMESPACE) + 2 :] + + got_namespace, separator, tag_wo_ns = element.tag.rpartition("}") + + if separator: + if got_namespace.startswith("{"): + got_namespace = got_namespace[1:] + + raise DeserializationException( + f"Expected the element in the namespace {NAMESPACE!r}, " + f"but got the element {tag_wo_ns!r} in " + f"the namespace {got_namespace!r}" + ) + + raise DeserializationException( + f"Expected the element in the namespace {NAMESPACE!r}, " + f"but got the element {tag_wo_ns!r} without the namespace prefix" + ) + + +def parse_unqualified_element_tag(element: Element) -> str: + """ + Extract the tag name of :paramref:`element`, which is expected to reside in + no namespace at all. + + :param element: whose tag we want to extract + :return: tag name + :raise: :py:class:`DeserializationException` if unexpected :paramref:`element` + """ + if not element.tag.startswith("{"): + return element.tag + + got_namespace, _, tag_wo_ns = element.tag[1:].partition("}") + + raise DeserializationException( + f"Expected the element in no namespace, " + f"but got the element {tag_wo_ns!r} in " + f"the namespace {got_namespace!r}" + ) + + +def raise_if_non_whitespace_text(element: Element, expected_what: str) -> None: + """ + Check that :paramref:`element` encloses no text of its own. + + An element which holds other elements may still be spelled over several + lines, so the whitespace between its children is text as far as + :py:mod:`xml.etree.ElementTree` is concerned. Anything else is not. + + :param element: to be verified + :param expected_what: what the element was expected to enclose + :raise: + :py:class:`.DeserializationException` if there is text; + conforming to the convention about handling error paths, + the exception path is left empty. + """ + if element.text is not None and len(element.text.strip()) != 0: + raise DeserializationException( + f"Expected only {expected_what} and whitespace text, " + f"but got text: {element.text!r}" + ) + + +def read_next_start_element( + iterator: Iterator[Tuple[str, Element]], expected_what: str +) -> Element: + """ + Read the next start element from :paramref:`iterator`. + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :param expected_what: what we expected to read, for the error messages + :raise: + :py:class:`.DeserializationException` if the input ended, or if what came + next was no start element; conforming to the convention about handling + error paths, the exception path is left empty. + :return: the start element + """ + next_event_element = next(iterator, None) + if next_event_element is None: + raise DeserializationException( + f"Expected the start element for {expected_what}, " + f"but got the end-of-input" + ) + + next_event, next_element = next_event_element + if next_event != "start": + raise DeserializationException( + f"Expected the start element for {expected_what}, " + f"but got event {next_event!r} and element {next_element.tag!r}" + ) + + return next_element + + +def raise_if_has_tail_or_attrib(element: Element) -> None: + """ + Check that :paramref:`element` has no trailing text and no attributes. + + :param element: to be verified + :raise: + :py:class:`.DeserializationException` if trailing text or attributes; + conforming to the convention about handling error paths, + the exception path is left empty. + """ + if element.tail is not None and len(element.tail.strip()) != 0: + raise DeserializationException( + f"Expected no trailing text, but got: {element.tail!r}" + ) + + if element.attrib is not None and len(element.attrib) > 0: + raise DeserializationException( + f"Expected no attributes, but got: {element.attrib}" + ) + + +def read_end_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> Element: + """ + Read the end element corresponding to the start :paramref:`element` + from :paramref:`iterator`. + + :param element: corresponding start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + """ + next_event_element = next(iterator, None) + if next_event_element is None: + raise DeserializationException( + f"Expected the end element for {element.tag}, " f"but got the end-of-input" + ) + + next_event, next_element = next_event_element + if next_event != "end" or next_element.tag != element.tag: + raise DeserializationException( + f"Expected the end element for {element.tag!r}, " + f"but got the event {next_event!r} and element {next_element.tag!r}" + ) + + raise_if_has_tail_or_attrib(next_element) + + return next_element + + +def read_text_from_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> str: + """ + Extract the text from the :paramref:`element`, and read + the end element from :paramref:`iterator`. + + The :paramref:`element` is expected to contain text. Otherwise, + it is considered as unexpected input. + + :param element: start element enclosing the text + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + """ + raise_if_has_tail_or_attrib(element) + + text = element.text + + end_element = read_end_element( + element, + iterator, + ) + + if text is None: + if end_element.text is None: + raise DeserializationException( + "Expected an element with text, but got an element with no text." + ) + + text = end_element.text + + return text + + +def read_str_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> str: + """ + Parse the text of :paramref:`element` as a string, and + read the corresponding end element from :paramref:`iterator`. + + If there is no text, empty string is returned. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + # NOTE (mristin): + # We do not use ``read_text_from_element`` as that function expects + # the ``element`` to contain *some* text. In contrast, this function + # can also deal with empty text, in which case it returns an empty string. + + text = element.text + + end_element = read_end_element(element, iterator) + + if text is None: + text = end_element.text + + raise_if_has_tail_or_attrib(element) + return text if text is not None else "" + + +#: Match a run of the whitespace characters which XSD knows +XS_WHITESPACE_RE = re.compile(r"[ \t\n\r]+") + + +def collapse_whitespace(text: str) -> str: + """ + Normalize :paramref:`text` the way ``whiteSpace="collapse"`` prescribes. + + Every atomic XSD type except a string, and every type derived from one + by restriction, fixes ``whiteSpace`` to ``collapse``, and a schema author + can not change it. A tab, a line feed and a carriage return each become + a space, a run of spaces becomes one space, and the leading and trailing + spaces go. Only then is the result a lexical representation to be matched. + + Mind that this strips only the whitespace *around* the value: a space + within it survives as a single space, so ``2 3`` becomes ``2 3``, which + is still no number. + + See: https://www.w3.org/TR/xmlschema-2/#rf-whiteSpace + + :param text: to be normalized + :return: normalized text + """ + return XS_WHITESPACE_RE.sub(" ", text).strip(" ") + + +# endregion + + +# region Serialization + + +class Writer: + """ + Write the XML elements of a single document to :py:attr:`~stream`. + + The namespace is specified on the very first element alone, and on none of + the elements which follow it, so one writer serves exactly one document. + """ + + #: Stream to be written to + stream: Final[TextIO] + + #: Number of the currently open elements which reside in no namespace + _open_in_no_namespace: int + + #: Method pointer to be invoked for writing the start element with or without + #: specifying a namespace (depending on the state of the writer) + write_start_element: Callable[[str], None] + + #: Method pointer to be invoked for writing an empty element with or without + #: specifying a namespace (depending on the state of the writer) + write_empty_element: Callable[[str], None] + + # NOTE (mristin): + # The serialization procedure is quite rigid. We leverage the specifics of + # the serialization procedure to optimize the code a bit. + # + # Namely, we model the writing of the XML elements as a state machine. + # The namespace is only specified for the very first element. All the subsequent + # elements will *not* have the namespace specified. We implement that behavior by + # using pointers to methods, as Python treats the methods as first-class citizens. + # + # The ``write_start_element`` will point to + # ``_write_first_start_element_with_namespace`` on the *first* invocation. + # Afterwards, it will be redirected to ``_write_start_element_without_namespace``. + # + # Analogously for ``write_empty_element``. + # + # Please see the implementation for the details, but this should give you at least + # a rough overview. + + def _write_first_start_element_with_namespace(self, name: str) -> None: + """ + Write the start element with the tag name :paramref:`name` and specify + its namespace. + + The :py:attr:`~write_start_element` is set to + :py:meth:`~_write_start_element_without_namespace` after the first invocation + of this method. + + :param name: of the element tag. Expected to contain no XML special characters. + """ + self.stream.write(f'<{name} xmlns="{NAMESPACE}">') + + # NOTE (mristin): + # Any subsequence call to `write_start_element` or `write_empty_element` + # should not specify the namespace of the element as we specified now already + # specified it. + self.write_start_element = self._write_start_element_without_namespace + self.write_empty_element = self._write_empty_element_without_namespace + + def _write_start_element_without_namespace(self, name: str) -> None: + """ + Write the start element with the tag name :paramref:`name`. + + The first element, written *before* this one, is expected to have been + already written with the namespace specified. + + :param name: of the element tag. Expected to contain no XML special characters. + """ + self.stream.write(f"<{name}>") + + def write_end_element(self, name: str) -> None: + """ + Write the end element with the tag name :paramref:`name`. + + :param name: of the element tag. Expected to contain no XML special characters. + """ + self.stream.write(f"") + + def write_start_element_in_no_namespace(self, name: str) -> None: + """ + Write the start element with the tag name :paramref:`name`, which resides + in no namespace at all. + + The outermost such element undeclares the default namespace, so that + the elements nested in it reside in no namespace as well and need no + declaration of their own. + + :param name: of the element tag. Expected to contain no XML special characters. + """ + if self._open_in_no_namespace == 0: + self.stream.write(f'<{name} xmlns="">') + else: + self.stream.write(f"<{name}>") + + self._open_in_no_namespace += 1 + + def write_end_element_in_no_namespace(self, name: str) -> None: + """ + Write the end element with the tag name :paramref:`name`, which resides in + no namespace at all. + + :param name: of the element tag. Expected to contain no XML special characters. + """ + self._open_in_no_namespace -= 1 + self.stream.write(f"") + + def _write_first_empty_element_with_namespace(self, name: str) -> None: + """ + Write the first (and only) empty element with the tag name :paramref:`name`. + + No elements are expected to be written to the stream afterwards. The element + includes the namespace specification. + + :param name: of the element tag. Expected to contain no XML special characters. + """ + self.stream.write(f'<{name} xmlns="{NAMESPACE}"/>') + self.write_empty_element = self._raise_if_write_element_called_again + self.write_start_element = self._raise_if_write_element_called_again + + def _raise_if_write_element_called_again(self, name: str) -> None: + raise AssertionError( + f"We expected to call ``_write_first_empty_element_with_namespace`` " + f"only once. This is an unexpected second call for writing " + f"an (empty or non-empty) element with the tag name: {name!r}" + ) + + def _write_empty_element_without_namespace(self, name: str) -> None: + """ + Write the empty element with the tag name :paramref:`name`. + + The call to this method is expected to occur *after* the enclosing element with + a specified namespace has been written. + + :param name: of the element tag. Expected to contain no XML special characters. + """ + self.stream.write(f"<{name}/>") + + def __init__(self, stream: TextIO) -> None: + """ + Initialize the writer to write to :paramref:`stream`. + + The first element will include the :py:attr:`NAMESPACE`. Every other + element will not have the namespace specified. + + :param stream: where to write to + """ + self.stream = stream + self._open_in_no_namespace = 0 + self.write_start_element = self._write_first_start_element_with_namespace + self.write_empty_element = self._write_first_empty_element_with_namespace + + +# endregion diff --git a/aas_core3_2/xmlization.py b/aas_core3_2/xmlization.py new file mode 100644 index 0000000..b970c51 --- /dev/null +++ b/aas_core3_2/xmlization.py @@ -0,0 +1,48157 @@ +""" +Read and write model instances as XML. + +For reading, we provide different reading functions, each handling a different kind +of input. All the reading functions operate in one pass, *i.e.*, the source is read +incrementally and the complete XML is not held in memory. + +We provide the following four reading functions (where ``X`` represents the name of +the class): + +1) ``X_from_iterparse`` reads from a stream of ``(event, element)`` tuples coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]``. If you do not trust the source, please consider + using `defusedxml.ElementTree`_. +2) ``X_from_stream`` reads from the given text stream. +3) ``X_from_file`` reads from a file on disk. +4) ``X_from_str`` reads from the given string. + +The functions ``X_from_stream``, ``X_from_file`` and ``X_from_str`` provide +an extra parameter, ``has_iterparse``, which allows you to use a parsing library +different from :py:mod:`xml.etree.ElementTree`. For example, you can pass in +`defusedxml.ElementTree`_. + +.. _defusedxml.ElementTree: https://pypi.org/project/defusedxml/#defusedxml-elementtree + +All XML elements are expected to live in the :py:attr:`~NAMESPACE`. The elements of +the XML-RPC subset, over which a JSON-able value is de/serialized, are the one +exception: they live in no namespace at all. + +For writing, use the function :py:func:`aas_core3_2.xmlization.write` which +translates the instance of the model into an XML document and writes it in one pass +to the stream. + +The writing raises a :py:class:`SerializationException` if it can not serialize +the instance, be it because the stream failed or because a value could not be +written. The path of the exception points to the culprit as a Python access +expression, *e.g.*, ``.submodels[0].id``, so that you can find it in the instance +which you handed over. + +Here is an example usage how to de-serialize from a file: + +.. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.read_extension_from_file( + path + ) + + # Do something with the ``instance`` + +Here is another code example where we serialize the instance: + +.. code-block:: + + import pathlib + + import aas_core3_2.types as our_types + import aas_core3_2.xmlization as our_xmlization + + instance = Extension( + ... # some constructor arguments + ) + + pth = pathlib.Path(...) + with pth.open("wt") as fid: + our_xmlization.write(instance, fid) +""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import base64 +import enum +import io +import math +import os +import re +import sys +from typing import ( + Any, + Callable, + Dict, + Iterator, + List, + Mapping, + NoReturn, + Optional, + Sequence, + TextIO, + Tuple, + TypeVar, + TYPE_CHECKING, +) +import xml.etree.ElementTree + +if sys.version_info >= (3, 8): + from typing import Final +else: + from typing_extensions import Final + +import aas_core3_2.stringification as our_stringification +import aas_core3_2.types as our_types +import aas_core3_2.xmlcommon as our_xmlcommon +import aas_core3_2.xmlrpc as our_xmlrpc +from aas_core3_2.xmlcommon import ( + XS_WHITESPACE_RE, + collapse_whitespace, + parse_element_tag, + raise_if_has_tail_or_attrib, + read_end_element, + read_next_start_element, + read_str_from_element_text, + read_text_from_element, +) + +# See: https://stackoverflow.com/questions/55076778/why-isnt-this-function-type-annotated-correctly-error-missing-type-parameters +if TYPE_CHECKING: + PathLike = os.PathLike[Any] +else: + PathLike = os.PathLike + + +#: XML namespace in which all the elements are expected to reside +NAMESPACE = our_xmlcommon.NAMESPACE + + +# region De-serialization + + +Element = our_xmlcommon.Element +HasIterparse = our_xmlcommon.HasIterparse + +ElementSegment = our_xmlcommon.ElementSegment +IndexSegment = our_xmlcommon.IndexSegment +KeySegment = our_xmlcommon.KeySegment +Segment = our_xmlcommon.Segment +Path = our_xmlcommon.Path + +DeserializationException = our_xmlcommon.DeserializationException +SerializationException = our_xmlcommon.SerializationException + + +def _with_elements_cleared_after_yield( + iterator: Iterator[Tuple[str, Element]], +) -> Iterator[Tuple[str, Element]]: + """ + Map the :paramref:`iterator` such that the element is ``clear()``'ed + *after* every ``yield``. + + :param iterator: to be mapped + :yield: event and element from :paramref:`iterator` + """ + for event, element in iterator: + yield event, element + element.clear() + + +def has_semantics_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.HasSemantics: + """ + Read an instance of :py:class:`.types.HasSemantics` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.has_semantics_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HasSemantics` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_has_semantics_as_element, "HasSemantics" + ) + + +def has_semantics_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.HasSemantics: + """ + Read an instance of :py:class:`.types.HasSemantics` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.has_semantics_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.HasSemantics` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HasSemantics` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return has_semantics_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def has_semantics_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.HasSemantics: + """ + Read an instance of :py:class:`.types.HasSemantics` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.has_semantics_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.HasSemantics` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HasSemantics` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return has_semantics_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def has_semantics_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.HasSemantics: + """ + Read an instance of :py:class:`.types.HasSemantics` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.has_semantics_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.HasSemantics` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HasSemantics` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return has_semantics_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def extension_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.Extension: + """ + Read an instance of :py:class:`.types.Extension` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.extension_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Extension` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_extension_as_element, "Extension" + ) + + +def extension_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Extension: + """ + Read an instance of :py:class:`.types.Extension` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.extension_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Extension` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Extension` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return extension_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def extension_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Extension: + """ + Read an instance of :py:class:`.types.Extension` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.extension_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Extension` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Extension` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return extension_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def extension_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Extension: + """ + Read an instance of :py:class:`.types.Extension` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.extension_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Extension` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Extension` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return extension_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def has_extensions_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.HasExtensions: + """ + Read an instance of :py:class:`.types.HasExtensions` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.has_extensions_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HasExtensions` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_has_extensions_as_element, "HasExtensions" + ) + + +def has_extensions_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.HasExtensions: + """ + Read an instance of :py:class:`.types.HasExtensions` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.has_extensions_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.HasExtensions` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HasExtensions` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return has_extensions_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def has_extensions_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.HasExtensions: + """ + Read an instance of :py:class:`.types.HasExtensions` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.has_extensions_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.HasExtensions` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HasExtensions` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return has_extensions_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def has_extensions_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.HasExtensions: + """ + Read an instance of :py:class:`.types.HasExtensions` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.has_extensions_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.HasExtensions` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HasExtensions` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return has_extensions_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def referable_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.Referable: + """ + Read an instance of :py:class:`.types.Referable` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.referable_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Referable` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_referable_as_element, "Referable" + ) + + +def referable_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Referable: + """ + Read an instance of :py:class:`.types.Referable` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.referable_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Referable` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Referable` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return referable_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def referable_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Referable: + """ + Read an instance of :py:class:`.types.Referable` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.referable_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Referable` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Referable` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return referable_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def referable_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Referable: + """ + Read an instance of :py:class:`.types.Referable` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.referable_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Referable` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Referable` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return referable_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def identifiable_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.Identifiable: + """ + Read an instance of :py:class:`.types.Identifiable` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.identifiable_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Identifiable` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_identifiable_as_element, "Identifiable" + ) + + +def identifiable_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Identifiable: + """ + Read an instance of :py:class:`.types.Identifiable` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.identifiable_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Identifiable` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Identifiable` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return identifiable_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def identifiable_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Identifiable: + """ + Read an instance of :py:class:`.types.Identifiable` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.identifiable_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Identifiable` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Identifiable` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return identifiable_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def identifiable_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Identifiable: + """ + Read an instance of :py:class:`.types.Identifiable` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.identifiable_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Identifiable` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Identifiable` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return identifiable_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def has_kind_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.HasKind: + """ + Read an instance of :py:class:`.types.HasKind` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.has_kind_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HasKind` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse(iterator, _read_has_kind_as_element, "HasKind") + + +def has_kind_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.HasKind: + """ + Read an instance of :py:class:`.types.HasKind` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.has_kind_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.HasKind` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HasKind` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return has_kind_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def has_kind_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.HasKind: + """ + Read an instance of :py:class:`.types.HasKind` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.has_kind_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.HasKind` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HasKind` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return has_kind_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def has_kind_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.HasKind: + """ + Read an instance of :py:class:`.types.HasKind` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.has_kind_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.HasKind` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HasKind` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return has_kind_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def has_data_specification_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.HasDataSpecification: + """ + Read an instance of :py:class:`.types.HasDataSpecification` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.has_data_specification_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HasDataSpecification` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_has_data_specification_as_element, "HasDataSpecification" + ) + + +def has_data_specification_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.HasDataSpecification: + """ + Read an instance of :py:class:`.types.HasDataSpecification` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.has_data_specification_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.HasDataSpecification` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HasDataSpecification` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return has_data_specification_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def has_data_specification_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.HasDataSpecification: + """ + Read an instance of :py:class:`.types.HasDataSpecification` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.has_data_specification_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.HasDataSpecification` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HasDataSpecification` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return has_data_specification_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def has_data_specification_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.HasDataSpecification: + """ + Read an instance of :py:class:`.types.HasDataSpecification` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.has_data_specification_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.HasDataSpecification` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HasDataSpecification` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return has_data_specification_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def administrative_information_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.AdministrativeInformation: + """ + Read an instance of :py:class:`.types.AdministrativeInformation` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.administrative_information_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AdministrativeInformation` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_administrative_information_as_element, + "AdministrativeInformation", + ) + + +def administrative_information_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AdministrativeInformation: + """ + Read an instance of :py:class:`.types.AdministrativeInformation` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.administrative_information_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.AdministrativeInformation` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AdministrativeInformation` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return administrative_information_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def administrative_information_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AdministrativeInformation: + """ + Read an instance of :py:class:`.types.AdministrativeInformation` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.administrative_information_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.AdministrativeInformation` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AdministrativeInformation` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return administrative_information_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def administrative_information_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AdministrativeInformation: + """ + Read an instance of :py:class:`.types.AdministrativeInformation` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.administrative_information_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.AdministrativeInformation` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AdministrativeInformation` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return administrative_information_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def qualifiable_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.Qualifiable: + """ + Read an instance of :py:class:`.types.Qualifiable` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.qualifiable_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Qualifiable` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_qualifiable_as_element, "Qualifiable" + ) + + +def qualifiable_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Qualifiable: + """ + Read an instance of :py:class:`.types.Qualifiable` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.qualifiable_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Qualifiable` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Qualifiable` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return qualifiable_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def qualifiable_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Qualifiable: + """ + Read an instance of :py:class:`.types.Qualifiable` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.qualifiable_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Qualifiable` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Qualifiable` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return qualifiable_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def qualifiable_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Qualifiable: + """ + Read an instance of :py:class:`.types.Qualifiable` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.qualifiable_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Qualifiable` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Qualifiable` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return qualifiable_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def qualifier_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.Qualifier: + """ + Read an instance of :py:class:`.types.Qualifier` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.qualifier_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Qualifier` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_qualifier_as_element, "Qualifier" + ) + + +def qualifier_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Qualifier: + """ + Read an instance of :py:class:`.types.Qualifier` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.qualifier_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Qualifier` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Qualifier` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return qualifier_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def qualifier_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Qualifier: + """ + Read an instance of :py:class:`.types.Qualifier` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.qualifier_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Qualifier` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Qualifier` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return qualifier_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def qualifier_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Qualifier: + """ + Read an instance of :py:class:`.types.Qualifier` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.qualifier_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Qualifier` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Qualifier` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return qualifier_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def asset_administration_shell_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.AssetAdministrationShell: + """ + Read an instance of :py:class:`.types.AssetAdministrationShell` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.asset_administration_shell_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetAdministrationShell` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_asset_administration_shell_as_element, + "AssetAdministrationShell", + ) + + +def asset_administration_shell_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AssetAdministrationShell: + """ + Read an instance of :py:class:`.types.AssetAdministrationShell` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.asset_administration_shell_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.AssetAdministrationShell` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetAdministrationShell` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return asset_administration_shell_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def asset_administration_shell_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AssetAdministrationShell: + """ + Read an instance of :py:class:`.types.AssetAdministrationShell` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.asset_administration_shell_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.AssetAdministrationShell` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetAdministrationShell` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return asset_administration_shell_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def asset_administration_shell_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AssetAdministrationShell: + """ + Read an instance of :py:class:`.types.AssetAdministrationShell` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.asset_administration_shell_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.AssetAdministrationShell` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetAdministrationShell` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return asset_administration_shell_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def asset_information_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.AssetInformation: + """ + Read an instance of :py:class:`.types.AssetInformation` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.asset_information_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetInformation` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_asset_information_as_element, "AssetInformation" + ) + + +def asset_information_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AssetInformation: + """ + Read an instance of :py:class:`.types.AssetInformation` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.asset_information_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.AssetInformation` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetInformation` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return asset_information_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def asset_information_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AssetInformation: + """ + Read an instance of :py:class:`.types.AssetInformation` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.asset_information_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.AssetInformation` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetInformation` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return asset_information_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def asset_information_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AssetInformation: + """ + Read an instance of :py:class:`.types.AssetInformation` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.asset_information_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.AssetInformation` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetInformation` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return asset_information_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def resource_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.Resource: + """ + Read an instance of :py:class:`.types.Resource` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.resource_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Resource` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_resource_as_element, "Resource" + ) + + +def resource_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Resource: + """ + Read an instance of :py:class:`.types.Resource` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.resource_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Resource` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Resource` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return resource_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def resource_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Resource: + """ + Read an instance of :py:class:`.types.Resource` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.resource_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Resource` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Resource` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return resource_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def resource_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Resource: + """ + Read an instance of :py:class:`.types.Resource` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.resource_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Resource` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Resource` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return resource_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def specific_asset_id_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.SpecificAssetID: + """ + Read an instance of :py:class:`.types.SpecificAssetID` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.specific_asset_id_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SpecificAssetID` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_specific_asset_id_as_element, "SpecificAssetID" + ) + + +def specific_asset_id_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SpecificAssetID: + """ + Read an instance of :py:class:`.types.SpecificAssetID` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.specific_asset_id_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.SpecificAssetID` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SpecificAssetID` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return specific_asset_id_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def specific_asset_id_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SpecificAssetID: + """ + Read an instance of :py:class:`.types.SpecificAssetID` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.specific_asset_id_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.SpecificAssetID` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SpecificAssetID` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return specific_asset_id_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def specific_asset_id_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SpecificAssetID: + """ + Read an instance of :py:class:`.types.SpecificAssetID` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.specific_asset_id_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.SpecificAssetID` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SpecificAssetID` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return specific_asset_id_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.Submodel: + """ + Read an instance of :py:class:`.types.Submodel` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.submodel_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Submodel` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_submodel_as_element, "Submodel" + ) + + +def submodel_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Submodel: + """ + Read an instance of :py:class:`.types.Submodel` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.submodel_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Submodel` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Submodel` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return submodel_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def submodel_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Submodel: + """ + Read an instance of :py:class:`.types.Submodel` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.submodel_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Submodel` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Submodel` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return submodel_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def submodel_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Submodel: + """ + Read an instance of :py:class:`.types.Submodel` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.submodel_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Submodel` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Submodel` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return submodel_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def submodel_element_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.SubmodelElement: + """ + Read an instance of :py:class:`.types.SubmodelElement` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.submodel_element_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElement` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_submodel_element_as_element, "SubmodelElement" + ) + + +def submodel_element_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElement: + """ + Read an instance of :py:class:`.types.SubmodelElement` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.submodel_element_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.SubmodelElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElement` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return submodel_element_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def submodel_element_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElement: + """ + Read an instance of :py:class:`.types.SubmodelElement` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.submodel_element_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.SubmodelElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElement` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return submodel_element_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_element_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElement: + """ + Read an instance of :py:class:`.types.SubmodelElement` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.submodel_element_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.SubmodelElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElement` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return submodel_element_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def relationship_element_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.RelationshipElement: + """ + Read an instance of :py:class:`.types.RelationshipElement` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.relationship_element_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RelationshipElement` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_relationship_element_as_element, "RelationshipElement" + ) + + +def relationship_element_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RelationshipElement: + """ + Read an instance of :py:class:`.types.RelationshipElement` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.relationship_element_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.RelationshipElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RelationshipElement` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return relationship_element_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def relationship_element_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RelationshipElement: + """ + Read an instance of :py:class:`.types.RelationshipElement` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.relationship_element_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.RelationshipElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RelationshipElement` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return relationship_element_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def relationship_element_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RelationshipElement: + """ + Read an instance of :py:class:`.types.RelationshipElement` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.relationship_element_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.RelationshipElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RelationshipElement` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return relationship_element_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_element_list_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.SubmodelElementList: + """ + Read an instance of :py:class:`.types.SubmodelElementList` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.submodel_element_list_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementList` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_submodel_element_list_as_element, "SubmodelElementList" + ) + + +def submodel_element_list_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElementList: + """ + Read an instance of :py:class:`.types.SubmodelElementList` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.submodel_element_list_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.SubmodelElementList` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementList` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return submodel_element_list_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_element_list_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElementList: + """ + Read an instance of :py:class:`.types.SubmodelElementList` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.submodel_element_list_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.SubmodelElementList` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementList` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return submodel_element_list_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_element_list_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElementList: + """ + Read an instance of :py:class:`.types.SubmodelElementList` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.submodel_element_list_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.SubmodelElementList` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementList` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return submodel_element_list_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_element_collection_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.SubmodelElementCollection: + """ + Read an instance of :py:class:`.types.SubmodelElementCollection` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.submodel_element_collection_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementCollection` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_submodel_element_collection_as_element, + "SubmodelElementCollection", + ) + + +def submodel_element_collection_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElementCollection: + """ + Read an instance of :py:class:`.types.SubmodelElementCollection` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.submodel_element_collection_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.SubmodelElementCollection` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementCollection` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return submodel_element_collection_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_element_collection_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElementCollection: + """ + Read an instance of :py:class:`.types.SubmodelElementCollection` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.submodel_element_collection_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.SubmodelElementCollection` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementCollection` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return submodel_element_collection_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_element_collection_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElementCollection: + """ + Read an instance of :py:class:`.types.SubmodelElementCollection` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.submodel_element_collection_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.SubmodelElementCollection` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementCollection` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return submodel_element_collection_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def data_element_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.DataElement: + """ + Read an instance of :py:class:`.types.DataElement` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.data_element_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DataElement` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_data_element_as_element, "DataElement" + ) + + +def data_element_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DataElement: + """ + Read an instance of :py:class:`.types.DataElement` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.data_element_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.DataElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DataElement` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return data_element_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def data_element_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DataElement: + """ + Read an instance of :py:class:`.types.DataElement` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.data_element_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.DataElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DataElement` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return data_element_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def data_element_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DataElement: + """ + Read an instance of :py:class:`.types.DataElement` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.data_element_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.DataElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DataElement` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return data_element_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def property_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.Property: + """ + Read an instance of :py:class:`.types.Property` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.property_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Property` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_property_as_element, "Property" + ) + + +def property_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Property: + """ + Read an instance of :py:class:`.types.Property` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.property_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Property` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Property` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return property_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def property_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Property: + """ + Read an instance of :py:class:`.types.Property` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.property_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Property` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Property` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return property_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def property_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Property: + """ + Read an instance of :py:class:`.types.Property` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.property_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Property` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Property` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return property_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def multi_language_property_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.MultiLanguageProperty: + """ + Read an instance of :py:class:`.types.MultiLanguageProperty` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.multi_language_property_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.MultiLanguageProperty` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_multi_language_property_as_element, "MultiLanguageProperty" + ) + + +def multi_language_property_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.MultiLanguageProperty: + """ + Read an instance of :py:class:`.types.MultiLanguageProperty` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.multi_language_property_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.MultiLanguageProperty` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.MultiLanguageProperty` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return multi_language_property_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def multi_language_property_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.MultiLanguageProperty: + """ + Read an instance of :py:class:`.types.MultiLanguageProperty` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.multi_language_property_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.MultiLanguageProperty` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.MultiLanguageProperty` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return multi_language_property_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def multi_language_property_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.MultiLanguageProperty: + """ + Read an instance of :py:class:`.types.MultiLanguageProperty` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.multi_language_property_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.MultiLanguageProperty` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.MultiLanguageProperty` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return multi_language_property_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def range_from_iterparse(iterator: Iterator[Tuple[str, Element]]) -> our_types.Range: + """ + Read an instance of :py:class:`.types.Range` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.range_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Range` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse(iterator, _read_range_as_element, "Range") + + +def range_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Range: + """ + Read an instance of :py:class:`.types.Range` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.range_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Range` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Range` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return range_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def range_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Range: + """ + Read an instance of :py:class:`.types.Range` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.range_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Range` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Range` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return range_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def range_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Range: + """ + Read an instance of :py:class:`.types.Range` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.range_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Range` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Range` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return range_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def reference_element_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.ReferenceElement: + """ + Read an instance of :py:class:`.types.ReferenceElement` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.reference_element_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ReferenceElement` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_reference_element_as_element, "ReferenceElement" + ) + + +def reference_element_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ReferenceElement: + """ + Read an instance of :py:class:`.types.ReferenceElement` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.reference_element_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.ReferenceElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ReferenceElement` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return reference_element_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def reference_element_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ReferenceElement: + """ + Read an instance of :py:class:`.types.ReferenceElement` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.reference_element_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.ReferenceElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ReferenceElement` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return reference_element_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def reference_element_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ReferenceElement: + """ + Read an instance of :py:class:`.types.ReferenceElement` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.reference_element_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.ReferenceElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ReferenceElement` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return reference_element_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def blob_from_iterparse(iterator: Iterator[Tuple[str, Element]]) -> our_types.Blob: + """ + Read an instance of :py:class:`.types.Blob` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.blob_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Blob` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse(iterator, _read_blob_as_element, "Blob") + + +def blob_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Blob: + """ + Read an instance of :py:class:`.types.Blob` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.blob_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Blob` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Blob` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return blob_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def blob_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Blob: + """ + Read an instance of :py:class:`.types.Blob` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.blob_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Blob` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Blob` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return blob_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def blob_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Blob: + """ + Read an instance of :py:class:`.types.Blob` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.blob_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Blob` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Blob` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return blob_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def file_from_iterparse(iterator: Iterator[Tuple[str, Element]]) -> our_types.File: + """ + Read an instance of :py:class:`.types.File` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.file_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.File` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse(iterator, _read_file_as_element, "File") + + +def file_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.File: + """ + Read an instance of :py:class:`.types.File` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.file_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.File` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.File` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return file_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def file_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.File: + """ + Read an instance of :py:class:`.types.File` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.file_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.File` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.File` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return file_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def file_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.File: + """ + Read an instance of :py:class:`.types.File` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.file_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.File` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.File` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return file_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def annotated_relationship_element_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.AnnotatedRelationshipElement: + """ + Read an instance of :py:class:`.types.AnnotatedRelationshipElement` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.annotated_relationship_element_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AnnotatedRelationshipElement` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_annotated_relationship_element_as_element, + "AnnotatedRelationshipElement", + ) + + +def annotated_relationship_element_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AnnotatedRelationshipElement: + """ + Read an instance of :py:class:`.types.AnnotatedRelationshipElement` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.annotated_relationship_element_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.AnnotatedRelationshipElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AnnotatedRelationshipElement` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return annotated_relationship_element_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def annotated_relationship_element_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AnnotatedRelationshipElement: + """ + Read an instance of :py:class:`.types.AnnotatedRelationshipElement` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.annotated_relationship_element_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.AnnotatedRelationshipElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AnnotatedRelationshipElement` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return annotated_relationship_element_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def annotated_relationship_element_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AnnotatedRelationshipElement: + """ + Read an instance of :py:class:`.types.AnnotatedRelationshipElement` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.annotated_relationship_element_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.AnnotatedRelationshipElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AnnotatedRelationshipElement` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return annotated_relationship_element_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def entity_from_iterparse(iterator: Iterator[Tuple[str, Element]]) -> our_types.Entity: + """ + Read an instance of :py:class:`.types.Entity` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.entity_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Entity` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse(iterator, _read_entity_as_element, "Entity") + + +def entity_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Entity: + """ + Read an instance of :py:class:`.types.Entity` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.entity_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Entity` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Entity` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return entity_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def entity_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Entity: + """ + Read an instance of :py:class:`.types.Entity` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.entity_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Entity` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Entity` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return entity_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def entity_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Entity: + """ + Read an instance of :py:class:`.types.Entity` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.entity_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Entity` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Entity` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return entity_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def event_payload_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.EventPayload: + """ + Read an instance of :py:class:`.types.EventPayload` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.event_payload_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EventPayload` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_event_payload_as_element, "EventPayload" + ) + + +def event_payload_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EventPayload: + """ + Read an instance of :py:class:`.types.EventPayload` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.event_payload_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.EventPayload` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EventPayload` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return event_payload_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def event_payload_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EventPayload: + """ + Read an instance of :py:class:`.types.EventPayload` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.event_payload_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.EventPayload` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EventPayload` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return event_payload_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def event_payload_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EventPayload: + """ + Read an instance of :py:class:`.types.EventPayload` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.event_payload_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.EventPayload` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EventPayload` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return event_payload_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def event_element_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.EventElement: + """ + Read an instance of :py:class:`.types.EventElement` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.event_element_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EventElement` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_event_element_as_element, "EventElement" + ) + + +def event_element_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EventElement: + """ + Read an instance of :py:class:`.types.EventElement` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.event_element_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.EventElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EventElement` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return event_element_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def event_element_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EventElement: + """ + Read an instance of :py:class:`.types.EventElement` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.event_element_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.EventElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EventElement` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return event_element_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def event_element_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EventElement: + """ + Read an instance of :py:class:`.types.EventElement` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.event_element_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.EventElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EventElement` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return event_element_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def basic_event_element_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.BasicEventElement: + """ + Read an instance of :py:class:`.types.BasicEventElement` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.basic_event_element_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BasicEventElement` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_basic_event_element_as_element, "BasicEventElement" + ) + + +def basic_event_element_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BasicEventElement: + """ + Read an instance of :py:class:`.types.BasicEventElement` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.basic_event_element_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.BasicEventElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BasicEventElement` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return basic_event_element_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def basic_event_element_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BasicEventElement: + """ + Read an instance of :py:class:`.types.BasicEventElement` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.basic_event_element_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.BasicEventElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BasicEventElement` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return basic_event_element_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def basic_event_element_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BasicEventElement: + """ + Read an instance of :py:class:`.types.BasicEventElement` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.basic_event_element_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.BasicEventElement` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BasicEventElement` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return basic_event_element_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.Operation: + """ + Read an instance of :py:class:`.types.Operation` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.operation_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Operation` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_operation_as_element, "Operation" + ) + + +def operation_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Operation: + """ + Read an instance of :py:class:`.types.Operation` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.operation_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Operation` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Operation` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return operation_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def operation_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Operation: + """ + Read an instance of :py:class:`.types.Operation` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.operation_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Operation` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Operation` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return operation_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def operation_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Operation: + """ + Read an instance of :py:class:`.types.Operation` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.operation_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Operation` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Operation` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return operation_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def operation_variable_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.OperationVariable: + """ + Read an instance of :py:class:`.types.OperationVariable` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.operation_variable_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationVariable` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_operation_variable_as_element, "OperationVariable" + ) + + +def operation_variable_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationVariable: + """ + Read an instance of :py:class:`.types.OperationVariable` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.operation_variable_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.OperationVariable` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationVariable` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return operation_variable_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_variable_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationVariable: + """ + Read an instance of :py:class:`.types.OperationVariable` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.operation_variable_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.OperationVariable` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationVariable` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return operation_variable_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_variable_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationVariable: + """ + Read an instance of :py:class:`.types.OperationVariable` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.operation_variable_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.OperationVariable` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationVariable` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return operation_variable_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def capability_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.Capability: + """ + Read an instance of :py:class:`.types.Capability` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.capability_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Capability` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_capability_as_element, "Capability" + ) + + +def capability_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Capability: + """ + Read an instance of :py:class:`.types.Capability` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.capability_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Capability` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Capability` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return capability_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def capability_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Capability: + """ + Read an instance of :py:class:`.types.Capability` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.capability_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Capability` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Capability` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return capability_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def capability_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Capability: + """ + Read an instance of :py:class:`.types.Capability` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.capability_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Capability` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Capability` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return capability_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def concept_description_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.ConceptDescription: + """ + Read an instance of :py:class:`.types.ConceptDescription` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.concept_description_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ConceptDescription` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_concept_description_as_element, "ConceptDescription" + ) + + +def concept_description_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ConceptDescription: + """ + Read an instance of :py:class:`.types.ConceptDescription` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.concept_description_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.ConceptDescription` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ConceptDescription` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return concept_description_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def concept_description_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ConceptDescription: + """ + Read an instance of :py:class:`.types.ConceptDescription` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.concept_description_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.ConceptDescription` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ConceptDescription` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return concept_description_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def concept_description_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ConceptDescription: + """ + Read an instance of :py:class:`.types.ConceptDescription` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.concept_description_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.ConceptDescription` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ConceptDescription` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return concept_description_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def reference_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.Reference: + """ + Read an instance of :py:class:`.types.Reference` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.reference_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Reference` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_reference_as_element, "Reference" + ) + + +def reference_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Reference: + """ + Read an instance of :py:class:`.types.Reference` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.reference_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Reference` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Reference` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return reference_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def reference_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Reference: + """ + Read an instance of :py:class:`.types.Reference` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.reference_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Reference` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Reference` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return reference_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def reference_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Reference: + """ + Read an instance of :py:class:`.types.Reference` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.reference_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Reference` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Reference` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return reference_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def key_from_iterparse(iterator: Iterator[Tuple[str, Element]]) -> our_types.Key: + """ + Read an instance of :py:class:`.types.Key` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.key_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Key` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse(iterator, _read_key_as_element, "Key") + + +def key_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Key: + """ + Read an instance of :py:class:`.types.Key` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.key_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Key` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Key` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return key_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def key_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Key: + """ + Read an instance of :py:class:`.types.Key` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.key_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Key` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Key` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return key_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def key_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Key: + """ + Read an instance of :py:class:`.types.Key` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.key_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Key` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Key` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return key_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def abstract_lang_string_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.AbstractLangString: + """ + Read an instance of :py:class:`.types.AbstractLangString` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.abstract_lang_string_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AbstractLangString` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_abstract_lang_string_as_element, "AbstractLangString" + ) + + +def abstract_lang_string_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AbstractLangString: + """ + Read an instance of :py:class:`.types.AbstractLangString` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.abstract_lang_string_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.AbstractLangString` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AbstractLangString` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return abstract_lang_string_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def abstract_lang_string_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AbstractLangString: + """ + Read an instance of :py:class:`.types.AbstractLangString` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.abstract_lang_string_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.AbstractLangString` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AbstractLangString` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return abstract_lang_string_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def abstract_lang_string_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AbstractLangString: + """ + Read an instance of :py:class:`.types.AbstractLangString` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.abstract_lang_string_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.AbstractLangString` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AbstractLangString` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return abstract_lang_string_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def lang_string_name_type_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.LangStringNameType: + """ + Read an instance of :py:class:`.types.LangStringNameType` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.lang_string_name_type_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringNameType` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_lang_string_name_type_as_element, "LangStringNameType" + ) + + +def lang_string_name_type_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LangStringNameType: + """ + Read an instance of :py:class:`.types.LangStringNameType` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.lang_string_name_type_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.LangStringNameType` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringNameType` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return lang_string_name_type_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def lang_string_name_type_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LangStringNameType: + """ + Read an instance of :py:class:`.types.LangStringNameType` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.lang_string_name_type_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.LangStringNameType` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringNameType` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return lang_string_name_type_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def lang_string_name_type_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LangStringNameType: + """ + Read an instance of :py:class:`.types.LangStringNameType` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.lang_string_name_type_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.LangStringNameType` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringNameType` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return lang_string_name_type_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def lang_string_text_type_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.LangStringTextType: + """ + Read an instance of :py:class:`.types.LangStringTextType` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.lang_string_text_type_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringTextType` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_lang_string_text_type_as_element, "LangStringTextType" + ) + + +def lang_string_text_type_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LangStringTextType: + """ + Read an instance of :py:class:`.types.LangStringTextType` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.lang_string_text_type_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.LangStringTextType` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringTextType` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return lang_string_text_type_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def lang_string_text_type_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LangStringTextType: + """ + Read an instance of :py:class:`.types.LangStringTextType` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.lang_string_text_type_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.LangStringTextType` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringTextType` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return lang_string_text_type_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def lang_string_text_type_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LangStringTextType: + """ + Read an instance of :py:class:`.types.LangStringTextType` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.lang_string_text_type_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.LangStringTextType` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringTextType` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return lang_string_text_type_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def environment_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.Environment: + """ + Read an instance of :py:class:`.types.Environment` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.environment_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Environment` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_environment_as_element, "Environment" + ) + + +def environment_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Environment: + """ + Read an instance of :py:class:`.types.Environment` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.environment_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Environment` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Environment` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return environment_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def environment_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Environment: + """ + Read an instance of :py:class:`.types.Environment` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.environment_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Environment` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Environment` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return environment_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def environment_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Environment: + """ + Read an instance of :py:class:`.types.Environment` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.environment_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Environment` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Environment` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return environment_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def data_specification_content_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.DataSpecificationContent: + """ + Read an instance of :py:class:`.types.DataSpecificationContent` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.data_specification_content_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DataSpecificationContent` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_data_specification_content_as_element, + "DataSpecificationContent", + ) + + +def data_specification_content_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DataSpecificationContent: + """ + Read an instance of :py:class:`.types.DataSpecificationContent` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.data_specification_content_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.DataSpecificationContent` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DataSpecificationContent` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return data_specification_content_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def data_specification_content_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DataSpecificationContent: + """ + Read an instance of :py:class:`.types.DataSpecificationContent` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.data_specification_content_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.DataSpecificationContent` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DataSpecificationContent` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return data_specification_content_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def data_specification_content_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DataSpecificationContent: + """ + Read an instance of :py:class:`.types.DataSpecificationContent` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.data_specification_content_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.DataSpecificationContent` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DataSpecificationContent` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return data_specification_content_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def embedded_data_specification_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.EmbeddedDataSpecification: + """ + Read an instance of :py:class:`.types.EmbeddedDataSpecification` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.embedded_data_specification_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EmbeddedDataSpecification` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_embedded_data_specification_as_element, + "EmbeddedDataSpecification", + ) + + +def embedded_data_specification_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EmbeddedDataSpecification: + """ + Read an instance of :py:class:`.types.EmbeddedDataSpecification` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.embedded_data_specification_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.EmbeddedDataSpecification` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EmbeddedDataSpecification` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return embedded_data_specification_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def embedded_data_specification_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EmbeddedDataSpecification: + """ + Read an instance of :py:class:`.types.EmbeddedDataSpecification` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.embedded_data_specification_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.EmbeddedDataSpecification` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EmbeddedDataSpecification` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return embedded_data_specification_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def embedded_data_specification_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EmbeddedDataSpecification: + """ + Read an instance of :py:class:`.types.EmbeddedDataSpecification` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.embedded_data_specification_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.EmbeddedDataSpecification` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EmbeddedDataSpecification` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return embedded_data_specification_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def level_type_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.LevelType: + """ + Read an instance of :py:class:`.types.LevelType` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.level_type_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LevelType` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_level_type_as_element, "LevelType" + ) + + +def level_type_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LevelType: + """ + Read an instance of :py:class:`.types.LevelType` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.level_type_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.LevelType` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LevelType` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return level_type_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def level_type_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LevelType: + """ + Read an instance of :py:class:`.types.LevelType` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.level_type_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.LevelType` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LevelType` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return level_type_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def level_type_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LevelType: + """ + Read an instance of :py:class:`.types.LevelType` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.level_type_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.LevelType` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LevelType` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return level_type_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def value_reference_pair_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.ValueReferencePair: + """ + Read an instance of :py:class:`.types.ValueReferencePair` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.value_reference_pair_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ValueReferencePair` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_value_reference_pair_as_element, "ValueReferencePair" + ) + + +def value_reference_pair_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ValueReferencePair: + """ + Read an instance of :py:class:`.types.ValueReferencePair` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.value_reference_pair_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.ValueReferencePair` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ValueReferencePair` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return value_reference_pair_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def value_reference_pair_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ValueReferencePair: + """ + Read an instance of :py:class:`.types.ValueReferencePair` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.value_reference_pair_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.ValueReferencePair` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ValueReferencePair` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return value_reference_pair_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def value_reference_pair_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ValueReferencePair: + """ + Read an instance of :py:class:`.types.ValueReferencePair` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.value_reference_pair_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.ValueReferencePair` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ValueReferencePair` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return value_reference_pair_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def value_list_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.ValueList: + """ + Read an instance of :py:class:`.types.ValueList` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.value_list_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ValueList` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_value_list_as_element, "ValueList" + ) + + +def value_list_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ValueList: + """ + Read an instance of :py:class:`.types.ValueList` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.value_list_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.ValueList` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ValueList` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return value_list_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def value_list_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ValueList: + """ + Read an instance of :py:class:`.types.ValueList` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.value_list_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.ValueList` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ValueList` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return value_list_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def value_list_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ValueList: + """ + Read an instance of :py:class:`.types.ValueList` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.value_list_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.ValueList` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ValueList` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return value_list_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def lang_string_preferred_name_type_iec_61360_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.LangStringPreferredNameTypeIEC61360: + """ + Read an instance of :py:class:`.types.LangStringPreferredNameTypeIEC61360` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.lang_string_preferred_name_type_iec_61360_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringPreferredNameTypeIEC61360` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_lang_string_preferred_name_type_iec_61360_as_element, + "LangStringPreferredNameTypeIEC61360", + ) + + +def lang_string_preferred_name_type_iec_61360_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LangStringPreferredNameTypeIEC61360: + """ + Read an instance of :py:class:`.types.LangStringPreferredNameTypeIEC61360` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.lang_string_preferred_name_type_iec_61360_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.LangStringPreferredNameTypeIEC61360` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringPreferredNameTypeIEC61360` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return lang_string_preferred_name_type_iec_61360_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def lang_string_preferred_name_type_iec_61360_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LangStringPreferredNameTypeIEC61360: + """ + Read an instance of :py:class:`.types.LangStringPreferredNameTypeIEC61360` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.lang_string_preferred_name_type_iec_61360_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.LangStringPreferredNameTypeIEC61360` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringPreferredNameTypeIEC61360` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return lang_string_preferred_name_type_iec_61360_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def lang_string_preferred_name_type_iec_61360_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LangStringPreferredNameTypeIEC61360: + """ + Read an instance of :py:class:`.types.LangStringPreferredNameTypeIEC61360` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.lang_string_preferred_name_type_iec_61360_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.LangStringPreferredNameTypeIEC61360` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringPreferredNameTypeIEC61360` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return lang_string_preferred_name_type_iec_61360_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def lang_string_short_name_type_iec_61360_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.LangStringShortNameTypeIEC61360: + """ + Read an instance of :py:class:`.types.LangStringShortNameTypeIEC61360` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.lang_string_short_name_type_iec_61360_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringShortNameTypeIEC61360` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_lang_string_short_name_type_iec_61360_as_element, + "LangStringShortNameTypeIEC61360", + ) + + +def lang_string_short_name_type_iec_61360_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LangStringShortNameTypeIEC61360: + """ + Read an instance of :py:class:`.types.LangStringShortNameTypeIEC61360` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.lang_string_short_name_type_iec_61360_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.LangStringShortNameTypeIEC61360` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringShortNameTypeIEC61360` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return lang_string_short_name_type_iec_61360_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def lang_string_short_name_type_iec_61360_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LangStringShortNameTypeIEC61360: + """ + Read an instance of :py:class:`.types.LangStringShortNameTypeIEC61360` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.lang_string_short_name_type_iec_61360_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.LangStringShortNameTypeIEC61360` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringShortNameTypeIEC61360` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return lang_string_short_name_type_iec_61360_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def lang_string_short_name_type_iec_61360_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LangStringShortNameTypeIEC61360: + """ + Read an instance of :py:class:`.types.LangStringShortNameTypeIEC61360` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.lang_string_short_name_type_iec_61360_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.LangStringShortNameTypeIEC61360` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringShortNameTypeIEC61360` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return lang_string_short_name_type_iec_61360_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def lang_string_definition_type_iec_61360_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.LangStringDefinitionTypeIEC61360: + """ + Read an instance of :py:class:`.types.LangStringDefinitionTypeIEC61360` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.lang_string_definition_type_iec_61360_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringDefinitionTypeIEC61360` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_lang_string_definition_type_iec_61360_as_element, + "LangStringDefinitionTypeIEC61360", + ) + + +def lang_string_definition_type_iec_61360_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LangStringDefinitionTypeIEC61360: + """ + Read an instance of :py:class:`.types.LangStringDefinitionTypeIEC61360` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.lang_string_definition_type_iec_61360_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.LangStringDefinitionTypeIEC61360` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringDefinitionTypeIEC61360` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return lang_string_definition_type_iec_61360_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def lang_string_definition_type_iec_61360_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LangStringDefinitionTypeIEC61360: + """ + Read an instance of :py:class:`.types.LangStringDefinitionTypeIEC61360` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.lang_string_definition_type_iec_61360_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.LangStringDefinitionTypeIEC61360` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringDefinitionTypeIEC61360` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return lang_string_definition_type_iec_61360_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def lang_string_definition_type_iec_61360_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LangStringDefinitionTypeIEC61360: + """ + Read an instance of :py:class:`.types.LangStringDefinitionTypeIEC61360` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.lang_string_definition_type_iec_61360_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.LangStringDefinitionTypeIEC61360` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringDefinitionTypeIEC61360` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return lang_string_definition_type_iec_61360_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def lang_string_uom_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.LangStringUom: + """ + Read an instance of :py:class:`.types.LangStringUom` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.lang_string_uom_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringUom` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_lang_string_uom_as_element, "LangStringUom" + ) + + +def lang_string_uom_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LangStringUom: + """ + Read an instance of :py:class:`.types.LangStringUom` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.lang_string_uom_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.LangStringUom` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringUom` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return lang_string_uom_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def lang_string_uom_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LangStringUom: + """ + Read an instance of :py:class:`.types.LangStringUom` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.lang_string_uom_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.LangStringUom` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringUom` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return lang_string_uom_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def lang_string_uom_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LangStringUom: + """ + Read an instance of :py:class:`.types.LangStringUom` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.lang_string_uom_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.LangStringUom` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LangStringUom` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return lang_string_uom_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def definition_type_uom_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.DefinitionTypeUom: + """ + Read an instance of :py:class:`.types.DefinitionTypeUom` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.definition_type_uom_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DefinitionTypeUom` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_definition_type_uom_as_element, "DefinitionTypeUom" + ) + + +def definition_type_uom_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DefinitionTypeUom: + """ + Read an instance of :py:class:`.types.DefinitionTypeUom` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.definition_type_uom_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.DefinitionTypeUom` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DefinitionTypeUom` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return definition_type_uom_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def definition_type_uom_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DefinitionTypeUom: + """ + Read an instance of :py:class:`.types.DefinitionTypeUom` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.definition_type_uom_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.DefinitionTypeUom` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DefinitionTypeUom` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return definition_type_uom_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def definition_type_uom_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DefinitionTypeUom: + """ + Read an instance of :py:class:`.types.DefinitionTypeUom` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.definition_type_uom_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.DefinitionTypeUom` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DefinitionTypeUom` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return definition_type_uom_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def data_specification_uom_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.DataSpecificationUom: + """ + Read an instance of :py:class:`.types.DataSpecificationUom` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.data_specification_uom_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DataSpecificationUom` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_data_specification_uom_as_element, "DataSpecificationUom" + ) + + +def data_specification_uom_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DataSpecificationUom: + """ + Read an instance of :py:class:`.types.DataSpecificationUom` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.data_specification_uom_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.DataSpecificationUom` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DataSpecificationUom` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return data_specification_uom_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def data_specification_uom_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DataSpecificationUom: + """ + Read an instance of :py:class:`.types.DataSpecificationUom` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.data_specification_uom_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.DataSpecificationUom` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DataSpecificationUom` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return data_specification_uom_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def data_specification_uom_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DataSpecificationUom: + """ + Read an instance of :py:class:`.types.DataSpecificationUom` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.data_specification_uom_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.DataSpecificationUom` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DataSpecificationUom` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return data_specification_uom_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def data_specification_iec_61360_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.DataSpecificationIEC61360: + """ + Read an instance of :py:class:`.types.DataSpecificationIEC61360` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.data_specification_iec_61360_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DataSpecificationIEC61360` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_data_specification_iec_61360_as_element, + "DataSpecificationIEC61360", + ) + + +def data_specification_iec_61360_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DataSpecificationIEC61360: + """ + Read an instance of :py:class:`.types.DataSpecificationIEC61360` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.data_specification_iec_61360_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.DataSpecificationIEC61360` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DataSpecificationIEC61360` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return data_specification_iec_61360_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def data_specification_iec_61360_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DataSpecificationIEC61360: + """ + Read an instance of :py:class:`.types.DataSpecificationIEC61360` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.data_specification_iec_61360_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.DataSpecificationIEC61360` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DataSpecificationIEC61360` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return data_specification_iec_61360_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def data_specification_iec_61360_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DataSpecificationIEC61360: + """ + Read an instance of :py:class:`.types.DataSpecificationIEC61360` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.data_specification_iec_61360_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.DataSpecificationIEC61360` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DataSpecificationIEC61360` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return data_specification_iec_61360_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def descriptor_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.Descriptor: + """ + Read an instance of :py:class:`.types.Descriptor` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.descriptor_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Descriptor` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_descriptor_as_element, "Descriptor" + ) + + +def descriptor_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Descriptor: + """ + Read an instance of :py:class:`.types.Descriptor` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.descriptor_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Descriptor` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Descriptor` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return descriptor_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def descriptor_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Descriptor: + """ + Read an instance of :py:class:`.types.Descriptor` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.descriptor_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Descriptor` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Descriptor` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return descriptor_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def descriptor_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Descriptor: + """ + Read an instance of :py:class:`.types.Descriptor` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.descriptor_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Descriptor` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Descriptor` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return descriptor_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def asset_administration_shell_descriptor_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.AssetAdministrationShellDescriptor: + """ + Read an instance of :py:class:`.types.AssetAdministrationShellDescriptor` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.asset_administration_shell_descriptor_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetAdministrationShellDescriptor` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_asset_administration_shell_descriptor_as_element, + "AssetAdministrationShellDescriptor", + ) + + +def asset_administration_shell_descriptor_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AssetAdministrationShellDescriptor: + """ + Read an instance of :py:class:`.types.AssetAdministrationShellDescriptor` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.asset_administration_shell_descriptor_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.AssetAdministrationShellDescriptor` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetAdministrationShellDescriptor` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return asset_administration_shell_descriptor_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def asset_administration_shell_descriptor_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AssetAdministrationShellDescriptor: + """ + Read an instance of :py:class:`.types.AssetAdministrationShellDescriptor` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.asset_administration_shell_descriptor_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.AssetAdministrationShellDescriptor` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetAdministrationShellDescriptor` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return asset_administration_shell_descriptor_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def asset_administration_shell_descriptor_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AssetAdministrationShellDescriptor: + """ + Read an instance of :py:class:`.types.AssetAdministrationShellDescriptor` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.asset_administration_shell_descriptor_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.AssetAdministrationShellDescriptor` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetAdministrationShellDescriptor` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return asset_administration_shell_descriptor_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_descriptor_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.SubmodelDescriptor: + """ + Read an instance of :py:class:`.types.SubmodelDescriptor` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.submodel_descriptor_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelDescriptor` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_submodel_descriptor_as_element, "SubmodelDescriptor" + ) + + +def submodel_descriptor_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelDescriptor: + """ + Read an instance of :py:class:`.types.SubmodelDescriptor` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.submodel_descriptor_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.SubmodelDescriptor` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelDescriptor` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return submodel_descriptor_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_descriptor_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelDescriptor: + """ + Read an instance of :py:class:`.types.SubmodelDescriptor` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.submodel_descriptor_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.SubmodelDescriptor` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelDescriptor` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return submodel_descriptor_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_descriptor_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelDescriptor: + """ + Read an instance of :py:class:`.types.SubmodelDescriptor` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.submodel_descriptor_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.SubmodelDescriptor` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelDescriptor` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return submodel_descriptor_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def endpoint_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.Endpoint: + """ + Read an instance of :py:class:`.types.Endpoint` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.endpoint_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Endpoint` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_endpoint_as_element, "Endpoint" + ) + + +def endpoint_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Endpoint: + """ + Read an instance of :py:class:`.types.Endpoint` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.endpoint_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Endpoint` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Endpoint` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return endpoint_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def endpoint_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Endpoint: + """ + Read an instance of :py:class:`.types.Endpoint` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.endpoint_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Endpoint` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Endpoint` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return endpoint_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def endpoint_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Endpoint: + """ + Read an instance of :py:class:`.types.Endpoint` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.endpoint_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Endpoint` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Endpoint` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return endpoint_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def protocol_information_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.ProtocolInformation: + """ + Read an instance of :py:class:`.types.ProtocolInformation` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.protocol_information_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ProtocolInformation` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_protocol_information_as_element, "ProtocolInformation" + ) + + +def protocol_information_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ProtocolInformation: + """ + Read an instance of :py:class:`.types.ProtocolInformation` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.protocol_information_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.ProtocolInformation` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ProtocolInformation` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return protocol_information_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def protocol_information_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ProtocolInformation: + """ + Read an instance of :py:class:`.types.ProtocolInformation` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.protocol_information_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.ProtocolInformation` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ProtocolInformation` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return protocol_information_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def protocol_information_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ProtocolInformation: + """ + Read an instance of :py:class:`.types.ProtocolInformation` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.protocol_information_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.ProtocolInformation` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ProtocolInformation` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return protocol_information_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def security_attribute_object_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.SecurityAttributeObject: + """ + Read an instance of :py:class:`.types.SecurityAttributeObject` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.security_attribute_object_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SecurityAttributeObject` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_security_attribute_object_as_element, "SecurityAttributeObject" + ) + + +def security_attribute_object_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SecurityAttributeObject: + """ + Read an instance of :py:class:`.types.SecurityAttributeObject` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.security_attribute_object_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.SecurityAttributeObject` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SecurityAttributeObject` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return security_attribute_object_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def security_attribute_object_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SecurityAttributeObject: + """ + Read an instance of :py:class:`.types.SecurityAttributeObject` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.security_attribute_object_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.SecurityAttributeObject` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SecurityAttributeObject` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return security_attribute_object_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def security_attribute_object_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SecurityAttributeObject: + """ + Read an instance of :py:class:`.types.SecurityAttributeObject` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.security_attribute_object_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.SecurityAttributeObject` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SecurityAttributeObject` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return security_attribute_object_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def asset_link_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.AssetLink: + """ + Read an instance of :py:class:`.types.AssetLink` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.asset_link_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetLink` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_asset_link_as_element, "AssetLink" + ) + + +def asset_link_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AssetLink: + """ + Read an instance of :py:class:`.types.AssetLink` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.asset_link_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.AssetLink` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetLink` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return asset_link_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def asset_link_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AssetLink: + """ + Read an instance of :py:class:`.types.AssetLink` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.asset_link_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.AssetLink` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetLink` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return asset_link_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def asset_link_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AssetLink: + """ + Read an instance of :py:class:`.types.AssetLink` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.asset_link_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.AssetLink` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetLink` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return asset_link_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def service_description_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.ServiceDescription: + """ + Read an instance of :py:class:`.types.ServiceDescription` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.service_description_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ServiceDescription` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_service_description_as_element, "ServiceDescription" + ) + + +def service_description_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ServiceDescription: + """ + Read an instance of :py:class:`.types.ServiceDescription` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.service_description_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.ServiceDescription` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ServiceDescription` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return service_description_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def service_description_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ServiceDescription: + """ + Read an instance of :py:class:`.types.ServiceDescription` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.service_description_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.ServiceDescription` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ServiceDescription` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return service_description_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def service_description_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ServiceDescription: + """ + Read an instance of :py:class:`.types.ServiceDescription` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.service_description_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.ServiceDescription` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ServiceDescription` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return service_description_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def recent_change_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.RecentChange: + """ + Read an instance of :py:class:`.types.RecentChange` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.recent_change_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RecentChange` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_recent_change_as_element, "RecentChange" + ) + + +def recent_change_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RecentChange: + """ + Read an instance of :py:class:`.types.RecentChange` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.recent_change_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.RecentChange` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RecentChange` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return recent_change_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def recent_change_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RecentChange: + """ + Read an instance of :py:class:`.types.RecentChange` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.recent_change_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.RecentChange` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RecentChange` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return recent_change_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def recent_change_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RecentChange: + """ + Read an instance of :py:class:`.types.RecentChange` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.recent_change_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.RecentChange` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RecentChange` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return recent_change_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def asset_administration_shell_recent_change_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.AssetAdministrationShellRecentChange: + """ + Read an instance of :py:class:`.types.AssetAdministrationShellRecentChange` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.asset_administration_shell_recent_change_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetAdministrationShellRecentChange` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_asset_administration_shell_recent_change_as_element, + "AssetAdministrationShellRecentChange", + ) + + +def asset_administration_shell_recent_change_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AssetAdministrationShellRecentChange: + """ + Read an instance of :py:class:`.types.AssetAdministrationShellRecentChange` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.asset_administration_shell_recent_change_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.AssetAdministrationShellRecentChange` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetAdministrationShellRecentChange` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return asset_administration_shell_recent_change_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def asset_administration_shell_recent_change_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AssetAdministrationShellRecentChange: + """ + Read an instance of :py:class:`.types.AssetAdministrationShellRecentChange` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.asset_administration_shell_recent_change_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.AssetAdministrationShellRecentChange` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetAdministrationShellRecentChange` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return asset_administration_shell_recent_change_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def asset_administration_shell_recent_change_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AssetAdministrationShellRecentChange: + """ + Read an instance of :py:class:`.types.AssetAdministrationShellRecentChange` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.asset_administration_shell_recent_change_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.AssetAdministrationShellRecentChange` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetAdministrationShellRecentChange` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return asset_administration_shell_recent_change_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def concept_description_recent_change_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.ConceptDescriptionRecentChange: + """ + Read an instance of :py:class:`.types.ConceptDescriptionRecentChange` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.concept_description_recent_change_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ConceptDescriptionRecentChange` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_concept_description_recent_change_as_element, + "ConceptDescriptionRecentChange", + ) + + +def concept_description_recent_change_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ConceptDescriptionRecentChange: + """ + Read an instance of :py:class:`.types.ConceptDescriptionRecentChange` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.concept_description_recent_change_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.ConceptDescriptionRecentChange` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ConceptDescriptionRecentChange` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return concept_description_recent_change_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def concept_description_recent_change_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ConceptDescriptionRecentChange: + """ + Read an instance of :py:class:`.types.ConceptDescriptionRecentChange` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.concept_description_recent_change_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.ConceptDescriptionRecentChange` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ConceptDescriptionRecentChange` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return concept_description_recent_change_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def concept_description_recent_change_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ConceptDescriptionRecentChange: + """ + Read an instance of :py:class:`.types.ConceptDescriptionRecentChange` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.concept_description_recent_change_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.ConceptDescriptionRecentChange` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ConceptDescriptionRecentChange` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return concept_description_recent_change_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_recent_change_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.SubmodelRecentChange: + """ + Read an instance of :py:class:`.types.SubmodelRecentChange` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.submodel_recent_change_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelRecentChange` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_submodel_recent_change_as_element, "SubmodelRecentChange" + ) + + +def submodel_recent_change_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelRecentChange: + """ + Read an instance of :py:class:`.types.SubmodelRecentChange` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.submodel_recent_change_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.SubmodelRecentChange` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelRecentChange` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return submodel_recent_change_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_recent_change_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelRecentChange: + """ + Read an instance of :py:class:`.types.SubmodelRecentChange` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.submodel_recent_change_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.SubmodelRecentChange` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelRecentChange` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return submodel_recent_change_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_recent_change_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelRecentChange: + """ + Read an instance of :py:class:`.types.SubmodelRecentChange` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.submodel_recent_change_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.SubmodelRecentChange` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelRecentChange` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return submodel_recent_change_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def result_from_iterparse(iterator: Iterator[Tuple[str, Element]]) -> our_types.Result: + """ + Read an instance of :py:class:`.types.Result` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Result` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse(iterator, _read_result_as_element, "Result") + + +def result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Result: + """ + Read an instance of :py:class:`.types.Result` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Result` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Result` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return result_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Result: + """ + Read an instance of :py:class:`.types.Result` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Result` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Result` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return result_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Result: + """ + Read an instance of :py:class:`.types.Result` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Result` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Result` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return result_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def message_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.Message: + """ + Read an instance of :py:class:`.types.Message` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.message_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Message` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse(iterator, _read_message_as_element, "Message") + + +def message_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Message: + """ + Read an instance of :py:class:`.types.Message` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.message_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Message` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Message` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return message_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def message_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Message: + """ + Read an instance of :py:class:`.types.Message` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.message_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Message` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Message` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return message_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def message_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Message: + """ + Read an instance of :py:class:`.types.Message` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.message_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Message` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Message` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return message_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def operation_request_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.OperationRequest: + """ + Read an instance of :py:class:`.types.OperationRequest` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.operation_request_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationRequest` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_operation_request_as_element, "OperationRequest" + ) + + +def operation_request_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationRequest: + """ + Read an instance of :py:class:`.types.OperationRequest` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.operation_request_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.OperationRequest` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationRequest` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return operation_request_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_request_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationRequest: + """ + Read an instance of :py:class:`.types.OperationRequest` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.operation_request_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.OperationRequest` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationRequest` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return operation_request_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_request_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationRequest: + """ + Read an instance of :py:class:`.types.OperationRequest` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.operation_request_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.OperationRequest` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationRequest` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return operation_request_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_request_async_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.OperationRequestAsync: + """ + Read an instance of :py:class:`.types.OperationRequestAsync` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.operation_request_async_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationRequestAsync` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_operation_request_async_as_element, "OperationRequestAsync" + ) + + +def operation_request_async_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationRequestAsync: + """ + Read an instance of :py:class:`.types.OperationRequestAsync` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.operation_request_async_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.OperationRequestAsync` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationRequestAsync` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return operation_request_async_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_request_async_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationRequestAsync: + """ + Read an instance of :py:class:`.types.OperationRequestAsync` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.operation_request_async_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.OperationRequestAsync` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationRequestAsync` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return operation_request_async_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_request_async_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationRequestAsync: + """ + Read an instance of :py:class:`.types.OperationRequestAsync` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.operation_request_async_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.OperationRequestAsync` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationRequestAsync` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return operation_request_async_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_request_value_only_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.OperationRequestValueOnly: + """ + Read an instance of :py:class:`.types.OperationRequestValueOnly` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.operation_request_value_only_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationRequestValueOnly` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_operation_request_value_only_as_element, + "OperationRequestValueOnly", + ) + + +def operation_request_value_only_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationRequestValueOnly: + """ + Read an instance of :py:class:`.types.OperationRequestValueOnly` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.operation_request_value_only_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.OperationRequestValueOnly` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationRequestValueOnly` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return operation_request_value_only_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_request_value_only_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationRequestValueOnly: + """ + Read an instance of :py:class:`.types.OperationRequestValueOnly` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.operation_request_value_only_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.OperationRequestValueOnly` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationRequestValueOnly` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return operation_request_value_only_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_request_value_only_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationRequestValueOnly: + """ + Read an instance of :py:class:`.types.OperationRequestValueOnly` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.operation_request_value_only_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.OperationRequestValueOnly` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationRequestValueOnly` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return operation_request_value_only_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_request_async_value_only_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.OperationRequestAsyncValueOnly: + """ + Read an instance of :py:class:`.types.OperationRequestAsyncValueOnly` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.operation_request_async_value_only_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationRequestAsyncValueOnly` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_operation_request_async_value_only_as_element, + "OperationRequestAsyncValueOnly", + ) + + +def operation_request_async_value_only_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationRequestAsyncValueOnly: + """ + Read an instance of :py:class:`.types.OperationRequestAsyncValueOnly` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.operation_request_async_value_only_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.OperationRequestAsyncValueOnly` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationRequestAsyncValueOnly` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return operation_request_async_value_only_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_request_async_value_only_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationRequestAsyncValueOnly: + """ + Read an instance of :py:class:`.types.OperationRequestAsyncValueOnly` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.operation_request_async_value_only_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.OperationRequestAsyncValueOnly` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationRequestAsyncValueOnly` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return operation_request_async_value_only_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_request_async_value_only_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationRequestAsyncValueOnly: + """ + Read an instance of :py:class:`.types.OperationRequestAsyncValueOnly` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.operation_request_async_value_only_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.OperationRequestAsyncValueOnly` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationRequestAsyncValueOnly` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return operation_request_async_value_only_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def base_operation_result_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.BaseOperationResult: + """ + Read an instance of :py:class:`.types.BaseOperationResult` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.base_operation_result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BaseOperationResult` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_base_operation_result_as_element, "BaseOperationResult" + ) + + +def base_operation_result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BaseOperationResult: + """ + Read an instance of :py:class:`.types.BaseOperationResult` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.base_operation_result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.BaseOperationResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BaseOperationResult` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return base_operation_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def base_operation_result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BaseOperationResult: + """ + Read an instance of :py:class:`.types.BaseOperationResult` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.base_operation_result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.BaseOperationResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BaseOperationResult` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return base_operation_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def base_operation_result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BaseOperationResult: + """ + Read an instance of :py:class:`.types.BaseOperationResult` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.base_operation_result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.BaseOperationResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BaseOperationResult` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return base_operation_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_result_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.OperationResult: + """ + Read an instance of :py:class:`.types.OperationResult` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.operation_result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationResult` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_operation_result_as_element, "OperationResult" + ) + + +def operation_result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationResult: + """ + Read an instance of :py:class:`.types.OperationResult` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.operation_result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.OperationResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationResult` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return operation_result_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def operation_result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationResult: + """ + Read an instance of :py:class:`.types.OperationResult` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.operation_result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.OperationResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationResult` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return operation_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationResult: + """ + Read an instance of :py:class:`.types.OperationResult` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.operation_result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.OperationResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationResult` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return operation_result_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def operation_result_value_only_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.OperationResultValueOnly: + """ + Read an instance of :py:class:`.types.OperationResultValueOnly` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.operation_result_value_only_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationResultValueOnly` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_operation_result_value_only_as_element, + "OperationResultValueOnly", + ) + + +def operation_result_value_only_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationResultValueOnly: + """ + Read an instance of :py:class:`.types.OperationResultValueOnly` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.operation_result_value_only_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.OperationResultValueOnly` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationResultValueOnly` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return operation_result_value_only_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_result_value_only_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationResultValueOnly: + """ + Read an instance of :py:class:`.types.OperationResultValueOnly` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.operation_result_value_only_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.OperationResultValueOnly` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationResultValueOnly` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return operation_result_value_only_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_result_value_only_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationResultValueOnly: + """ + Read an instance of :py:class:`.types.OperationResultValueOnly` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.operation_result_value_only_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.OperationResultValueOnly` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationResultValueOnly` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return operation_result_value_only_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_handle_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.OperationHandle: + """ + Read an instance of :py:class:`.types.OperationHandle` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.operation_handle_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationHandle` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_operation_handle_as_element, "OperationHandle" + ) + + +def operation_handle_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationHandle: + """ + Read an instance of :py:class:`.types.OperationHandle` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.operation_handle_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.OperationHandle` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationHandle` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return operation_handle_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def operation_handle_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationHandle: + """ + Read an instance of :py:class:`.types.OperationHandle` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.operation_handle_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.OperationHandle` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationHandle` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return operation_handle_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_handle_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationHandle: + """ + Read an instance of :py:class:`.types.OperationHandle` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.operation_handle_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.OperationHandle` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationHandle` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return operation_handle_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def paged_result_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.PagedResult: + """ + Read an instance of :py:class:`.types.PagedResult` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.paged_result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.PagedResult` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_paged_result_as_element, "PagedResult" + ) + + +def paged_result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.PagedResult: + """ + Read an instance of :py:class:`.types.PagedResult` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.paged_result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.PagedResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.PagedResult` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return paged_result_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def paged_result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.PagedResult: + """ + Read an instance of :py:class:`.types.PagedResult` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.paged_result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.PagedResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.PagedResult` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return paged_result_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def paged_result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.PagedResult: + """ + Read an instance of :py:class:`.types.PagedResult` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.paged_result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.PagedResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.PagedResult` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return paged_result_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def paging_metadata_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.PagingMetadata: + """ + Read an instance of :py:class:`.types.PagingMetadata` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.paging_metadata_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.PagingMetadata` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_paging_metadata_as_element, "PagingMetadata" + ) + + +def paging_metadata_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.PagingMetadata: + """ + Read an instance of :py:class:`.types.PagingMetadata` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.paging_metadata_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.PagingMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.PagingMetadata` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return paging_metadata_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def paging_metadata_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.PagingMetadata: + """ + Read an instance of :py:class:`.types.PagingMetadata` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.paging_metadata_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.PagingMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.PagingMetadata` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return paging_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def paging_metadata_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.PagingMetadata: + """ + Read an instance of :py:class:`.types.PagingMetadata` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.paging_metadata_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.PagingMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.PagingMetadata` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return paging_metadata_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def package_description_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.PackageDescription: + """ + Read an instance of :py:class:`.types.PackageDescription` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.package_description_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.PackageDescription` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_package_description_as_element, "PackageDescription" + ) + + +def package_description_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.PackageDescription: + """ + Read an instance of :py:class:`.types.PackageDescription` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.package_description_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.PackageDescription` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.PackageDescription` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return package_description_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def package_description_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.PackageDescription: + """ + Read an instance of :py:class:`.types.PackageDescription` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.package_description_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.PackageDescription` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.PackageDescription` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return package_description_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def package_description_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.PackageDescription: + """ + Read an instance of :py:class:`.types.PackageDescription` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.package_description_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.PackageDescription` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.PackageDescription` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return package_description_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_element_attributes_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.SubmodelElementAttributes: + """ + Read an instance of :py:class:`.types.SubmodelElementAttributes` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.submodel_element_attributes_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementAttributes` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_submodel_element_attributes_as_element, + "SubmodelElementAttributes", + ) + + +def submodel_element_attributes_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElementAttributes: + """ + Read an instance of :py:class:`.types.SubmodelElementAttributes` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.submodel_element_attributes_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.SubmodelElementAttributes` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementAttributes` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return submodel_element_attributes_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_element_attributes_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElementAttributes: + """ + Read an instance of :py:class:`.types.SubmodelElementAttributes` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.submodel_element_attributes_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.SubmodelElementAttributes` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementAttributes` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return submodel_element_attributes_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_element_attributes_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElementAttributes: + """ + Read an instance of :py:class:`.types.SubmodelElementAttributes` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.submodel_element_attributes_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.SubmodelElementAttributes` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementAttributes` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return submodel_element_attributes_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_element_metadata_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.SubmodelElementMetadata: + """ + Read an instance of :py:class:`.types.SubmodelElementMetadata` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.submodel_element_metadata_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementMetadata` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_submodel_element_metadata_as_element, "SubmodelElementMetadata" + ) + + +def submodel_element_metadata_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElementMetadata: + """ + Read an instance of :py:class:`.types.SubmodelElementMetadata` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.submodel_element_metadata_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.SubmodelElementMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementMetadata` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return submodel_element_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_element_metadata_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElementMetadata: + """ + Read an instance of :py:class:`.types.SubmodelElementMetadata` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.submodel_element_metadata_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.SubmodelElementMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementMetadata` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return submodel_element_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_element_metadata_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElementMetadata: + """ + Read an instance of :py:class:`.types.SubmodelElementMetadata` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.submodel_element_metadata_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.SubmodelElementMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementMetadata` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return submodel_element_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def property_metadata_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.PropertyMetadata: + """ + Read an instance of :py:class:`.types.PropertyMetadata` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.property_metadata_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.PropertyMetadata` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_property_metadata_as_element, "PropertyMetadata" + ) + + +def property_metadata_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.PropertyMetadata: + """ + Read an instance of :py:class:`.types.PropertyMetadata` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.property_metadata_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.PropertyMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.PropertyMetadata` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return property_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def property_metadata_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.PropertyMetadata: + """ + Read an instance of :py:class:`.types.PropertyMetadata` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.property_metadata_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.PropertyMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.PropertyMetadata` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return property_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def property_metadata_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.PropertyMetadata: + """ + Read an instance of :py:class:`.types.PropertyMetadata` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.property_metadata_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.PropertyMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.PropertyMetadata` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return property_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def range_metadata_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.RangeMetadata: + """ + Read an instance of :py:class:`.types.RangeMetadata` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.range_metadata_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RangeMetadata` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_range_metadata_as_element, "RangeMetadata" + ) + + +def range_metadata_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RangeMetadata: + """ + Read an instance of :py:class:`.types.RangeMetadata` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.range_metadata_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.RangeMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RangeMetadata` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return range_metadata_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def range_metadata_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RangeMetadata: + """ + Read an instance of :py:class:`.types.RangeMetadata` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.range_metadata_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.RangeMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RangeMetadata` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return range_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def range_metadata_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RangeMetadata: + """ + Read an instance of :py:class:`.types.RangeMetadata` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.range_metadata_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.RangeMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RangeMetadata` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return range_metadata_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def blob_metadata_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.BlobMetadata: + """ + Read an instance of :py:class:`.types.BlobMetadata` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.blob_metadata_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BlobMetadata` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_blob_metadata_as_element, "BlobMetadata" + ) + + +def blob_metadata_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BlobMetadata: + """ + Read an instance of :py:class:`.types.BlobMetadata` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.blob_metadata_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.BlobMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BlobMetadata` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return blob_metadata_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def blob_metadata_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BlobMetadata: + """ + Read an instance of :py:class:`.types.BlobMetadata` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.blob_metadata_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.BlobMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BlobMetadata` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return blob_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def blob_metadata_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BlobMetadata: + """ + Read an instance of :py:class:`.types.BlobMetadata` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.blob_metadata_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.BlobMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BlobMetadata` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return blob_metadata_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def file_metadata_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.FileMetadata: + """ + Read an instance of :py:class:`.types.FileMetadata` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.file_metadata_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.FileMetadata` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_file_metadata_as_element, "FileMetadata" + ) + + +def file_metadata_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.FileMetadata: + """ + Read an instance of :py:class:`.types.FileMetadata` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.file_metadata_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.FileMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.FileMetadata` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return file_metadata_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def file_metadata_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.FileMetadata: + """ + Read an instance of :py:class:`.types.FileMetadata` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.file_metadata_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.FileMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.FileMetadata` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return file_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def file_metadata_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.FileMetadata: + """ + Read an instance of :py:class:`.types.FileMetadata` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.file_metadata_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.FileMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.FileMetadata` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return file_metadata_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def multi_language_property_metadata_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.MultiLanguagePropertyMetadata: + """ + Read an instance of :py:class:`.types.MultiLanguagePropertyMetadata` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.multi_language_property_metadata_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.MultiLanguagePropertyMetadata` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_multi_language_property_metadata_as_element, + "MultiLanguagePropertyMetadata", + ) + + +def multi_language_property_metadata_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.MultiLanguagePropertyMetadata: + """ + Read an instance of :py:class:`.types.MultiLanguagePropertyMetadata` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.multi_language_property_metadata_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.MultiLanguagePropertyMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.MultiLanguagePropertyMetadata` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return multi_language_property_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def multi_language_property_metadata_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.MultiLanguagePropertyMetadata: + """ + Read an instance of :py:class:`.types.MultiLanguagePropertyMetadata` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.multi_language_property_metadata_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.MultiLanguagePropertyMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.MultiLanguagePropertyMetadata` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return multi_language_property_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def multi_language_property_metadata_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.MultiLanguagePropertyMetadata: + """ + Read an instance of :py:class:`.types.MultiLanguagePropertyMetadata` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.multi_language_property_metadata_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.MultiLanguagePropertyMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.MultiLanguagePropertyMetadata` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return multi_language_property_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def reference_element_metadata_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.ReferenceElementMetadata: + """ + Read an instance of :py:class:`.types.ReferenceElementMetadata` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.reference_element_metadata_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ReferenceElementMetadata` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_reference_element_metadata_as_element, + "ReferenceElementMetadata", + ) + + +def reference_element_metadata_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ReferenceElementMetadata: + """ + Read an instance of :py:class:`.types.ReferenceElementMetadata` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.reference_element_metadata_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.ReferenceElementMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ReferenceElementMetadata` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return reference_element_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def reference_element_metadata_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ReferenceElementMetadata: + """ + Read an instance of :py:class:`.types.ReferenceElementMetadata` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.reference_element_metadata_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.ReferenceElementMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ReferenceElementMetadata` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return reference_element_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def reference_element_metadata_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ReferenceElementMetadata: + """ + Read an instance of :py:class:`.types.ReferenceElementMetadata` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.reference_element_metadata_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.ReferenceElementMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ReferenceElementMetadata` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return reference_element_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def relationship_element_metadata_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.RelationshipElementMetadata: + """ + Read an instance of :py:class:`.types.RelationshipElementMetadata` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.relationship_element_metadata_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RelationshipElementMetadata` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_relationship_element_metadata_as_element, + "RelationshipElementMetadata", + ) + + +def relationship_element_metadata_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RelationshipElementMetadata: + """ + Read an instance of :py:class:`.types.RelationshipElementMetadata` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.relationship_element_metadata_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.RelationshipElementMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RelationshipElementMetadata` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return relationship_element_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def relationship_element_metadata_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RelationshipElementMetadata: + """ + Read an instance of :py:class:`.types.RelationshipElementMetadata` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.relationship_element_metadata_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.RelationshipElementMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RelationshipElementMetadata` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return relationship_element_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def relationship_element_metadata_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RelationshipElementMetadata: + """ + Read an instance of :py:class:`.types.RelationshipElementMetadata` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.relationship_element_metadata_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.RelationshipElementMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RelationshipElementMetadata` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return relationship_element_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def annotated_relationship_element_metadata_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.AnnotatedRelationshipElementMetadata: + """ + Read an instance of :py:class:`.types.AnnotatedRelationshipElementMetadata` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.annotated_relationship_element_metadata_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AnnotatedRelationshipElementMetadata` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_annotated_relationship_element_metadata_as_element, + "AnnotatedRelationshipElementMetadata", + ) + + +def annotated_relationship_element_metadata_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AnnotatedRelationshipElementMetadata: + """ + Read an instance of :py:class:`.types.AnnotatedRelationshipElementMetadata` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.annotated_relationship_element_metadata_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.AnnotatedRelationshipElementMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AnnotatedRelationshipElementMetadata` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return annotated_relationship_element_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def annotated_relationship_element_metadata_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AnnotatedRelationshipElementMetadata: + """ + Read an instance of :py:class:`.types.AnnotatedRelationshipElementMetadata` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.annotated_relationship_element_metadata_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.AnnotatedRelationshipElementMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AnnotatedRelationshipElementMetadata` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return annotated_relationship_element_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def annotated_relationship_element_metadata_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AnnotatedRelationshipElementMetadata: + """ + Read an instance of :py:class:`.types.AnnotatedRelationshipElementMetadata` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.annotated_relationship_element_metadata_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.AnnotatedRelationshipElementMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AnnotatedRelationshipElementMetadata` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return annotated_relationship_element_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def entity_metadata_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.EntityMetadata: + """ + Read an instance of :py:class:`.types.EntityMetadata` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.entity_metadata_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EntityMetadata` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_entity_metadata_as_element, "EntityMetadata" + ) + + +def entity_metadata_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EntityMetadata: + """ + Read an instance of :py:class:`.types.EntityMetadata` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.entity_metadata_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.EntityMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EntityMetadata` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return entity_metadata_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def entity_metadata_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EntityMetadata: + """ + Read an instance of :py:class:`.types.EntityMetadata` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.entity_metadata_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.EntityMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EntityMetadata` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return entity_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def entity_metadata_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EntityMetadata: + """ + Read an instance of :py:class:`.types.EntityMetadata` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.entity_metadata_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.EntityMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EntityMetadata` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return entity_metadata_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def capability_metadata_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.CapabilityMetadata: + """ + Read an instance of :py:class:`.types.CapabilityMetadata` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.capability_metadata_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.CapabilityMetadata` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_capability_metadata_as_element, "CapabilityMetadata" + ) + + +def capability_metadata_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.CapabilityMetadata: + """ + Read an instance of :py:class:`.types.CapabilityMetadata` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.capability_metadata_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.CapabilityMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.CapabilityMetadata` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return capability_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def capability_metadata_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.CapabilityMetadata: + """ + Read an instance of :py:class:`.types.CapabilityMetadata` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.capability_metadata_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.CapabilityMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.CapabilityMetadata` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return capability_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def capability_metadata_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.CapabilityMetadata: + """ + Read an instance of :py:class:`.types.CapabilityMetadata` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.capability_metadata_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.CapabilityMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.CapabilityMetadata` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return capability_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_metadata_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.OperationMetadata: + """ + Read an instance of :py:class:`.types.OperationMetadata` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.operation_metadata_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationMetadata` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_operation_metadata_as_element, "OperationMetadata" + ) + + +def operation_metadata_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationMetadata: + """ + Read an instance of :py:class:`.types.OperationMetadata` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.operation_metadata_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.OperationMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationMetadata` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return operation_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_metadata_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationMetadata: + """ + Read an instance of :py:class:`.types.OperationMetadata` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.operation_metadata_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.OperationMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationMetadata` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return operation_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def operation_metadata_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OperationMetadata: + """ + Read an instance of :py:class:`.types.OperationMetadata` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.operation_metadata_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.OperationMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OperationMetadata` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return operation_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_element_collection_metadata_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.SubmodelElementCollectionMetadata: + """ + Read an instance of :py:class:`.types.SubmodelElementCollectionMetadata` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.submodel_element_collection_metadata_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementCollectionMetadata` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_submodel_element_collection_metadata_as_element, + "SubmodelElementCollectionMetadata", + ) + + +def submodel_element_collection_metadata_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElementCollectionMetadata: + """ + Read an instance of :py:class:`.types.SubmodelElementCollectionMetadata` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.submodel_element_collection_metadata_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.SubmodelElementCollectionMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementCollectionMetadata` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return submodel_element_collection_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_element_collection_metadata_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElementCollectionMetadata: + """ + Read an instance of :py:class:`.types.SubmodelElementCollectionMetadata` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.submodel_element_collection_metadata_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.SubmodelElementCollectionMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementCollectionMetadata` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return submodel_element_collection_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_element_collection_metadata_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElementCollectionMetadata: + """ + Read an instance of :py:class:`.types.SubmodelElementCollectionMetadata` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.submodel_element_collection_metadata_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.SubmodelElementCollectionMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementCollectionMetadata` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return submodel_element_collection_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def basic_event_element_metadata_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.BasicEventElementMetadata: + """ + Read an instance of :py:class:`.types.BasicEventElementMetadata` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.basic_event_element_metadata_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BasicEventElementMetadata` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_basic_event_element_metadata_as_element, + "BasicEventElementMetadata", + ) + + +def basic_event_element_metadata_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BasicEventElementMetadata: + """ + Read an instance of :py:class:`.types.BasicEventElementMetadata` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.basic_event_element_metadata_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.BasicEventElementMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BasicEventElementMetadata` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return basic_event_element_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def basic_event_element_metadata_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BasicEventElementMetadata: + """ + Read an instance of :py:class:`.types.BasicEventElementMetadata` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.basic_event_element_metadata_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.BasicEventElementMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BasicEventElementMetadata` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return basic_event_element_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def basic_event_element_metadata_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BasicEventElementMetadata: + """ + Read an instance of :py:class:`.types.BasicEventElementMetadata` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.basic_event_element_metadata_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.BasicEventElementMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BasicEventElementMetadata` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return basic_event_element_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_element_list_metadata_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.SubmodelElementListMetadata: + """ + Read an instance of :py:class:`.types.SubmodelElementListMetadata` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.submodel_element_list_metadata_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementListMetadata` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_submodel_element_list_metadata_as_element, + "SubmodelElementListMetadata", + ) + + +def submodel_element_list_metadata_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElementListMetadata: + """ + Read an instance of :py:class:`.types.SubmodelElementListMetadata` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.submodel_element_list_metadata_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.SubmodelElementListMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementListMetadata` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return submodel_element_list_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_element_list_metadata_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElementListMetadata: + """ + Read an instance of :py:class:`.types.SubmodelElementListMetadata` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.submodel_element_list_metadata_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.SubmodelElementListMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementListMetadata` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return submodel_element_list_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_element_list_metadata_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelElementListMetadata: + """ + Read an instance of :py:class:`.types.SubmodelElementListMetadata` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.submodel_element_list_metadata_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.SubmodelElementListMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelElementListMetadata` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return submodel_element_list_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_metadata_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.SubmodelMetadata: + """ + Read an instance of :py:class:`.types.SubmodelMetadata` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.submodel_metadata_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelMetadata` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_submodel_metadata_as_element, "SubmodelMetadata" + ) + + +def submodel_metadata_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelMetadata: + """ + Read an instance of :py:class:`.types.SubmodelMetadata` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.submodel_metadata_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.SubmodelMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelMetadata` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return submodel_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_metadata_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelMetadata: + """ + Read an instance of :py:class:`.types.SubmodelMetadata` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.submodel_metadata_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.SubmodelMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelMetadata` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return submodel_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def submodel_metadata_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.SubmodelMetadata: + """ + Read an instance of :py:class:`.types.SubmodelMetadata` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.submodel_metadata_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.SubmodelMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.SubmodelMetadata` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return submodel_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def asset_administration_shell_metadata_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.AssetAdministrationShellMetadata: + """ + Read an instance of :py:class:`.types.AssetAdministrationShellMetadata` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.asset_administration_shell_metadata_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetAdministrationShellMetadata` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_asset_administration_shell_metadata_as_element, + "AssetAdministrationShellMetadata", + ) + + +def asset_administration_shell_metadata_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AssetAdministrationShellMetadata: + """ + Read an instance of :py:class:`.types.AssetAdministrationShellMetadata` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.asset_administration_shell_metadata_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.AssetAdministrationShellMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetAdministrationShellMetadata` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return asset_administration_shell_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def asset_administration_shell_metadata_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AssetAdministrationShellMetadata: + """ + Read an instance of :py:class:`.types.AssetAdministrationShellMetadata` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.asset_administration_shell_metadata_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.AssetAdministrationShellMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetAdministrationShellMetadata` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return asset_administration_shell_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def asset_administration_shell_metadata_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AssetAdministrationShellMetadata: + """ + Read an instance of :py:class:`.types.AssetAdministrationShellMetadata` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.asset_administration_shell_metadata_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.AssetAdministrationShellMetadata` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AssetAdministrationShellMetadata` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return asset_administration_shell_metadata_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def reference_element_value_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.ReferenceElementValue: + """ + Read an instance of :py:class:`.types.ReferenceElementValue` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.reference_element_value_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ReferenceElementValue` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_reference_element_value_as_element, "ReferenceElementValue" + ) + + +def reference_element_value_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ReferenceElementValue: + """ + Read an instance of :py:class:`.types.ReferenceElementValue` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.reference_element_value_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.ReferenceElementValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ReferenceElementValue` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return reference_element_value_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def reference_element_value_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ReferenceElementValue: + """ + Read an instance of :py:class:`.types.ReferenceElementValue` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.reference_element_value_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.ReferenceElementValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ReferenceElementValue` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return reference_element_value_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def reference_element_value_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ReferenceElementValue: + """ + Read an instance of :py:class:`.types.ReferenceElementValue` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.reference_element_value_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.ReferenceElementValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ReferenceElementValue` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return reference_element_value_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def blob_value_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.BlobValue: + """ + Read an instance of :py:class:`.types.BlobValue` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.blob_value_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BlobValue` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_blob_value_as_element, "BlobValue" + ) + + +def blob_value_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BlobValue: + """ + Read an instance of :py:class:`.types.BlobValue` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.blob_value_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.BlobValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BlobValue` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return blob_value_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def blob_value_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BlobValue: + """ + Read an instance of :py:class:`.types.BlobValue` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.blob_value_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.BlobValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BlobValue` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return blob_value_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def blob_value_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BlobValue: + """ + Read an instance of :py:class:`.types.BlobValue` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.blob_value_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.BlobValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BlobValue` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return blob_value_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def file_value_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.FileValue: + """ + Read an instance of :py:class:`.types.FileValue` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.file_value_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.FileValue` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_file_value_as_element, "FileValue" + ) + + +def file_value_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.FileValue: + """ + Read an instance of :py:class:`.types.FileValue` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.file_value_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.FileValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.FileValue` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return file_value_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def file_value_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.FileValue: + """ + Read an instance of :py:class:`.types.FileValue` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.file_value_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.FileValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.FileValue` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return file_value_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def file_value_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.FileValue: + """ + Read an instance of :py:class:`.types.FileValue` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.file_value_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.FileValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.FileValue` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return file_value_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def range_value_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.RangeValue: + """ + Read an instance of :py:class:`.types.RangeValue` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.range_value_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RangeValue` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_range_value_as_element, "RangeValue" + ) + + +def range_value_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RangeValue: + """ + Read an instance of :py:class:`.types.RangeValue` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.range_value_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.RangeValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RangeValue` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return range_value_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def range_value_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RangeValue: + """ + Read an instance of :py:class:`.types.RangeValue` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.range_value_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.RangeValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RangeValue` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return range_value_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def range_value_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RangeValue: + """ + Read an instance of :py:class:`.types.RangeValue` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.range_value_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.RangeValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RangeValue` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return range_value_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def relationship_element_value_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.RelationshipElementValue: + """ + Read an instance of :py:class:`.types.RelationshipElementValue` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.relationship_element_value_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RelationshipElementValue` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_relationship_element_value_as_element, + "RelationshipElementValue", + ) + + +def relationship_element_value_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RelationshipElementValue: + """ + Read an instance of :py:class:`.types.RelationshipElementValue` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.relationship_element_value_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.RelationshipElementValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RelationshipElementValue` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return relationship_element_value_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def relationship_element_value_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RelationshipElementValue: + """ + Read an instance of :py:class:`.types.RelationshipElementValue` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.relationship_element_value_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.RelationshipElementValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RelationshipElementValue` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return relationship_element_value_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def relationship_element_value_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RelationshipElementValue: + """ + Read an instance of :py:class:`.types.RelationshipElementValue` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.relationship_element_value_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.RelationshipElementValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RelationshipElementValue` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return relationship_element_value_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def basic_event_element_value_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.BasicEventElementValue: + """ + Read an instance of :py:class:`.types.BasicEventElementValue` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.basic_event_element_value_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BasicEventElementValue` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_basic_event_element_value_as_element, "BasicEventElementValue" + ) + + +def basic_event_element_value_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BasicEventElementValue: + """ + Read an instance of :py:class:`.types.BasicEventElementValue` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.basic_event_element_value_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.BasicEventElementValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BasicEventElementValue` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return basic_event_element_value_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def basic_event_element_value_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BasicEventElementValue: + """ + Read an instance of :py:class:`.types.BasicEventElementValue` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.basic_event_element_value_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.BasicEventElementValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BasicEventElementValue` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return basic_event_element_value_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def basic_event_element_value_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BasicEventElementValue: + """ + Read an instance of :py:class:`.types.BasicEventElementValue` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.basic_event_element_value_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.BasicEventElementValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BasicEventElementValue` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return basic_event_element_value_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def annotated_relationship_element_value_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.AnnotatedRelationshipElementValue: + """ + Read an instance of :py:class:`.types.AnnotatedRelationshipElementValue` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.annotated_relationship_element_value_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AnnotatedRelationshipElementValue` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_annotated_relationship_element_value_as_element, + "AnnotatedRelationshipElementValue", + ) + + +def annotated_relationship_element_value_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AnnotatedRelationshipElementValue: + """ + Read an instance of :py:class:`.types.AnnotatedRelationshipElementValue` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.annotated_relationship_element_value_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.AnnotatedRelationshipElementValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AnnotatedRelationshipElementValue` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return annotated_relationship_element_value_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def annotated_relationship_element_value_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AnnotatedRelationshipElementValue: + """ + Read an instance of :py:class:`.types.AnnotatedRelationshipElementValue` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.annotated_relationship_element_value_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.AnnotatedRelationshipElementValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AnnotatedRelationshipElementValue` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return annotated_relationship_element_value_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def annotated_relationship_element_value_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AnnotatedRelationshipElementValue: + """ + Read an instance of :py:class:`.types.AnnotatedRelationshipElementValue` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.annotated_relationship_element_value_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.AnnotatedRelationshipElementValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AnnotatedRelationshipElementValue` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return annotated_relationship_element_value_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def entity_value_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.EntityValue: + """ + Read an instance of :py:class:`.types.EntityValue` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.entity_value_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EntityValue` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_entity_value_as_element, "EntityValue" + ) + + +def entity_value_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EntityValue: + """ + Read an instance of :py:class:`.types.EntityValue` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.entity_value_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.EntityValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EntityValue` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return entity_value_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def entity_value_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EntityValue: + """ + Read an instance of :py:class:`.types.EntityValue` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.entity_value_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.EntityValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EntityValue` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return entity_value_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def entity_value_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EntityValue: + """ + Read an instance of :py:class:`.types.EntityValue` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.entity_value_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.EntityValue` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EntityValue` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return entity_value_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def get_asset_administration_shells_result_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.GetAssetAdministrationShellsResult: + """ + Read an instance of :py:class:`.types.GetAssetAdministrationShellsResult` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.get_asset_administration_shells_result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAssetAdministrationShellsResult` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_get_asset_administration_shells_result_as_element, + "GetAssetAdministrationShellsResult", + ) + + +def get_asset_administration_shells_result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetAssetAdministrationShellsResult: + """ + Read an instance of :py:class:`.types.GetAssetAdministrationShellsResult` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.get_asset_administration_shells_result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.GetAssetAdministrationShellsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAssetAdministrationShellsResult` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return get_asset_administration_shells_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_asset_administration_shells_result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetAssetAdministrationShellsResult: + """ + Read an instance of :py:class:`.types.GetAssetAdministrationShellsResult` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.get_asset_administration_shells_result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.GetAssetAdministrationShellsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAssetAdministrationShellsResult` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return get_asset_administration_shells_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_asset_administration_shells_result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetAssetAdministrationShellsResult: + """ + Read an instance of :py:class:`.types.GetAssetAdministrationShellsResult` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.get_asset_administration_shells_result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.GetAssetAdministrationShellsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAssetAdministrationShellsResult` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return get_asset_administration_shells_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_asset_administration_shells_metadata_result_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.GetAssetAdministrationShellsMetadataResult: + """ + Read an instance of :py:class:`.types.GetAssetAdministrationShellsMetadataResult` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.get_asset_administration_shells_metadata_result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAssetAdministrationShellsMetadataResult` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_get_asset_administration_shells_metadata_result_as_element, + "GetAssetAdministrationShellsMetadataResult", + ) + + +def get_asset_administration_shells_metadata_result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetAssetAdministrationShellsMetadataResult: + """ + Read an instance of :py:class:`.types.GetAssetAdministrationShellsMetadataResult` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.get_asset_administration_shells_metadata_result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.GetAssetAdministrationShellsMetadataResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAssetAdministrationShellsMetadataResult` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return get_asset_administration_shells_metadata_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_asset_administration_shells_metadata_result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetAssetAdministrationShellsMetadataResult: + """ + Read an instance of :py:class:`.types.GetAssetAdministrationShellsMetadataResult` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.get_asset_administration_shells_metadata_result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.GetAssetAdministrationShellsMetadataResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAssetAdministrationShellsMetadataResult` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return get_asset_administration_shells_metadata_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_asset_administration_shells_metadata_result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetAssetAdministrationShellsMetadataResult: + """ + Read an instance of :py:class:`.types.GetAssetAdministrationShellsMetadataResult` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.get_asset_administration_shells_metadata_result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.GetAssetAdministrationShellsMetadataResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAssetAdministrationShellsMetadataResult` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return get_asset_administration_shells_metadata_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_all_asset_administration_shells_recent_changes_result_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.GetAllAssetAdministrationShellsRecentChangesResult: + """ + Read an instance of :py:class:`.types.GetAllAssetAdministrationShellsRecentChangesResult` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.get_all_asset_administration_shells_recent_changes_result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAllAssetAdministrationShellsRecentChangesResult` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_get_all_asset_administration_shells_recent_changes_result_as_element, + "GetAllAssetAdministrationShellsRecentChangesResult", + ) + + +def get_all_asset_administration_shells_recent_changes_result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetAllAssetAdministrationShellsRecentChangesResult: + """ + Read an instance of :py:class:`.types.GetAllAssetAdministrationShellsRecentChangesResult` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.get_all_asset_administration_shells_recent_changes_result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.GetAllAssetAdministrationShellsRecentChangesResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAllAssetAdministrationShellsRecentChangesResult` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return get_all_asset_administration_shells_recent_changes_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_all_asset_administration_shells_recent_changes_result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetAllAssetAdministrationShellsRecentChangesResult: + """ + Read an instance of :py:class:`.types.GetAllAssetAdministrationShellsRecentChangesResult` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.get_all_asset_administration_shells_recent_changes_result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.GetAllAssetAdministrationShellsRecentChangesResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAllAssetAdministrationShellsRecentChangesResult` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return get_all_asset_administration_shells_recent_changes_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_all_asset_administration_shells_recent_changes_result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetAllAssetAdministrationShellsRecentChangesResult: + """ + Read an instance of :py:class:`.types.GetAllAssetAdministrationShellsRecentChangesResult` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.get_all_asset_administration_shells_recent_changes_result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.GetAllAssetAdministrationShellsRecentChangesResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAllAssetAdministrationShellsRecentChangesResult` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return get_all_asset_administration_shells_recent_changes_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_asset_administration_shell_descriptors_result_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.GetAssetAdministrationShellDescriptorsResult: + """ + Read an instance of :py:class:`.types.GetAssetAdministrationShellDescriptorsResult` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.get_asset_administration_shell_descriptors_result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAssetAdministrationShellDescriptorsResult` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_get_asset_administration_shell_descriptors_result_as_element, + "GetAssetAdministrationShellDescriptorsResult", + ) + + +def get_asset_administration_shell_descriptors_result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetAssetAdministrationShellDescriptorsResult: + """ + Read an instance of :py:class:`.types.GetAssetAdministrationShellDescriptorsResult` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.get_asset_administration_shell_descriptors_result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.GetAssetAdministrationShellDescriptorsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAssetAdministrationShellDescriptorsResult` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return get_asset_administration_shell_descriptors_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_asset_administration_shell_descriptors_result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetAssetAdministrationShellDescriptorsResult: + """ + Read an instance of :py:class:`.types.GetAssetAdministrationShellDescriptorsResult` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.get_asset_administration_shell_descriptors_result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.GetAssetAdministrationShellDescriptorsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAssetAdministrationShellDescriptorsResult` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return get_asset_administration_shell_descriptors_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_asset_administration_shell_descriptors_result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetAssetAdministrationShellDescriptorsResult: + """ + Read an instance of :py:class:`.types.GetAssetAdministrationShellDescriptorsResult` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.get_asset_administration_shell_descriptors_result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.GetAssetAdministrationShellDescriptorsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAssetAdministrationShellDescriptorsResult` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return get_asset_administration_shell_descriptors_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_concept_descriptions_result_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.GetConceptDescriptionsResult: + """ + Read an instance of :py:class:`.types.GetConceptDescriptionsResult` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.get_concept_descriptions_result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetConceptDescriptionsResult` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_get_concept_descriptions_result_as_element, + "GetConceptDescriptionsResult", + ) + + +def get_concept_descriptions_result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetConceptDescriptionsResult: + """ + Read an instance of :py:class:`.types.GetConceptDescriptionsResult` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.get_concept_descriptions_result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.GetConceptDescriptionsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetConceptDescriptionsResult` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return get_concept_descriptions_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_concept_descriptions_result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetConceptDescriptionsResult: + """ + Read an instance of :py:class:`.types.GetConceptDescriptionsResult` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.get_concept_descriptions_result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.GetConceptDescriptionsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetConceptDescriptionsResult` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return get_concept_descriptions_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_concept_descriptions_result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetConceptDescriptionsResult: + """ + Read an instance of :py:class:`.types.GetConceptDescriptionsResult` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.get_concept_descriptions_result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.GetConceptDescriptionsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetConceptDescriptionsResult` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return get_concept_descriptions_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_all_concept_descriptions_recent_changes_result_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.GetAllConceptDescriptionsRecentChangesResult: + """ + Read an instance of :py:class:`.types.GetAllConceptDescriptionsRecentChangesResult` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.get_all_concept_descriptions_recent_changes_result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAllConceptDescriptionsRecentChangesResult` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_get_all_concept_descriptions_recent_changes_result_as_element, + "GetAllConceptDescriptionsRecentChangesResult", + ) + + +def get_all_concept_descriptions_recent_changes_result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetAllConceptDescriptionsRecentChangesResult: + """ + Read an instance of :py:class:`.types.GetAllConceptDescriptionsRecentChangesResult` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.get_all_concept_descriptions_recent_changes_result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.GetAllConceptDescriptionsRecentChangesResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAllConceptDescriptionsRecentChangesResult` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return get_all_concept_descriptions_recent_changes_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_all_concept_descriptions_recent_changes_result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetAllConceptDescriptionsRecentChangesResult: + """ + Read an instance of :py:class:`.types.GetAllConceptDescriptionsRecentChangesResult` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.get_all_concept_descriptions_recent_changes_result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.GetAllConceptDescriptionsRecentChangesResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAllConceptDescriptionsRecentChangesResult` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return get_all_concept_descriptions_recent_changes_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_all_concept_descriptions_recent_changes_result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetAllConceptDescriptionsRecentChangesResult: + """ + Read an instance of :py:class:`.types.GetAllConceptDescriptionsRecentChangesResult` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.get_all_concept_descriptions_recent_changes_result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.GetAllConceptDescriptionsRecentChangesResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAllConceptDescriptionsRecentChangesResult` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return get_all_concept_descriptions_recent_changes_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_package_descriptions_result_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.GetPackageDescriptionsResult: + """ + Read an instance of :py:class:`.types.GetPackageDescriptionsResult` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.get_package_descriptions_result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetPackageDescriptionsResult` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_get_package_descriptions_result_as_element, + "GetPackageDescriptionsResult", + ) + + +def get_package_descriptions_result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetPackageDescriptionsResult: + """ + Read an instance of :py:class:`.types.GetPackageDescriptionsResult` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.get_package_descriptions_result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.GetPackageDescriptionsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetPackageDescriptionsResult` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return get_package_descriptions_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_package_descriptions_result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetPackageDescriptionsResult: + """ + Read an instance of :py:class:`.types.GetPackageDescriptionsResult` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.get_package_descriptions_result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.GetPackageDescriptionsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetPackageDescriptionsResult` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return get_package_descriptions_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_package_descriptions_result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetPackageDescriptionsResult: + """ + Read an instance of :py:class:`.types.GetPackageDescriptionsResult` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.get_package_descriptions_result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.GetPackageDescriptionsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetPackageDescriptionsResult` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return get_package_descriptions_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_path_items_result_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.GetPathItemsResult: + """ + Read an instance of :py:class:`.types.GetPathItemsResult` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.get_path_items_result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetPathItemsResult` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_get_path_items_result_as_element, "GetPathItemsResult" + ) + + +def get_path_items_result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetPathItemsResult: + """ + Read an instance of :py:class:`.types.GetPathItemsResult` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.get_path_items_result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.GetPathItemsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetPathItemsResult` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return get_path_items_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_path_items_result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetPathItemsResult: + """ + Read an instance of :py:class:`.types.GetPathItemsResult` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.get_path_items_result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.GetPathItemsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetPathItemsResult` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return get_path_items_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_path_items_result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetPathItemsResult: + """ + Read an instance of :py:class:`.types.GetPathItemsResult` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.get_path_items_result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.GetPathItemsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetPathItemsResult` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return get_path_items_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_references_result_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.GetReferencesResult: + """ + Read an instance of :py:class:`.types.GetReferencesResult` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.get_references_result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetReferencesResult` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_get_references_result_as_element, "GetReferencesResult" + ) + + +def get_references_result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetReferencesResult: + """ + Read an instance of :py:class:`.types.GetReferencesResult` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.get_references_result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.GetReferencesResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetReferencesResult` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return get_references_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_references_result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetReferencesResult: + """ + Read an instance of :py:class:`.types.GetReferencesResult` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.get_references_result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.GetReferencesResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetReferencesResult` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return get_references_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_references_result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetReferencesResult: + """ + Read an instance of :py:class:`.types.GetReferencesResult` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.get_references_result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.GetReferencesResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetReferencesResult` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return get_references_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodel_descriptors_result_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.GetSubmodelDescriptorsResult: + """ + Read an instance of :py:class:`.types.GetSubmodelDescriptorsResult` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.get_submodel_descriptors_result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelDescriptorsResult` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_get_submodel_descriptors_result_as_element, + "GetSubmodelDescriptorsResult", + ) + + +def get_submodel_descriptors_result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelDescriptorsResult: + """ + Read an instance of :py:class:`.types.GetSubmodelDescriptorsResult` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.get_submodel_descriptors_result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.GetSubmodelDescriptorsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelDescriptorsResult` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return get_submodel_descriptors_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodel_descriptors_result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelDescriptorsResult: + """ + Read an instance of :py:class:`.types.GetSubmodelDescriptorsResult` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.get_submodel_descriptors_result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.GetSubmodelDescriptorsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelDescriptorsResult` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return get_submodel_descriptors_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodel_descriptors_result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelDescriptorsResult: + """ + Read an instance of :py:class:`.types.GetSubmodelDescriptorsResult` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.get_submodel_descriptors_result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.GetSubmodelDescriptorsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelDescriptorsResult` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return get_submodel_descriptors_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodel_elements_metadata_result_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.GetSubmodelElementsMetadataResult: + """ + Read an instance of :py:class:`.types.GetSubmodelElementsMetadataResult` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.get_submodel_elements_metadata_result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelElementsMetadataResult` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_get_submodel_elements_metadata_result_as_element, + "GetSubmodelElementsMetadataResult", + ) + + +def get_submodel_elements_metadata_result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelElementsMetadataResult: + """ + Read an instance of :py:class:`.types.GetSubmodelElementsMetadataResult` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.get_submodel_elements_metadata_result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.GetSubmodelElementsMetadataResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelElementsMetadataResult` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return get_submodel_elements_metadata_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodel_elements_metadata_result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelElementsMetadataResult: + """ + Read an instance of :py:class:`.types.GetSubmodelElementsMetadataResult` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.get_submodel_elements_metadata_result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.GetSubmodelElementsMetadataResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelElementsMetadataResult` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return get_submodel_elements_metadata_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodel_elements_metadata_result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelElementsMetadataResult: + """ + Read an instance of :py:class:`.types.GetSubmodelElementsMetadataResult` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.get_submodel_elements_metadata_result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.GetSubmodelElementsMetadataResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelElementsMetadataResult` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return get_submodel_elements_metadata_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodel_elements_result_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.GetSubmodelElementsResult: + """ + Read an instance of :py:class:`.types.GetSubmodelElementsResult` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.get_submodel_elements_result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelElementsResult` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_get_submodel_elements_result_as_element, + "GetSubmodelElementsResult", + ) + + +def get_submodel_elements_result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelElementsResult: + """ + Read an instance of :py:class:`.types.GetSubmodelElementsResult` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.get_submodel_elements_result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.GetSubmodelElementsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelElementsResult` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return get_submodel_elements_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodel_elements_result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelElementsResult: + """ + Read an instance of :py:class:`.types.GetSubmodelElementsResult` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.get_submodel_elements_result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.GetSubmodelElementsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelElementsResult` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return get_submodel_elements_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodel_elements_result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelElementsResult: + """ + Read an instance of :py:class:`.types.GetSubmodelElementsResult` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.get_submodel_elements_result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.GetSubmodelElementsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelElementsResult` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return get_submodel_elements_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodel_elements_value_result_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.GetSubmodelElementsValueResult: + """ + Read an instance of :py:class:`.types.GetSubmodelElementsValueResult` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.get_submodel_elements_value_result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelElementsValueResult` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_get_submodel_elements_value_result_as_element, + "GetSubmodelElementsValueResult", + ) + + +def get_submodel_elements_value_result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelElementsValueResult: + """ + Read an instance of :py:class:`.types.GetSubmodelElementsValueResult` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.get_submodel_elements_value_result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.GetSubmodelElementsValueResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelElementsValueResult` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return get_submodel_elements_value_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodel_elements_value_result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelElementsValueResult: + """ + Read an instance of :py:class:`.types.GetSubmodelElementsValueResult` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.get_submodel_elements_value_result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.GetSubmodelElementsValueResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelElementsValueResult` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return get_submodel_elements_value_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodel_elements_value_result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelElementsValueResult: + """ + Read an instance of :py:class:`.types.GetSubmodelElementsValueResult` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.get_submodel_elements_value_result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.GetSubmodelElementsValueResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelElementsValueResult` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return get_submodel_elements_value_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_all_submodels_recent_changes_result_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.GetAllSubmodelsRecentChangesResult: + """ + Read an instance of :py:class:`.types.GetAllSubmodelsRecentChangesResult` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.get_all_submodels_recent_changes_result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAllSubmodelsRecentChangesResult` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_get_all_submodels_recent_changes_result_as_element, + "GetAllSubmodelsRecentChangesResult", + ) + + +def get_all_submodels_recent_changes_result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetAllSubmodelsRecentChangesResult: + """ + Read an instance of :py:class:`.types.GetAllSubmodelsRecentChangesResult` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.get_all_submodels_recent_changes_result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.GetAllSubmodelsRecentChangesResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAllSubmodelsRecentChangesResult` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return get_all_submodels_recent_changes_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_all_submodels_recent_changes_result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetAllSubmodelsRecentChangesResult: + """ + Read an instance of :py:class:`.types.GetAllSubmodelsRecentChangesResult` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.get_all_submodels_recent_changes_result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.GetAllSubmodelsRecentChangesResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAllSubmodelsRecentChangesResult` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return get_all_submodels_recent_changes_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_all_submodels_recent_changes_result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetAllSubmodelsRecentChangesResult: + """ + Read an instance of :py:class:`.types.GetAllSubmodelsRecentChangesResult` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.get_all_submodels_recent_changes_result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.GetAllSubmodelsRecentChangesResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetAllSubmodelsRecentChangesResult` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return get_all_submodels_recent_changes_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodels_metadata_result_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.GetSubmodelsMetadataResult: + """ + Read an instance of :py:class:`.types.GetSubmodelsMetadataResult` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.get_submodels_metadata_result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelsMetadataResult` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_get_submodels_metadata_result_as_element, + "GetSubmodelsMetadataResult", + ) + + +def get_submodels_metadata_result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelsMetadataResult: + """ + Read an instance of :py:class:`.types.GetSubmodelsMetadataResult` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.get_submodels_metadata_result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.GetSubmodelsMetadataResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelsMetadataResult` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return get_submodels_metadata_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodels_metadata_result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelsMetadataResult: + """ + Read an instance of :py:class:`.types.GetSubmodelsMetadataResult` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.get_submodels_metadata_result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.GetSubmodelsMetadataResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelsMetadataResult` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return get_submodels_metadata_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodels_metadata_result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelsMetadataResult: + """ + Read an instance of :py:class:`.types.GetSubmodelsMetadataResult` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.get_submodels_metadata_result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.GetSubmodelsMetadataResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelsMetadataResult` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return get_submodels_metadata_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodels_result_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.GetSubmodelsResult: + """ + Read an instance of :py:class:`.types.GetSubmodelsResult` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.get_submodels_result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelsResult` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_get_submodels_result_as_element, "GetSubmodelsResult" + ) + + +def get_submodels_result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelsResult: + """ + Read an instance of :py:class:`.types.GetSubmodelsResult` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.get_submodels_result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.GetSubmodelsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelsResult` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return get_submodels_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodels_result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelsResult: + """ + Read an instance of :py:class:`.types.GetSubmodelsResult` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.get_submodels_result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.GetSubmodelsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelsResult` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return get_submodels_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodels_result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelsResult: + """ + Read an instance of :py:class:`.types.GetSubmodelsResult` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.get_submodels_result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.GetSubmodelsResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelsResult` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return get_submodels_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodels_value_result_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.GetSubmodelsValueResult: + """ + Read an instance of :py:class:`.types.GetSubmodelsValueResult` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.get_submodels_value_result_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelsValueResult` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_get_submodels_value_result_as_element, "GetSubmodelsValueResult" + ) + + +def get_submodels_value_result_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelsValueResult: + """ + Read an instance of :py:class:`.types.GetSubmodelsValueResult` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.get_submodels_value_result_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.GetSubmodelsValueResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelsValueResult` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return get_submodels_value_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodels_value_result_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelsValueResult: + """ + Read an instance of :py:class:`.types.GetSubmodelsValueResult` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.get_submodels_value_result_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.GetSubmodelsValueResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelsValueResult` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return get_submodels_value_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def get_submodels_value_result_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GetSubmodelsValueResult: + """ + Read an instance of :py:class:`.types.GetSubmodelsValueResult` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.get_submodels_value_result_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.GetSubmodelsValueResult` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GetSubmodelsValueResult` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return get_submodels_value_result_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def claim_attribute_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.ClaimAttribute: + """ + Read an instance of :py:class:`.types.ClaimAttribute` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.claim_attribute_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ClaimAttribute` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_claim_attribute_as_element, "ClaimAttribute" + ) + + +def claim_attribute_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ClaimAttribute: + """ + Read an instance of :py:class:`.types.ClaimAttribute` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.claim_attribute_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.ClaimAttribute` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ClaimAttribute` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return claim_attribute_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def claim_attribute_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ClaimAttribute: + """ + Read an instance of :py:class:`.types.ClaimAttribute` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.claim_attribute_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.ClaimAttribute` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ClaimAttribute` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return claim_attribute_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def claim_attribute_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ClaimAttribute: + """ + Read an instance of :py:class:`.types.ClaimAttribute` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.claim_attribute_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.ClaimAttribute` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ClaimAttribute` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return claim_attribute_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def global_attribute_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.GlobalAttribute: + """ + Read an instance of :py:class:`.types.GlobalAttribute` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.global_attribute_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GlobalAttribute` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_global_attribute_as_element, "GlobalAttribute" + ) + + +def global_attribute_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GlobalAttribute: + """ + Read an instance of :py:class:`.types.GlobalAttribute` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.global_attribute_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.GlobalAttribute` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GlobalAttribute` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return global_attribute_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def global_attribute_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GlobalAttribute: + """ + Read an instance of :py:class:`.types.GlobalAttribute` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.global_attribute_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.GlobalAttribute` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GlobalAttribute` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return global_attribute_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def global_attribute_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GlobalAttribute: + """ + Read an instance of :py:class:`.types.GlobalAttribute` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.global_attribute_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.GlobalAttribute` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GlobalAttribute` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return global_attribute_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def reference_attribute_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.ReferenceAttribute: + """ + Read an instance of :py:class:`.types.ReferenceAttribute` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.reference_attribute_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ReferenceAttribute` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_reference_attribute_as_element, "ReferenceAttribute" + ) + + +def reference_attribute_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ReferenceAttribute: + """ + Read an instance of :py:class:`.types.ReferenceAttribute` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.reference_attribute_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.ReferenceAttribute` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ReferenceAttribute` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return reference_attribute_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def reference_attribute_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ReferenceAttribute: + """ + Read an instance of :py:class:`.types.ReferenceAttribute` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.reference_attribute_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.ReferenceAttribute` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ReferenceAttribute` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return reference_attribute_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def reference_attribute_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ReferenceAttribute: + """ + Read an instance of :py:class:`.types.ReferenceAttribute` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.reference_attribute_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.ReferenceAttribute` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ReferenceAttribute` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return reference_attribute_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def date_time_attribute_item_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.DateTimeAttributeItem: + """ + Read an instance of :py:class:`.types.DateTimeAttributeItem` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.date_time_attribute_item_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DateTimeAttributeItem` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_date_time_attribute_item_as_element, "DateTimeAttributeItem" + ) + + +def date_time_attribute_item_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DateTimeAttributeItem: + """ + Read an instance of :py:class:`.types.DateTimeAttributeItem` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.date_time_attribute_item_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.DateTimeAttributeItem` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DateTimeAttributeItem` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return date_time_attribute_item_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def date_time_attribute_item_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DateTimeAttributeItem: + """ + Read an instance of :py:class:`.types.DateTimeAttributeItem` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.date_time_attribute_item_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.DateTimeAttributeItem` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DateTimeAttributeItem` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return date_time_attribute_item_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def date_time_attribute_item_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DateTimeAttributeItem: + """ + Read an instance of :py:class:`.types.DateTimeAttributeItem` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.date_time_attribute_item_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.DateTimeAttributeItem` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DateTimeAttributeItem` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return date_time_attribute_item_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def field_operand_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.FieldOperand: + """ + Read an instance of :py:class:`.types.FieldOperand` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.field_operand_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.FieldOperand` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_field_operand_as_element, "FieldOperand" + ) + + +def field_operand_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.FieldOperand: + """ + Read an instance of :py:class:`.types.FieldOperand` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.field_operand_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.FieldOperand` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.FieldOperand` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return field_operand_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def field_operand_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.FieldOperand: + """ + Read an instance of :py:class:`.types.FieldOperand` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.field_operand_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.FieldOperand` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.FieldOperand` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return field_operand_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def field_operand_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.FieldOperand: + """ + Read an instance of :py:class:`.types.FieldOperand` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.field_operand_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.FieldOperand` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.FieldOperand` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return field_operand_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def string_literal_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.StringLiteral: + """ + Read an instance of :py:class:`.types.StringLiteral` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.string_literal_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.StringLiteral` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_string_literal_as_element, "StringLiteral" + ) + + +def string_literal_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.StringLiteral: + """ + Read an instance of :py:class:`.types.StringLiteral` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.string_literal_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.StringLiteral` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.StringLiteral` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return string_literal_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def string_literal_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.StringLiteral: + """ + Read an instance of :py:class:`.types.StringLiteral` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.string_literal_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.StringLiteral` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.StringLiteral` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return string_literal_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def string_literal_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.StringLiteral: + """ + Read an instance of :py:class:`.types.StringLiteral` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.string_literal_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.StringLiteral` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.StringLiteral` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return string_literal_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def attribute_operand_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.AttributeOperand: + """ + Read an instance of :py:class:`.types.AttributeOperand` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.attribute_operand_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AttributeOperand` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_attribute_operand_as_element, "AttributeOperand" + ) + + +def attribute_operand_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AttributeOperand: + """ + Read an instance of :py:class:`.types.AttributeOperand` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.attribute_operand_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.AttributeOperand` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AttributeOperand` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return attribute_operand_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def attribute_operand_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AttributeOperand: + """ + Read an instance of :py:class:`.types.AttributeOperand` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.attribute_operand_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.AttributeOperand` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AttributeOperand` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return attribute_operand_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def attribute_operand_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AttributeOperand: + """ + Read an instance of :py:class:`.types.AttributeOperand` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.attribute_operand_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.AttributeOperand` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AttributeOperand` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return attribute_operand_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def number_literal_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.NumberLiteral: + """ + Read an instance of :py:class:`.types.NumberLiteral` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.number_literal_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.NumberLiteral` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_number_literal_as_element, "NumberLiteral" + ) + + +def number_literal_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.NumberLiteral: + """ + Read an instance of :py:class:`.types.NumberLiteral` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.number_literal_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.NumberLiteral` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.NumberLiteral` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return number_literal_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def number_literal_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.NumberLiteral: + """ + Read an instance of :py:class:`.types.NumberLiteral` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.number_literal_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.NumberLiteral` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.NumberLiteral` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return number_literal_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def number_literal_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.NumberLiteral: + """ + Read an instance of :py:class:`.types.NumberLiteral` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.number_literal_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.NumberLiteral` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.NumberLiteral` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return number_literal_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def hex_literal_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.HexLiteral: + """ + Read an instance of :py:class:`.types.HexLiteral` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.hex_literal_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HexLiteral` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_hex_literal_as_element, "HexLiteral" + ) + + +def hex_literal_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.HexLiteral: + """ + Read an instance of :py:class:`.types.HexLiteral` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.hex_literal_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.HexLiteral` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HexLiteral` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return hex_literal_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def hex_literal_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.HexLiteral: + """ + Read an instance of :py:class:`.types.HexLiteral` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.hex_literal_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.HexLiteral` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HexLiteral` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return hex_literal_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def hex_literal_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.HexLiteral: + """ + Read an instance of :py:class:`.types.HexLiteral` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.hex_literal_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.HexLiteral` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HexLiteral` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return hex_literal_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def date_time_literal_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.DateTimeLiteral: + """ + Read an instance of :py:class:`.types.DateTimeLiteral` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.date_time_literal_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DateTimeLiteral` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_date_time_literal_as_element, "DateTimeLiteral" + ) + + +def date_time_literal_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DateTimeLiteral: + """ + Read an instance of :py:class:`.types.DateTimeLiteral` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.date_time_literal_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.DateTimeLiteral` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DateTimeLiteral` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return date_time_literal_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def date_time_literal_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DateTimeLiteral: + """ + Read an instance of :py:class:`.types.DateTimeLiteral` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.date_time_literal_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.DateTimeLiteral` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DateTimeLiteral` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return date_time_literal_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def date_time_literal_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DateTimeLiteral: + """ + Read an instance of :py:class:`.types.DateTimeLiteral` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.date_time_literal_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.DateTimeLiteral` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DateTimeLiteral` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return date_time_literal_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def time_literal_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.TimeLiteral: + """ + Read an instance of :py:class:`.types.TimeLiteral` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.time_literal_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.TimeLiteral` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_time_literal_as_element, "TimeLiteral" + ) + + +def time_literal_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.TimeLiteral: + """ + Read an instance of :py:class:`.types.TimeLiteral` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.time_literal_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.TimeLiteral` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.TimeLiteral` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return time_literal_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def time_literal_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.TimeLiteral: + """ + Read an instance of :py:class:`.types.TimeLiteral` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.time_literal_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.TimeLiteral` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.TimeLiteral` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return time_literal_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def time_literal_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.TimeLiteral: + """ + Read an instance of :py:class:`.types.TimeLiteral` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.time_literal_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.TimeLiteral` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.TimeLiteral` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return time_literal_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def boolean_literal_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.BooleanLiteral: + """ + Read an instance of :py:class:`.types.BooleanLiteral` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.boolean_literal_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BooleanLiteral` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_boolean_literal_as_element, "BooleanLiteral" + ) + + +def boolean_literal_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BooleanLiteral: + """ + Read an instance of :py:class:`.types.BooleanLiteral` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.boolean_literal_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.BooleanLiteral` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BooleanLiteral` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return boolean_literal_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def boolean_literal_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BooleanLiteral: + """ + Read an instance of :py:class:`.types.BooleanLiteral` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.boolean_literal_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.BooleanLiteral` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BooleanLiteral` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return boolean_literal_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def boolean_literal_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BooleanLiteral: + """ + Read an instance of :py:class:`.types.BooleanLiteral` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.boolean_literal_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.BooleanLiteral` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BooleanLiteral` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return boolean_literal_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def string_cast_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.StringCast: + """ + Read an instance of :py:class:`.types.StringCast` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.string_cast_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.StringCast` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_string_cast_as_element, "StringCast" + ) + + +def string_cast_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.StringCast: + """ + Read an instance of :py:class:`.types.StringCast` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.string_cast_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.StringCast` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.StringCast` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return string_cast_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def string_cast_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.StringCast: + """ + Read an instance of :py:class:`.types.StringCast` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.string_cast_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.StringCast` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.StringCast` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return string_cast_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def string_cast_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.StringCast: + """ + Read an instance of :py:class:`.types.StringCast` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.string_cast_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.StringCast` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.StringCast` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return string_cast_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def number_cast_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.NumberCast: + """ + Read an instance of :py:class:`.types.NumberCast` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.number_cast_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.NumberCast` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_number_cast_as_element, "NumberCast" + ) + + +def number_cast_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.NumberCast: + """ + Read an instance of :py:class:`.types.NumberCast` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.number_cast_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.NumberCast` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.NumberCast` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return number_cast_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def number_cast_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.NumberCast: + """ + Read an instance of :py:class:`.types.NumberCast` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.number_cast_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.NumberCast` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.NumberCast` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return number_cast_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def number_cast_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.NumberCast: + """ + Read an instance of :py:class:`.types.NumberCast` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.number_cast_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.NumberCast` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.NumberCast` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return number_cast_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def hex_cast_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.HexCast: + """ + Read an instance of :py:class:`.types.HexCast` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.hex_cast_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HexCast` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse(iterator, _read_hex_cast_as_element, "HexCast") + + +def hex_cast_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.HexCast: + """ + Read an instance of :py:class:`.types.HexCast` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.hex_cast_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.HexCast` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HexCast` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return hex_cast_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def hex_cast_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.HexCast: + """ + Read an instance of :py:class:`.types.HexCast` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.hex_cast_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.HexCast` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HexCast` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return hex_cast_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def hex_cast_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.HexCast: + """ + Read an instance of :py:class:`.types.HexCast` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.hex_cast_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.HexCast` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.HexCast` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return hex_cast_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def boolean_cast_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.BooleanCast: + """ + Read an instance of :py:class:`.types.BooleanCast` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.boolean_cast_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BooleanCast` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_boolean_cast_as_element, "BooleanCast" + ) + + +def boolean_cast_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BooleanCast: + """ + Read an instance of :py:class:`.types.BooleanCast` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.boolean_cast_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.BooleanCast` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BooleanCast` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return boolean_cast_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def boolean_cast_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BooleanCast: + """ + Read an instance of :py:class:`.types.BooleanCast` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.boolean_cast_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.BooleanCast` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BooleanCast` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return boolean_cast_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def boolean_cast_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.BooleanCast: + """ + Read an instance of :py:class:`.types.BooleanCast` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.boolean_cast_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.BooleanCast` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.BooleanCast` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return boolean_cast_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def date_time_cast_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.DateTimeCast: + """ + Read an instance of :py:class:`.types.DateTimeCast` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.date_time_cast_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DateTimeCast` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_date_time_cast_as_element, "DateTimeCast" + ) + + +def date_time_cast_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DateTimeCast: + """ + Read an instance of :py:class:`.types.DateTimeCast` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.date_time_cast_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.DateTimeCast` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DateTimeCast` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return date_time_cast_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def date_time_cast_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DateTimeCast: + """ + Read an instance of :py:class:`.types.DateTimeCast` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.date_time_cast_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.DateTimeCast` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DateTimeCast` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return date_time_cast_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def date_time_cast_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DateTimeCast: + """ + Read an instance of :py:class:`.types.DateTimeCast` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.date_time_cast_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.DateTimeCast` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DateTimeCast` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return date_time_cast_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def time_cast_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.TimeCast: + """ + Read an instance of :py:class:`.types.TimeCast` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.time_cast_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.TimeCast` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_time_cast_as_element, "TimeCast" + ) + + +def time_cast_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.TimeCast: + """ + Read an instance of :py:class:`.types.TimeCast` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.time_cast_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.TimeCast` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.TimeCast` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return time_cast_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def time_cast_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.TimeCast: + """ + Read an instance of :py:class:`.types.TimeCast` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.time_cast_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.TimeCast` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.TimeCast` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return time_cast_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def time_cast_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.TimeCast: + """ + Read an instance of :py:class:`.types.TimeCast` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.time_cast_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.TimeCast` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.TimeCast` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return time_cast_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def day_of_week_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.DayOfWeek: + """ + Read an instance of :py:class:`.types.DayOfWeek` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.day_of_week_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DayOfWeek` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_day_of_week_as_element, "DayOfWeek" + ) + + +def day_of_week_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DayOfWeek: + """ + Read an instance of :py:class:`.types.DayOfWeek` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.day_of_week_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.DayOfWeek` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DayOfWeek` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return day_of_week_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def day_of_week_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DayOfWeek: + """ + Read an instance of :py:class:`.types.DayOfWeek` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.day_of_week_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.DayOfWeek` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DayOfWeek` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return day_of_week_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def day_of_week_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DayOfWeek: + """ + Read an instance of :py:class:`.types.DayOfWeek` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.day_of_week_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.DayOfWeek` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DayOfWeek` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return day_of_week_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def day_of_month_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.DayOfMonth: + """ + Read an instance of :py:class:`.types.DayOfMonth` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.day_of_month_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DayOfMonth` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_day_of_month_as_element, "DayOfMonth" + ) + + +def day_of_month_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DayOfMonth: + """ + Read an instance of :py:class:`.types.DayOfMonth` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.day_of_month_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.DayOfMonth` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DayOfMonth` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return day_of_month_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def day_of_month_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DayOfMonth: + """ + Read an instance of :py:class:`.types.DayOfMonth` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.day_of_month_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.DayOfMonth` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DayOfMonth` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return day_of_month_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def day_of_month_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DayOfMonth: + """ + Read an instance of :py:class:`.types.DayOfMonth` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.day_of_month_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.DayOfMonth` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DayOfMonth` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return day_of_month_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def month_from_iterparse(iterator: Iterator[Tuple[str, Element]]) -> our_types.Month: + """ + Read an instance of :py:class:`.types.Month` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.month_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Month` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse(iterator, _read_month_as_element, "Month") + + +def month_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Month: + """ + Read an instance of :py:class:`.types.Month` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.month_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Month` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Month` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return month_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def month_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Month: + """ + Read an instance of :py:class:`.types.Month` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.month_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Month` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Month` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return month_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def month_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Month: + """ + Read an instance of :py:class:`.types.Month` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.month_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Month` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Month` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return month_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def year_from_iterparse(iterator: Iterator[Tuple[str, Element]]) -> our_types.Year: + """ + Read an instance of :py:class:`.types.Year` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.year_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Year` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse(iterator, _read_year_as_element, "Year") + + +def year_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Year: + """ + Read an instance of :py:class:`.types.Year` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.year_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Year` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Year` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return year_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def year_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Year: + """ + Read an instance of :py:class:`.types.Year` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.year_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Year` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Year` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return year_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def year_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Year: + """ + Read an instance of :py:class:`.types.Year` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.year_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Year` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Year` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return year_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def date_time_attribute_operand_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.DateTimeAttributeOperand: + """ + Read an instance of :py:class:`.types.DateTimeAttributeOperand` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.date_time_attribute_operand_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DateTimeAttributeOperand` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_date_time_attribute_operand_as_element, + "DateTimeAttributeOperand", + ) + + +def date_time_attribute_operand_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DateTimeAttributeOperand: + """ + Read an instance of :py:class:`.types.DateTimeAttributeOperand` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.date_time_attribute_operand_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.DateTimeAttributeOperand` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DateTimeAttributeOperand` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return date_time_attribute_operand_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def date_time_attribute_operand_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DateTimeAttributeOperand: + """ + Read an instance of :py:class:`.types.DateTimeAttributeOperand` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.date_time_attribute_operand_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.DateTimeAttributeOperand` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DateTimeAttributeOperand` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return date_time_attribute_operand_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def date_time_attribute_operand_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.DateTimeAttributeOperand: + """ + Read an instance of :py:class:`.types.DateTimeAttributeOperand` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.date_time_attribute_operand_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.DateTimeAttributeOperand` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.DateTimeAttributeOperand` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return date_time_attribute_operand_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def equal_comparison_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.EqualComparison: + """ + Read an instance of :py:class:`.types.EqualComparison` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.equal_comparison_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EqualComparison` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_equal_comparison_as_element, "EqualComparison" + ) + + +def equal_comparison_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EqualComparison: + """ + Read an instance of :py:class:`.types.EqualComparison` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.equal_comparison_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.EqualComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EqualComparison` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return equal_comparison_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def equal_comparison_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EqualComparison: + """ + Read an instance of :py:class:`.types.EqualComparison` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.equal_comparison_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.EqualComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EqualComparison` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return equal_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def equal_comparison_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EqualComparison: + """ + Read an instance of :py:class:`.types.EqualComparison` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.equal_comparison_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.EqualComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EqualComparison` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return equal_comparison_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def not_equal_comparison_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.NotEqualComparison: + """ + Read an instance of :py:class:`.types.NotEqualComparison` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.not_equal_comparison_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.NotEqualComparison` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_not_equal_comparison_as_element, "NotEqualComparison" + ) + + +def not_equal_comparison_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.NotEqualComparison: + """ + Read an instance of :py:class:`.types.NotEqualComparison` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.not_equal_comparison_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.NotEqualComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.NotEqualComparison` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return not_equal_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def not_equal_comparison_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.NotEqualComparison: + """ + Read an instance of :py:class:`.types.NotEqualComparison` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.not_equal_comparison_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.NotEqualComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.NotEqualComparison` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return not_equal_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def not_equal_comparison_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.NotEqualComparison: + """ + Read an instance of :py:class:`.types.NotEqualComparison` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.not_equal_comparison_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.NotEqualComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.NotEqualComparison` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return not_equal_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def greater_than_comparison_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.GreaterThanComparison: + """ + Read an instance of :py:class:`.types.GreaterThanComparison` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.greater_than_comparison_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GreaterThanComparison` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_greater_than_comparison_as_element, "GreaterThanComparison" + ) + + +def greater_than_comparison_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GreaterThanComparison: + """ + Read an instance of :py:class:`.types.GreaterThanComparison` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.greater_than_comparison_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.GreaterThanComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GreaterThanComparison` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return greater_than_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def greater_than_comparison_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GreaterThanComparison: + """ + Read an instance of :py:class:`.types.GreaterThanComparison` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.greater_than_comparison_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.GreaterThanComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GreaterThanComparison` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return greater_than_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def greater_than_comparison_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GreaterThanComparison: + """ + Read an instance of :py:class:`.types.GreaterThanComparison` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.greater_than_comparison_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.GreaterThanComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GreaterThanComparison` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return greater_than_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def greater_than_or_equal_comparison_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.GreaterThanOrEqualComparison: + """ + Read an instance of :py:class:`.types.GreaterThanOrEqualComparison` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.greater_than_or_equal_comparison_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GreaterThanOrEqualComparison` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_greater_than_or_equal_comparison_as_element, + "GreaterThanOrEqualComparison", + ) + + +def greater_than_or_equal_comparison_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GreaterThanOrEqualComparison: + """ + Read an instance of :py:class:`.types.GreaterThanOrEqualComparison` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.greater_than_or_equal_comparison_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.GreaterThanOrEqualComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GreaterThanOrEqualComparison` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return greater_than_or_equal_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def greater_than_or_equal_comparison_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GreaterThanOrEqualComparison: + """ + Read an instance of :py:class:`.types.GreaterThanOrEqualComparison` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.greater_than_or_equal_comparison_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.GreaterThanOrEqualComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GreaterThanOrEqualComparison` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return greater_than_or_equal_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def greater_than_or_equal_comparison_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.GreaterThanOrEqualComparison: + """ + Read an instance of :py:class:`.types.GreaterThanOrEqualComparison` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.greater_than_or_equal_comparison_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.GreaterThanOrEqualComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.GreaterThanOrEqualComparison` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return greater_than_or_equal_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def less_than_comparison_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.LessThanComparison: + """ + Read an instance of :py:class:`.types.LessThanComparison` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.less_than_comparison_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LessThanComparison` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_less_than_comparison_as_element, "LessThanComparison" + ) + + +def less_than_comparison_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LessThanComparison: + """ + Read an instance of :py:class:`.types.LessThanComparison` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.less_than_comparison_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.LessThanComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LessThanComparison` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return less_than_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def less_than_comparison_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LessThanComparison: + """ + Read an instance of :py:class:`.types.LessThanComparison` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.less_than_comparison_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.LessThanComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LessThanComparison` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return less_than_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def less_than_comparison_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LessThanComparison: + """ + Read an instance of :py:class:`.types.LessThanComparison` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.less_than_comparison_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.LessThanComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LessThanComparison` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return less_than_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def less_than_or_equal_comparison_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.LessThanOrEqualComparison: + """ + Read an instance of :py:class:`.types.LessThanOrEqualComparison` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.less_than_or_equal_comparison_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LessThanOrEqualComparison` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, + _read_less_than_or_equal_comparison_as_element, + "LessThanOrEqualComparison", + ) + + +def less_than_or_equal_comparison_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LessThanOrEqualComparison: + """ + Read an instance of :py:class:`.types.LessThanOrEqualComparison` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.less_than_or_equal_comparison_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.LessThanOrEqualComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LessThanOrEqualComparison` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return less_than_or_equal_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def less_than_or_equal_comparison_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LessThanOrEqualComparison: + """ + Read an instance of :py:class:`.types.LessThanOrEqualComparison` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.less_than_or_equal_comparison_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.LessThanOrEqualComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LessThanOrEqualComparison` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return less_than_or_equal_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def less_than_or_equal_comparison_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.LessThanOrEqualComparison: + """ + Read an instance of :py:class:`.types.LessThanOrEqualComparison` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.less_than_or_equal_comparison_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.LessThanOrEqualComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.LessThanOrEqualComparison` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return less_than_or_equal_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def contains_comparison_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.ContainsComparison: + """ + Read an instance of :py:class:`.types.ContainsComparison` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.contains_comparison_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ContainsComparison` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_contains_comparison_as_element, "ContainsComparison" + ) + + +def contains_comparison_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ContainsComparison: + """ + Read an instance of :py:class:`.types.ContainsComparison` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.contains_comparison_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.ContainsComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ContainsComparison` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return contains_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def contains_comparison_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ContainsComparison: + """ + Read an instance of :py:class:`.types.ContainsComparison` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.contains_comparison_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.ContainsComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ContainsComparison` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return contains_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def contains_comparison_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.ContainsComparison: + """ + Read an instance of :py:class:`.types.ContainsComparison` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.contains_comparison_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.ContainsComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.ContainsComparison` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return contains_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def starts_with_comparison_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.StartsWithComparison: + """ + Read an instance of :py:class:`.types.StartsWithComparison` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.starts_with_comparison_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.StartsWithComparison` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_starts_with_comparison_as_element, "StartsWithComparison" + ) + + +def starts_with_comparison_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.StartsWithComparison: + """ + Read an instance of :py:class:`.types.StartsWithComparison` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.starts_with_comparison_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.StartsWithComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.StartsWithComparison` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return starts_with_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def starts_with_comparison_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.StartsWithComparison: + """ + Read an instance of :py:class:`.types.StartsWithComparison` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.starts_with_comparison_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.StartsWithComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.StartsWithComparison` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return starts_with_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def starts_with_comparison_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.StartsWithComparison: + """ + Read an instance of :py:class:`.types.StartsWithComparison` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.starts_with_comparison_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.StartsWithComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.StartsWithComparison` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return starts_with_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def ends_with_comparison_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.EndsWithComparison: + """ + Read an instance of :py:class:`.types.EndsWithComparison` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.ends_with_comparison_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EndsWithComparison` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_ends_with_comparison_as_element, "EndsWithComparison" + ) + + +def ends_with_comparison_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EndsWithComparison: + """ + Read an instance of :py:class:`.types.EndsWithComparison` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.ends_with_comparison_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.EndsWithComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EndsWithComparison` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return ends_with_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def ends_with_comparison_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EndsWithComparison: + """ + Read an instance of :py:class:`.types.EndsWithComparison` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.ends_with_comparison_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.EndsWithComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EndsWithComparison` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return ends_with_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def ends_with_comparison_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.EndsWithComparison: + """ + Read an instance of :py:class:`.types.EndsWithComparison` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.ends_with_comparison_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.EndsWithComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.EndsWithComparison` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return ends_with_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def regex_comparison_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.RegexComparison: + """ + Read an instance of :py:class:`.types.RegexComparison` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.regex_comparison_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RegexComparison` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_regex_comparison_as_element, "RegexComparison" + ) + + +def regex_comparison_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RegexComparison: + """ + Read an instance of :py:class:`.types.RegexComparison` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.regex_comparison_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.RegexComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RegexComparison` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return regex_comparison_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def regex_comparison_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RegexComparison: + """ + Read an instance of :py:class:`.types.RegexComparison` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.regex_comparison_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.RegexComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RegexComparison` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return regex_comparison_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def regex_comparison_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.RegexComparison: + """ + Read an instance of :py:class:`.types.RegexComparison` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.regex_comparison_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.RegexComparison` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.RegexComparison` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return regex_comparison_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def match_clause_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.MatchClause: + """ + Read an instance of :py:class:`.types.MatchClause` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.match_clause_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.MatchClause` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_match_clause_as_element, "MatchClause" + ) + + +def match_clause_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.MatchClause: + """ + Read an instance of :py:class:`.types.MatchClause` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.match_clause_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.MatchClause` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.MatchClause` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return match_clause_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def match_clause_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.MatchClause: + """ + Read an instance of :py:class:`.types.MatchClause` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.match_clause_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.MatchClause` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.MatchClause` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return match_clause_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def match_clause_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.MatchClause: + """ + Read an instance of :py:class:`.types.MatchClause` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.match_clause_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.MatchClause` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.MatchClause` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return match_clause_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def and_expression_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.AndExpression: + """ + Read an instance of :py:class:`.types.AndExpression` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.and_expression_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AndExpression` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_and_expression_as_element, "AndExpression" + ) + + +def and_expression_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AndExpression: + """ + Read an instance of :py:class:`.types.AndExpression` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.and_expression_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.AndExpression` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AndExpression` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return and_expression_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def and_expression_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AndExpression: + """ + Read an instance of :py:class:`.types.AndExpression` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.and_expression_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.AndExpression` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AndExpression` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return and_expression_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def and_expression_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.AndExpression: + """ + Read an instance of :py:class:`.types.AndExpression` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.and_expression_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.AndExpression` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.AndExpression` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return and_expression_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def or_expression_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.OrExpression: + """ + Read an instance of :py:class:`.types.OrExpression` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.or_expression_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OrExpression` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_or_expression_as_element, "OrExpression" + ) + + +def or_expression_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OrExpression: + """ + Read an instance of :py:class:`.types.OrExpression` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.or_expression_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.OrExpression` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OrExpression` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return or_expression_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def or_expression_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OrExpression: + """ + Read an instance of :py:class:`.types.OrExpression` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.or_expression_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.OrExpression` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OrExpression` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return or_expression_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def or_expression_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.OrExpression: + """ + Read an instance of :py:class:`.types.OrExpression` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.or_expression_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.OrExpression` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.OrExpression` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return or_expression_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def not_expression_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.NotExpression: + """ + Read an instance of :py:class:`.types.NotExpression` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.not_expression_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.NotExpression` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_not_expression_as_element, "NotExpression" + ) + + +def not_expression_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.NotExpression: + """ + Read an instance of :py:class:`.types.NotExpression` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.not_expression_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.NotExpression` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.NotExpression` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return not_expression_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def not_expression_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.NotExpression: + """ + Read an instance of :py:class:`.types.NotExpression` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.not_expression_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.NotExpression` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.NotExpression` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return not_expression_from_iterparse( + _with_elements_cleared_after_yield(iterator) + ) + + +def not_expression_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.NotExpression: + """ + Read an instance of :py:class:`.types.NotExpression` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.not_expression_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.NotExpression` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.NotExpression` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return not_expression_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def query_filter_from_iterparse( + iterator: Iterator[Tuple[str, Element]], +) -> our_types.QueryFilter: + """ + Read an instance of :py:class:`.types.QueryFilter` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.query_filter_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.QueryFilter` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse( + iterator, _read_query_filter_as_element, "QueryFilter" + ) + + +def query_filter_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.QueryFilter: + """ + Read an instance of :py:class:`.types.QueryFilter` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.query_filter_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.QueryFilter` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.QueryFilter` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return query_filter_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def query_filter_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.QueryFilter: + """ + Read an instance of :py:class:`.types.QueryFilter` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.query_filter_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.QueryFilter` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.QueryFilter` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return query_filter_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def query_filter_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.QueryFilter: + """ + Read an instance of :py:class:`.types.QueryFilter` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.query_filter_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.QueryFilter` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.QueryFilter` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return query_filter_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def query_from_iterparse(iterator: Iterator[Tuple[str, Element]]) -> our_types.Query: + """ + Read an instance of :py:class:`.types.Query` from + the :paramref:`iterator`. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.query_from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Query` read from + :paramref:`iterator` + """ + return _read_instance_from_iterparse(iterator, _read_query_as_element, "Query") + + +def query_from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Query: + """ + Read an instance of :py:class:`.types.Query` from + the :paramref:`stream`. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.query_from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance of + :py:class:`.types.Query` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Query` read from + :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return query_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def query_from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Query: + """ + Read an instance of :py:class:`.types.Query` from + the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.query_from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance of + :py:class:`.types.Query` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Query` read from + :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return query_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def query_from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Query: + """ + Read an instance of :py:class:`.types.Query` from + the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.query_from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance of + :py:class:`.types.Query` in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Query` read from + :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return query_from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def from_iterparse(iterator: Iterator[Tuple[str, Element]]) -> our_types.Class: + """ + Read an instance from the :paramref:`iterator`. + + The type of the instance is determined by the very first start element. + + Example usage: + + .. code-block:: + + import pathlib + import xml.etree.ElementTree as ET + + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + with path.open("rt") as fid: + iterator = ET.iterparse( + source=fid, + events=['start', 'end'] + ) + instance = our_xmlization.from_iterparse( + iterator + ) + + # Do something with the ``instance`` + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance of :py:class:`.types.Class` read from the :paramref:`iterator` + """ + return _read_instance_from_iterparse(iterator, _read_as_element, "an instance") + + +def from_stream( + stream: TextIO, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Class: + """ + Read an instance from the :paramref:`stream`. + + The type of the instance is determined by the very first start element. + + Example usage: + + .. code-block:: + + import aas_core3_2.xmlization as our_xmlization + + with open_some_stream_over_network(...) as stream: + instance = our_xmlization.from_stream( + stream + ) + + # Do something with the ``instance`` + + :param stream: + representing an instance in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance read from :paramref:`stream` + """ + iterator = has_iterparse.iterparse(stream, ["start", "end"]) + return from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def from_file( + path: PathLike, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Class: + """ + Read an instance from the file at the :paramref:`path`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + path = pathlib.Path(...) + instance = our_xmlization.from_file( + path + ) + + # Do something with the ``instance`` + + :param path: + to the file representing an instance in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance read from the file at :paramref:`path` + """ + with open(os.fspath(path), encoding="utf-8") as fid: + iterator = has_iterparse.iterparse(fid, ["start", "end"]) + return from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +def from_str( + text: str, has_iterparse: HasIterparse = xml.etree.ElementTree +) -> our_types.Class: + """ + Read an instance from the :paramref:`text`. + + Example usage: + + .. code-block:: + + import pathlib + import aas_core3_2.xmlization as our_xmlization + + text = "<...>..." + instance = our_xmlization.from_str( + text + ) + + # Do something with the ``instance`` + + :param text: + representing an instance in XML + :param has_iterparse: + Module containing ``iterparse`` function. + + Default is to use :py:mod:`xml.etree.ElementTree` from the standard + library. If you have to deal with malicious input, consider using + a library such as `defusedxml.ElementTree`_. + :raise: :py:class:`DeserializationException` if unexpected input + :return: + Instance read from :paramref:`text` + """ + iterator = has_iterparse.iterparse(io.StringIO(text), ["start", "end"]) + return from_iterparse(_with_elements_cleared_after_yield(iterator)) + + +# NOTE (mristin): +# Directly using the iterator turned out to result in very complex function +# designs. The design became much simpler as soon as we considered one look-ahead +# element. We came up finally with the following pattern which all the protected +# reading functions below roughly follow: +# +# ..code-block:: +# +# _read_*( +# look-ahead element, +# iterator +# ) -> result +# +# The reading functions all read from the ``iterator`` coming from +# :py:func:`xml.etree.ElementTree.iterparse` with the argument +# ``events=["start", "end"]``. The exception :py:class:`.DeserializationException` +# is raised in case of unexpected input. +# +# The reading functions are responsible to read the end element corresponding to the +# start look-ahead element. +# +# When it comes to error reporting, we use exceptions. The exceptions are raised in +# the *callee*, as usual. However, the context of the exception, such as the error path, +# is added in the *caller*, as only the caller knows the context of +# the lookahead-element. In particular, prepending the path segment corresponding to +# the lookahead-element is the responsibility of the *caller*, and not of +# the *callee*. + + +_ValueT = TypeVar("_ValueT") + +#: Read the content of an element which has already been opened, and read +#: the corresponding end element as well +_ContentReader = Callable[[Element, Iterator[Tuple[str, Element]]], _ValueT] + + +def _read_named_element( + element: Element, + iterator: Iterator[Tuple[str, Element]], + expected_tag: str, + read_content: _ContentReader[_ValueT], +) -> _ValueT: + """ + Verify that :paramref:`element` bears the :paramref:`expected_tag`, and + delegate the reading of its content to :paramref:`read_content`. + + This is the only place where an element's tag is checked against the tag which + its container prescribes -- the XML name of a class, ```` for a list item, or + ````, ````, *etc.* for a tuple item. + + :param element: look-ahead element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :param expected_tag: expected tag of :paramref:`element` + :param read_content: to read the content of :paramref:`element` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + tag_wo_ns = parse_element_tag(element) + if tag_wo_ns != expected_tag: + raise DeserializationException( + f"Expected an element with the tag {expected_tag!r}, " + f"but got an element with tag: {tag_wo_ns!r}" + ) + + return read_content(element, iterator) + + +def _read_nested_element( + element: Element, + iterator: Iterator[Tuple[str, Element]], + read_element: _ContentReader[_ValueT], + expected_what: str, +) -> _ValueT: + """ + Read the instance nested in :paramref:`element` as a discriminator element. + + This looks redundant next to reading a list item, and it is not. A property + wraps its instance in an element of its own, so the discriminator's name has to + be prepended to the error path, which then reads ``value/property/idShort``. + A list item is not wrapped -- the item element *is* the indexed child -- so the + same prepend would give ``annotations/*[1]/property/idShort``, which walks one + level past the element that ``*[1]`` already selects, and resolves to nothing. + + The end element corresponding to :paramref:`element` will be read as well. + + :param element: start element enclosing the discriminator element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :param read_element: to read the nested element, dispatching on its tag + :param expected_what: name of the expected type, for the error messages + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + next_event_element = next(iterator, None) + if next_event_element is None: + raise DeserializationException( + f"Expected a discriminator start element corresponding " + f"to {expected_what}, but got end-of-input" + ) + + next_event, nested_element = next_event_element + if next_event != "start": + raise DeserializationException( + f"Expected a discriminator start element corresponding " + f"to {expected_what}, " + f"but got event {next_event!r} and element {nested_element.tag!r}" + ) + + try: + result = read_element(nested_element, iterator) + except DeserializationException as exception: + exception.path._prepend(ElementSegment(nested_element)) + raise + + read_end_element(element, iterator) + + return result + + +def _read_dispatched( + element: Element, + iterator: Iterator[Tuple[str, Element]], + dispatch: Mapping[str, _ContentReader[_ValueT]], + expected_what: str, +) -> _ValueT: + """ + Read the instance of :paramref:`element` by dispatching on its own tag. + + An instance element is self-describing: its tag *is* its model type. + + The end element corresponding to :paramref:`element` will be read as well. + + :param element: start element of the instance + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :param dispatch: to read the instance as a sequence, by its model type + :param expected_what: what we expected to read, for the error messages + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + tag_wo_ns = parse_element_tag(element) + + read_as_sequence = dispatch.get(tag_wo_ns) + if read_as_sequence is None: + raise DeserializationException( + f"Expected the element tag to be a valid model type " + f"of {expected_what}, " + f"but got tag {tag_wo_ns!r}" + ) + + return read_as_sequence(element, iterator) + + +def _read_properties( + element: Element, + iterator: Iterator[Tuple[str, Element]], + readers: Mapping[str, _ContentReader[Any]], +) -> Mapping[str, Any]: + """ + Read the properties of an instance as the children of :paramref:`element`. + + The end element corresponding to :paramref:`element` will be read as well. + + A property may come at most once, and an unknown tag is refused outright. + + The property is marked on the error path here, once for all the properties, + instead of in every reader: the tag of the child element *is* the XML name of + the property which we are reading. + + :param element: start element, parent of the properties + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :param readers: to read the content of a property, by its XML name + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed values, by the XML name of the property + """ + if element.text is not None and len(element.text.strip()) != 0: + raise DeserializationException( + f"Expected only XML elements representing the properties " + f"and whitespace text, but got text: {element.text!r}" + ) + + raise_if_has_tail_or_attrib(element) + + values: Dict[str, Any] = {} + + while True: + # NOTE (mristin): + # We pull the next property element here instead of delegating it to + # a helper. A call is not free in Python, and this loop runs once for + # every property of every instance. + next_event_element = next(iterator, None) + if next_event_element is None: + raise DeserializationException( + f"Expected a property element or the end element corresponding " + f"to {element.tag}, but got the end-of-input" + ) + + next_event, prop_element = next_event_element + if next_event == "end" and prop_element.tag == element.tag: + # We reached the end element enclosing the properties. + break + + if next_event != "start": + raise DeserializationException( + f"Expected a start element corresponding to a property, " + f"but got event {next_event!r} " + f"and element {prop_element.tag!r}" + ) + + try: + tag_wo_ns = parse_element_tag(prop_element) + + # NOTE (mristin): + # A tag already in ``values`` can only have got there by being read, + # so its presence means that the property comes a second time. + if tag_wo_ns in values: + raise DeserializationException( + f"Property {tag_wo_ns!r} occurred more than once" + ) + + reader = readers.get(tag_wo_ns) + if reader is None: + raise DeserializationException( + f"Expected an element representing a property, " + f"but got an element with unexpected tag: {tag_wo_ns!r}" + ) + + values[tag_wo_ns] = reader(prop_element, iterator) + except DeserializationException as exception: + exception.path._prepend(ElementSegment(prop_element)) + raise + + return values + + +def _read_list_of_items( + element: Element, + iterator: Iterator[Tuple[str, Element]], + read_item: _ContentReader[_ValueT], +) -> List[_ValueT]: + """ + Read the children of :paramref:`element` as a list of items. + + :paramref:`read_item` is responsible for verifying the tag of each item + element itself -- *e.g.*, by wrapping a scalar/enumeration reader with + :py:func:`_read_named_element`, or by relying on a class's own dispatch by + its natural element tag. + + The end element corresponding to :paramref:`element` will be read as well. + + :param element: start element enclosing the list + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :param read_item: to read a single item, including its own end element + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed items + """ + if element.text is not None and len(element.text.strip()) != 0: + raise DeserializationException( + f"Expected only item elements and whitespace text, " + f"but got text: {element.text!r}" + ) + + result: List[_ValueT] = [] + + while True: + # NOTE (mristin): + # We pull the next item element here instead of delegating it to a helper, + # as this loop runs once for every item of every list. + next_event_element = next(iterator, None) + if next_event_element is None: + raise DeserializationException( + f"Expected an item element or the end element corresponding " + f"to {element.tag}, but got the end-of-input" + ) + + next_event, item_element = next_event_element + if next_event == "end" and item_element.tag == element.tag: + # We reached the end element enclosing the items. + break + + if next_event != "start": + raise DeserializationException( + f"Expected a start element corresponding to an item, " + f"but got event {next_event!r} " + f"and element {item_element.tag!r}" + ) + + try: + item = read_item(item_element, iterator) + except DeserializationException as exception: + exception.path._prepend(IndexSegment(item_element, len(result))) + raise + + result.append(item) + + return result + + +def _read_tuple_item( + element: Element, + iterator: Iterator[Tuple[str, Element]], + index: int, + read_item: _ContentReader[_ValueT], +) -> _ValueT: + """ + Read the item at :paramref:`index` of the tuple enclosed in :paramref:`element`. + + :param element: start element enclosing the tuple + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :param index: index of the item in the tuple + :param read_item: to read the item, including its own end element + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed item + """ + next_event_element = next(iterator, None) + if next_event_element is None: + raise DeserializationException( + f"Expected the item {index} of the tuple, " f"but got end-of-input" + ) + + next_event, item_element = next_event_element + if next_event != "start": + raise DeserializationException( + f"Expected a start element corresponding to the item {index} " + f"of the tuple, but got event {next_event!r} " + f"and element {item_element.tag!r}" + ) + + try: + return read_item(item_element, iterator) + except DeserializationException as exception: + exception.path._prepend(IndexSegment(item_element, index)) + raise + + +def _read_instance_from_iterparse( + iterator: Iterator[Tuple[str, Element]], + read_as_element: _ContentReader[_ValueT], + expected_what: str, +) -> _ValueT: + """ + Read an instance from :paramref:`iterator`, starting at its start element. + + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :param read_as_element: to read the instance, including its end element + :param expected_what: what we expected to read, for the error messages + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + next_element = read_next_start_element(iterator, expected_what) + + try: + return read_as_element(next_element, iterator) + except DeserializationException as exception: + exception.path._prepend(ElementSegment(next_element)) + raise + + +def _remove_whitespace(text: str) -> str: + """ + Drop every whitespace character of :paramref:`text`. + + This is what ``xs:base64Binary`` needs: it allows whitespace between + the characters and not only around them, so collapsing is not enough. + + :param text: to be stripped of its whitespace + :return: text without any whitespace + """ + return XS_WHITESPACE_RE.sub("", text) + + +_XS_BASE64_CHARACTERS = frozenset( + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" "abcdefghijklmnopqrstuvwxyz" "0123456789+/" +) + +#: Admit the characters which can precede a single ``=``. The two bits which +#: the padding drops have to be zero, which only these sixteen satisfy. +_XS_BASE64_BEFORE_ONE_PAD = frozenset("AEIMQUYcgkosw048") + +#: Admit the characters which can precede ``==``, by the same argument over +#: the four bits which are dropped. +_XS_BASE64_BEFORE_TWO_PADS = frozenset("AQgw") + + +def _matches_xs_base64_binary(text: str) -> bool: + """ + Tell whether :paramref:`text` is a lexical form of ``xs:base64Binary``. + + The whitespace is expected to be gone already. What is left has to match:: + + (B64 B64 B64 B64)* ((B64 B64 B64 B64) | (B64 B64 B16 '=') | (B64 B04 '=='))? + + which is to say: a length which is a multiple of four, the alphabet and + nothing else, an equals sign only at the very end, and -- easily missed -- + a constrained character *before* the padding, since the bits which + the padding drops have to be zero. + + The decoders do not agree on any of this. Some take ``SGk`` although it is + three characters long, some quietly discard a character which is not in + the alphabet, and some take an equals sign in the middle. Hence the check + of our own, so that every target refuses the same texts. + + See: https://www.w3.org/TR/xmlschema-2/#base64Binary + + :param text: to be checked, with the whitespace already removed + :return: True if :paramref:`text` is a lexical form of ``xs:base64Binary`` + """ + if len(text) % 4 != 0: + return False + + if len(text) == 0: + return True + + pads = 0 + if text[-1] == "=": + pads = 1 + if text[-2] == "=": + pads = 2 + + if any( + character not in _XS_BASE64_CHARACTERS for character in text[: len(text) - pads] + ): + return False + + if pads == 1: + return text[-2] in _XS_BASE64_BEFORE_ONE_PAD + + if pads == 2: + return text[-3] in _XS_BASE64_BEFORE_TWO_PADS + + return True + + +_XS_BOOLEAN_LITERAL_SET = { + "1", + "true", + "0", + "false", +} + + +def _read_bool_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> bool: + """ + Parse the text of :paramref:`element` as a boolean, and + read the corresponding end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + text = collapse_whitespace(read_text_from_element(element, iterator)) + + if text not in _XS_BOOLEAN_LITERAL_SET: + raise DeserializationException( + f"Expected a boolean, " f"but got an element with text: {text!r}" + ) + + return text in ("1", "true") + + +#: Map the named literals of ``xs:double`` onto their values. +#: +#: ``+INF`` is read although it is written as ``INF``: XSD 1.1 admits it -- +#: the production is ``(\+|-)?INF`` -- and being liberal in what we accept +#: costs nothing here, while a document from a 1.1 processor would otherwise +#: be unreadable. +#: +#: See: https://www.w3.org/TR/xmlschema11-2/#double +_TEXT_TO_XS_DOUBLE_LITERALS = { + "NaN": math.nan, + "INF": math.inf, + "+INF": math.inf, + "-INF": -math.inf, +} + +#: Match the numeric part of the lexical space of ``xs:double``. The three +#: named literals are looked up in :py:attr:`_TEXT_TO_XS_DOUBLE_LITERALS` +#: before this is tried. +#: +#: Mind the explicit ``[0-9]``: ``\d`` would match a digit of any script, so +#: the Arabic-Indic ``۵`` would pass, and :py:func:`float` would read it +#: as 5. +#: +#: See: https://www.w3.org/TR/xmlschema-2/#double +_XS_DOUBLE_RE = re.compile(r"(\+|-)?([0-9]+(\.[0-9]*)?|\.[0-9]+)([Ee](\+|-)?[0-9]+)?") + + +def _read_float_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> float: + """ + Parse the text of :paramref:`element` as a floating-point number, and + read the corresponding end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + text = collapse_whitespace(read_text_from_element(element, iterator)) + + value = _TEXT_TO_XS_DOUBLE_LITERALS.get(text) + if value is None: + # NOTE (mristin): + # ``float`` is far too permissive to be handed the text directly: it + # takes ``Infinity``, ``inf``, ``nan`` and ``NAN``, none of which is + # a valid ``xs:double``, as well as a digit group separator as in + # ``1_0`` and surrounding whitespace. Mind that it is checked with + # ``fullmatch`` and not with ``match``: ``$`` would also match just + # before a trailing newline. + if _XS_DOUBLE_RE.fullmatch(text) is None: + raise DeserializationException( + f"Expected a value as xs:double, " + f"but got an element with text: {text!r}" + ) + + try: + value = float(text) + except ValueError: + raise DeserializationException( + f"Expected a floating-point number, " + f"but got an element with text: {text!r}" + ) from None + + return value + + +def _read_bytes_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> bytes: + """ + Parse the text of :paramref:`element` as base64-encoded bytes, and + read the corresponding end element from :paramref:`iterator`. + + :param element: look-ahead element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + # NOTE (mristin): + # We do not use ``read_text_from_element`` as that function expects + # the ``element`` to contain *some* text. An empty ``xs:base64Binary`` + # is a lexical form of its own, and stands for zero bytes -- its whole + # production is optional -- so it is read here just like an empty + # ``xs:string`` is. + raw_text = element.text + + end_element = read_end_element(element, iterator) + + if raw_text is None: + raw_text = end_element.text + + raise_if_has_tail_or_attrib(element) + + text = _remove_whitespace(raw_text if raw_text is not None else "") + + if not _matches_xs_base64_binary(text): + raise DeserializationException( + f"Expected a text as base64-encoded bytes, " + f"but got an element with text: {text!r}" + ) + + try: + value = base64.b64decode(text) + except Exception: + raise DeserializationException( + f"Expected a text as base64-encoded bytes, " + f"but got an element with text: {text!r}" + ) from None + + return value + + +def _read_enum_from_element_text( + element: Element, + iterator: Iterator[Tuple[str, Element]], + literal_from_str: Callable[[str], Optional[_ValueT]], + enum_name: str, +) -> _ValueT: + """ + Parse the text of :paramref:`element` as an enumeration literal, and read + the corresponding end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :param literal_from_str: to parse the literal from its string representation + :param enum_name: name of the enumeration, for the error messages + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed literal + """ + text = read_text_from_element(element, iterator) + + literal = literal_from_str(text) + if literal is None: + raise DeserializationException( + f"Not a valid string representation of " f"a literal of {enum_name}: {text}" + ) + + return literal + + +def _read_json_object_body( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.JsonObject: + """ + Read the content of :paramref:`element` as a sequence of ````'s. + + :param element: start element enclosing the members + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed JSON-able object + """ + return our_xmlrpc.read_struct_body(element, iterator) + + +_TupleItem1T = TypeVar("_TupleItem1T") +_TupleItem2T = TypeVar("_TupleItem2T") + + +def _tuple2_from_element( + element: Element, + iterator: Iterator[Tuple[str, Element]], + read_item_1: _ContentReader[_TupleItem1T], + read_item_2: _ContentReader[_TupleItem2T], +) -> Tuple[_TupleItem1T, _TupleItem2T]: + """ + Read a tuple of 2 item(s) from :paramref:`iterator`. + + Each ``read_item_*`` function is responsible for verifying the tag of its + own item element -- *e.g.*, by wrapping a scalar/enumeration reader with + :py:func:`_read_named_element`, or by relying on a class's own dispatch by + its natural element tag. + + The end element corresponding to :paramref:`element` will be read as well. + + :param element: start element enclosing the tuple + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :param read_item_1: to read the item at the position 0, including its own end element + :param read_item_2: to read the item at the position 1, including its own end element + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed tuple + """ + if element.text is not None and len(element.text.strip()) != 0: + raise DeserializationException( + f"Expected only item elements and whitespace text, " + f"but got text: {element.text!r}" + ) + + item_1 = _read_tuple_item(element, iterator, 0, read_item_1) + + item_2 = _read_tuple_item(element, iterator, 1, read_item_2) + + read_end_element(element, iterator) + + return (item_1, item_2) + + +def _read_json_object__at_v( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.JsonObject: + """ + Read the content of :paramref:`element`, which must be tagged + ``v``, as a JSON-able object. + """ + return _read_named_element(element, iterator, "v", _read_json_object_body) + + +def _read_list_of__asset_administration_shell( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.AssetAdministrationShell]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.AssetAdministrationShell`. + """ + return _read_list_of_items( + element, iterator, _read_asset_administration_shell_as_element + ) + + +def _read_list_of__asset_administration_shell_descriptor( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.AssetAdministrationShellDescriptor]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.AssetAdministrationShellDescriptor`. + """ + return _read_list_of_items( + element, iterator, _read_asset_administration_shell_descriptor_as_element + ) + + +def _read_list_of__asset_administration_shell_metadata( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.AssetAdministrationShellMetadata]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.AssetAdministrationShellMetadata`. + """ + return _read_list_of_items( + element, iterator, _read_asset_administration_shell_metadata_as_element + ) + + +def _read_list_of__asset_administration_shell_recent_change( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.AssetAdministrationShellRecentChange]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.AssetAdministrationShellRecentChange`. + """ + return _read_list_of_items( + element, iterator, _read_asset_administration_shell_recent_change_as_element + ) + + +def _read_list_of__concept_description( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.ConceptDescription]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.ConceptDescription`. + """ + return _read_list_of_items(element, iterator, _read_concept_description_as_element) + + +def _read_list_of__concept_description_recent_change( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.ConceptDescriptionRecentChange]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.ConceptDescriptionRecentChange`. + """ + return _read_list_of_items( + element, iterator, _read_concept_description_recent_change_as_element + ) + + +def _read_list_of__data_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.DataElement]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.DataElement`. + """ + return _read_list_of_items(element, iterator, _read_data_element_as_element) + + +def _read_list_of__definition_type_uom( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.DefinitionTypeUom]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.DefinitionTypeUom`. + """ + return _read_list_of_items(element, iterator, _read_definition_type_uom_as_element) + + +def _read_list_of__embedded_data_specification( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.EmbeddedDataSpecification]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.EmbeddedDataSpecification`. + """ + return _read_list_of_items( + element, iterator, _read_embedded_data_specification_as_element + ) + + +def _read_list_of__endpoint( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.Endpoint]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.Endpoint`. + """ + return _read_list_of_items(element, iterator, _read_endpoint_as_element) + + +def _read_list_of__extension( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.Extension]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.Extension`. + """ + return _read_list_of_items(element, iterator, _read_extension_as_element) + + +def _read_list_of__json_object( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.JsonObject]: + """ + Read the items of :paramref:`element` as a list of + a JSON-able object. + """ + return _read_list_of_items(element, iterator, _read_json_object__at_v) + + +def _read_list_of__key( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.Key]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.Key`. + """ + return _read_list_of_items(element, iterator, _read_key_as_element) + + +def _read_list_of__lang_string_definition_type_iec_61360( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.LangStringDefinitionTypeIEC61360]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.LangStringDefinitionTypeIEC61360`. + """ + return _read_list_of_items( + element, iterator, _read_lang_string_definition_type_iec_61360_as_element + ) + + +def _read_list_of__lang_string_name_type( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.LangStringNameType]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.LangStringNameType`. + """ + return _read_list_of_items( + element, iterator, _read_lang_string_name_type_as_element + ) + + +def _read_list_of__lang_string_preferred_name_type_iec_61360( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.LangStringPreferredNameTypeIEC61360]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.LangStringPreferredNameTypeIEC61360`. + """ + return _read_list_of_items( + element, iterator, _read_lang_string_preferred_name_type_iec_61360_as_element + ) + + +def _read_list_of__lang_string_short_name_type_iec_61360( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.LangStringShortNameTypeIEC61360]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.LangStringShortNameTypeIEC61360`. + """ + return _read_list_of_items( + element, iterator, _read_lang_string_short_name_type_iec_61360_as_element + ) + + +def _read_list_of__lang_string_text_type( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.LangStringTextType]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.LangStringTextType`. + """ + return _read_list_of_items( + element, iterator, _read_lang_string_text_type_as_element + ) + + +def _read_list_of__lang_string_uom( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.LangStringUom]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.LangStringUom`. + """ + return _read_list_of_items(element, iterator, _read_lang_string_uom_as_element) + + +def _read_list_of__logical_expression( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.LogicalExpression]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.LogicalExpression`. + """ + return _read_list_of_items(element, iterator, _read_logical_expression_as_element) + + +def _read_list_of__match_expression( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.MatchExpression]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.MatchExpression`. + """ + return _read_list_of_items(element, iterator, _read_match_expression_as_element) + + +def _read_list_of__message( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.Message]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.Message`. + """ + return _read_list_of_items(element, iterator, _read_message_as_element) + + +def _read_list_of__operation_variable( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.OperationVariable]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.OperationVariable`. + """ + return _read_list_of_items(element, iterator, _read_operation_variable_as_element) + + +def _read_list_of__package_description( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.PackageDescription]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.PackageDescription`. + """ + return _read_list_of_items(element, iterator, _read_package_description_as_element) + + +def _read_list_of__qualifier( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.Qualifier]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.Qualifier`. + """ + return _read_list_of_items(element, iterator, _read_qualifier_as_element) + + +def _read_list_of__query_filter( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.QueryFilter]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.QueryFilter`. + """ + return _read_list_of_items(element, iterator, _read_query_filter_as_element) + + +def _read_list_of__referable( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.Referable]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.Referable`. + """ + return _read_list_of_items(element, iterator, _read_referable_as_element) + + +def _read_list_of__reference( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.Reference]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.Reference`. + """ + return _read_list_of_items(element, iterator, _read_reference_as_element) + + +def _read_list_of__security_attribute_object( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.SecurityAttributeObject]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.SecurityAttributeObject`. + """ + return _read_list_of_items( + element, iterator, _read_security_attribute_object_as_element + ) + + +def _read_list_of__service_specification_profile_enum( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.ServiceSpecificationProfileEnum]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.ServiceSpecificationProfileEnum`. + """ + return _read_list_of_items( + element, iterator, _read_service_specification_profile_enum__at_v + ) + + +def _read_list_of__specific_asset_id( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.SpecificAssetID]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.SpecificAssetID`. + """ + return _read_list_of_items(element, iterator, _read_specific_asset_id_as_element) + + +def _read_list_of__str( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[str]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.PathItem`. + """ + return _read_list_of_items(element, iterator, _read_str__at_v) + + +def _read_list_of__submodel( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.Submodel]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.Submodel`. + """ + return _read_list_of_items(element, iterator, _read_submodel_as_element) + + +def _read_list_of__submodel_descriptor( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.SubmodelDescriptor]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.SubmodelDescriptor`. + """ + return _read_list_of_items(element, iterator, _read_submodel_descriptor_as_element) + + +def _read_list_of__submodel_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.SubmodelElement]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.SubmodelElement`. + """ + return _read_list_of_items(element, iterator, _read_submodel_element_as_element) + + +def _read_list_of__submodel_element_metadata( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.SubmodelElementMetadata]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.SubmodelElementMetadata`. + """ + return _read_list_of_items( + element, iterator, _read_submodel_element_metadata_as_element + ) + + +def _read_list_of__submodel_metadata( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.SubmodelMetadata]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.SubmodelMetadata`. + """ + return _read_list_of_items(element, iterator, _read_submodel_metadata_as_element) + + +def _read_list_of__submodel_recent_change( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.SubmodelRecentChange]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.SubmodelRecentChange`. + """ + return _read_list_of_items( + element, iterator, _read_submodel_recent_change_as_element + ) + + +def _read_list_of__value_reference_pair( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> List[our_types.ValueReferencePair]: + """ + Read the items of :paramref:`element` as a list of + :py:class:`.types.ValueReferencePair`. + """ + return _read_list_of_items(element, iterator, _read_value_reference_pair_as_element) + + +def _read_nested__attribute_item( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AttributeItem: + """ + Read an instance of :py:class:`.types.AttributeItem` nested in + :paramref:`element` as a discriminator element. + """ + return _read_nested_element( + element, iterator, _read_attribute_item_as_element, "AttributeItem" + ) + + +def _read_nested__data_specification_content( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DataSpecificationContent: + """ + Read an instance of :py:class:`.types.DataSpecificationContent` nested in + :paramref:`element` as a discriminator element. + """ + return _read_nested_element( + element, + iterator, + _read_data_specification_content_as_element, + "DataSpecificationContent", + ) + + +def _read_nested__date_time_operand( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DateTimeOperand: + """ + Read an instance of :py:class:`.types.DateTimeOperand` nested in + :paramref:`element` as a discriminator element. + """ + return _read_nested_element( + element, iterator, _read_date_time_operand_as_element, "DateTimeOperand" + ) + + +def _read_nested__logical_expression( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.LogicalExpression: + """ + Read an instance of :py:class:`.types.LogicalExpression` nested in + :paramref:`element` as a discriminator element. + """ + return _read_nested_element( + element, iterator, _read_logical_expression_as_element, "LogicalExpression" + ) + + +def _read_nested__string_value( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.StringValue: + """ + Read an instance of :py:class:`.types.StringValue` nested in + :paramref:`element` as a discriminator element. + """ + return _read_nested_element( + element, iterator, _read_string_value_as_element, "StringValue" + ) + + +def _read_nested__submodel_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SubmodelElement: + """ + Read an instance of :py:class:`.types.SubmodelElement` nested in + :paramref:`element` as a discriminator element. + """ + return _read_nested_element( + element, iterator, _read_submodel_element_as_element, "SubmodelElement" + ) + + +def _read_nested__time_cast_operand( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.TimeCastOperand: + """ + Read an instance of :py:class:`.types.TimeCastOperand` nested in + :paramref:`element` as a discriminator element. + """ + return _read_nested_element( + element, iterator, _read_time_cast_operand_as_element, "TimeCastOperand" + ) + + +def _read_nested__value( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Value: + """ + Read an instance of :py:class:`.types.Value` nested in + :paramref:`element` as a discriminator element. + """ + return _read_nested_element(element, iterator, _read_value_as_element, "Value") + + +def _read_service_specification_profile_enum__at_v( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ServiceSpecificationProfileEnum: + """ + Read the content of :paramref:`element`, which must be tagged + ``v``, as :py:class:`.types.ServiceSpecificationProfileEnum`. + """ + return _read_named_element( + element, + iterator, + "v", + _read_service_specification_profile_enum_from_element_text, + ) + + +def _read_str__at_v(element: Element, iterator: Iterator[Tuple[str, Element]]) -> str: + """ + Read the content of :paramref:`element`, which must be tagged + ``v``, as :py:class:`.types.PathItem`. + """ + return _read_named_element(element, iterator, "v", read_str_from_element_text) + + +def _read_tuple2_of__string_value__string_value( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> Tuple[our_types.StringValue, our_types.StringValue]: + """ + Read the items of :paramref:`element` as a tuple of 2 item(s). + """ + return _tuple2_from_element( + element, iterator, _read_string_value_as_element, _read_string_value_as_element + ) + + +def _read_tuple2_of__value__value( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> Tuple[our_types.Value, our_types.Value]: + """ + Read the items of :paramref:`element` as a tuple of 2 item(s). + """ + return _tuple2_from_element( + element, iterator, _read_value_as_element, _read_value_as_element + ) + + +def _read_has_semantics_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.HasSemantics: + """ + Read an instance of :py:class:`.types.HasSemantics` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_HAS_SEMANTICS, + "a concrete instance of 'HasSemantics'", + ) + + +def _read_extension_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Extension: + """ + Read an instance of :py:class:`.types.Extension` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_EXTENSION) + + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_name: Optional[str] = values.get("name") + the_value_type: Optional[our_types.DataTypeDefXSD] = values.get("valueType") + the_value: Optional[str] = values.get("value") + the_refers_to: Optional[List[our_types.Reference]] = values.get("refersTo") + + if the_name is None: + raise DeserializationException("The required property 'name' is missing") + + return our_types.Extension( + the_name, + the_semantic_id, + the_supplemental_semantic_ids, + the_value_type, + the_value, + the_refers_to, + ) + + +def _read_extension_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Extension: + """ + Read an instance of :py:class:`.types.Extension` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "extension", _read_extension_as_sequence + ) + + +def _read_has_extensions_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.HasExtensions: + """ + Read an instance of :py:class:`.types.HasExtensions` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_HAS_EXTENSIONS, + "a concrete instance of 'HasExtensions'", + ) + + +def _read_referable_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Referable: + """ + Read an instance of :py:class:`.types.Referable` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, iterator, _DISPATCH_FOR_REFERABLE, "a concrete instance of 'Referable'" + ) + + +def _read_identifiable_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Identifiable: + """ + Read an instance of :py:class:`.types.Identifiable` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_IDENTIFIABLE, + "a concrete instance of 'Identifiable'", + ) + + +def _read_modelling_kind_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ModellingKind: + """ + Parse the text of :paramref:`element` as a literal of + :py:class:`.types.ModellingKind`, and read the corresponding + end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + return _read_enum_from_element_text( + element, iterator, our_stringification.modelling_kind_from_str, "ModellingKind" + ) + + +def _read_has_kind_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.HasKind: + """ + Read an instance of :py:class:`.types.HasKind` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, iterator, _DISPATCH_FOR_HAS_KIND, "a concrete instance of 'HasKind'" + ) + + +def _read_has_data_specification_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.HasDataSpecification: + """ + Read an instance of :py:class:`.types.HasDataSpecification` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_HAS_DATA_SPECIFICATION, + "a concrete instance of 'HasDataSpecification'", + ) + + +def _read_administrative_information_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AdministrativeInformation: + """ + Read an instance of :py:class:`.types.AdministrativeInformation` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_ADMINISTRATIVE_INFORMATION + ) + + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_version: Optional[str] = values.get("version") + the_revision: Optional[str] = values.get("revision") + the_creator: Optional[our_types.Reference] = values.get("creator") + the_created_at: Optional[str] = values.get("createdAt") + the_updated_at: Optional[str] = values.get("updatedAt") + the_template_id: Optional[str] = values.get("templateId") + + return our_types.AdministrativeInformation( + the_embedded_data_specifications, + the_version, + the_revision, + the_creator, + the_created_at, + the_updated_at, + the_template_id, + ) + + +def _read_administrative_information_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AdministrativeInformation: + """ + Read an instance of :py:class:`.types.AdministrativeInformation` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "administrativeInformation", + _read_administrative_information_as_sequence, + ) + + +def _read_qualifiable_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Qualifiable: + """ + Read an instance of :py:class:`.types.Qualifiable` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_QUALIFIABLE, + "a concrete instance of 'Qualifiable'", + ) + + +def _read_qualifier_kind_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.QualifierKind: + """ + Parse the text of :paramref:`element` as a literal of + :py:class:`.types.QualifierKind`, and read the corresponding + end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + return _read_enum_from_element_text( + element, iterator, our_stringification.qualifier_kind_from_str, "QualifierKind" + ) + + +def _read_qualifier_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Qualifier: + """ + Read an instance of :py:class:`.types.Qualifier` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_QUALIFIER) + + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_kind: Optional[our_types.QualifierKind] = values.get("kind") + the_type: Optional[str] = values.get("type") + the_value_type: Optional[our_types.DataTypeDefXSD] = values.get("valueType") + the_value: Optional[str] = values.get("value") + the_value_id: Optional[our_types.Reference] = values.get("valueId") + + if the_type is None: + raise DeserializationException("The required property 'type' is missing") + + if the_value_type is None: + raise DeserializationException("The required property 'valueType' is missing") + + return our_types.Qualifier( + the_type, + the_value_type, + the_semantic_id, + the_supplemental_semantic_ids, + the_kind, + the_value, + the_value_id, + ) + + +def _read_qualifier_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Qualifier: + """ + Read an instance of :py:class:`.types.Qualifier` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "qualifier", _read_qualifier_as_sequence + ) + + +def _read_asset_administration_shell_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AssetAdministrationShell: + """ + Read an instance of :py:class:`.types.AssetAdministrationShell` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_ASSET_ADMINISTRATION_SHELL + ) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_administration: Optional[our_types.AdministrativeInformation] = values.get( + "administration" + ) + the_id: Optional[str] = values.get("id") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_derived_from: Optional[our_types.Reference] = values.get("derivedFrom") + the_asset_information: Optional[our_types.AssetInformation] = values.get( + "assetInformation" + ) + the_submodels: Optional[List[our_types.Reference]] = values.get("submodels") + + if the_id is None: + raise DeserializationException("The required property 'id' is missing") + + if the_asset_information is None: + raise DeserializationException( + "The required property 'assetInformation' is missing" + ) + + return our_types.AssetAdministrationShell( + the_id, + the_asset_information, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_administration, + the_embedded_data_specifications, + the_derived_from, + the_submodels, + ) + + +def _read_asset_administration_shell_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AssetAdministrationShell: + """ + Read an instance of :py:class:`.types.AssetAdministrationShell` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "assetAdministrationShell", + _read_asset_administration_shell_as_sequence, + ) + + +def _read_asset_information_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AssetInformation: + """ + Read an instance of :py:class:`.types.AssetInformation` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_ASSET_INFORMATION) + + the_asset_kind: Optional[our_types.AssetKind] = values.get("assetKind") + the_global_asset_id: Optional[str] = values.get("globalAssetId") + the_specific_asset_ids: Optional[List[our_types.SpecificAssetID]] = values.get( + "specificAssetIds" + ) + the_asset_type: Optional[str] = values.get("assetType") + the_default_thumbnail: Optional[our_types.Resource] = values.get("defaultThumbnail") + + if the_asset_kind is None: + raise DeserializationException("The required property 'assetKind' is missing") + + return our_types.AssetInformation( + the_asset_kind, + the_global_asset_id, + the_specific_asset_ids, + the_asset_type, + the_default_thumbnail, + ) + + +def _read_asset_information_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AssetInformation: + """ + Read an instance of :py:class:`.types.AssetInformation` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "assetInformation", _read_asset_information_as_sequence + ) + + +def _read_resource_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Resource: + """ + Read an instance of :py:class:`.types.Resource` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_RESOURCE) + + the_path: Optional[str] = values.get("path") + the_content_type: Optional[str] = values.get("contentType") + + if the_path is None: + raise DeserializationException("The required property 'path' is missing") + + return our_types.Resource(the_path, the_content_type) + + +def _read_resource_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Resource: + """ + Read an instance of :py:class:`.types.Resource` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "resource", _read_resource_as_sequence + ) + + +def _read_asset_kind_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AssetKind: + """ + Parse the text of :paramref:`element` as a literal of + :py:class:`.types.AssetKind`, and read the corresponding + end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + return _read_enum_from_element_text( + element, iterator, our_stringification.asset_kind_from_str, "AssetKind" + ) + + +def _read_specific_asset_id_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SpecificAssetID: + """ + Read an instance of :py:class:`.types.SpecificAssetID` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_SPECIFIC_ASSET_ID) + + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_name: Optional[str] = values.get("name") + the_value: Optional[str] = values.get("value") + the_external_subject_id: Optional[our_types.Reference] = values.get( + "externalSubjectId" + ) + + if the_name is None: + raise DeserializationException("The required property 'name' is missing") + + if the_value is None: + raise DeserializationException("The required property 'value' is missing") + + return our_types.SpecificAssetID( + the_name, + the_value, + the_semantic_id, + the_supplemental_semantic_ids, + the_external_subject_id, + ) + + +def _read_specific_asset_id_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SpecificAssetID: + """ + Read an instance of :py:class:`.types.SpecificAssetID` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "specificAssetId", _read_specific_asset_id_as_sequence + ) + + +def _read_submodel_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Submodel: + """ + Read an instance of :py:class:`.types.Submodel` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_SUBMODEL) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_administration: Optional[our_types.AdministrativeInformation] = values.get( + "administration" + ) + the_id: Optional[str] = values.get("id") + the_kind: Optional[our_types.ModellingKind] = values.get("kind") + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_submodel_elements: Optional[List[our_types.SubmodelElement]] = values.get( + "submodelElements" + ) + + if the_id is None: + raise DeserializationException("The required property 'id' is missing") + + return our_types.Submodel( + the_id, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_administration, + the_kind, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_submodel_elements, + ) + + +def _read_submodel_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Submodel: + """ + Read an instance of :py:class:`.types.Submodel` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "submodel", _read_submodel_as_sequence + ) + + +def _read_submodel_element_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SubmodelElement: + """ + Read an instance of :py:class:`.types.SubmodelElement` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_SUBMODEL_ELEMENT, + "a concrete instance of 'SubmodelElement'", + ) + + +def _read_relationship_element_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.RelationshipElement: + """ + Read an instance of :py:class:`.types.RelationshipElement` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_RELATIONSHIP_ELEMENT) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_first: Optional[our_types.Reference] = values.get("first") + the_second: Optional[our_types.Reference] = values.get("second") + + return our_types.RelationshipElement( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_first, + the_second, + ) + + +def _read_relationship_element_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.RelationshipElement: + """ + Read an instance of :py:class:`.types.RelationshipElement` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_RELATIONSHIP_ELEMENT, + "a concrete instance of 'RelationshipElement'", + ) + + +def _read_aas_submodel_elements_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AASSubmodelElements: + """ + Parse the text of :paramref:`element` as a literal of + :py:class:`.types.AASSubmodelElements`, and read the corresponding + end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + return _read_enum_from_element_text( + element, + iterator, + our_stringification.aas_submodel_elements_from_str, + "AASSubmodelElements", + ) + + +def _read_submodel_element_list_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SubmodelElementList: + """ + Read an instance of :py:class:`.types.SubmodelElementList` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_SUBMODEL_ELEMENT_LIST) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_order_relevant: Optional[bool] = values.get("orderRelevant") + the_semantic_id_list_element: Optional[our_types.Reference] = values.get( + "semanticIdListElement" + ) + the_type_value_list_element: Optional[our_types.AASSubmodelElements] = values.get( + "typeValueListElement" + ) + the_value_type_list_element: Optional[our_types.DataTypeDefXSD] = values.get( + "valueTypeListElement" + ) + the_value: Optional[List[our_types.SubmodelElement]] = values.get("value") + + if the_type_value_list_element is None: + raise DeserializationException( + "The required property 'typeValueListElement' is missing" + ) + + return our_types.SubmodelElementList( + the_type_value_list_element, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_order_relevant, + the_semantic_id_list_element, + the_value_type_list_element, + the_value, + ) + + +def _read_submodel_element_list_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SubmodelElementList: + """ + Read an instance of :py:class:`.types.SubmodelElementList` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "submodelElementList", + _read_submodel_element_list_as_sequence, + ) + + +def _read_submodel_element_collection_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SubmodelElementCollection: + """ + Read an instance of :py:class:`.types.SubmodelElementCollection` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_SUBMODEL_ELEMENT_COLLECTION + ) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_value: Optional[List[our_types.SubmodelElement]] = values.get("value") + + return our_types.SubmodelElementCollection( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_value, + ) + + +def _read_submodel_element_collection_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SubmodelElementCollection: + """ + Read an instance of :py:class:`.types.SubmodelElementCollection` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "submodelElementCollection", + _read_submodel_element_collection_as_sequence, + ) + + +def _read_data_element_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DataElement: + """ + Read an instance of :py:class:`.types.DataElement` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_DATA_ELEMENT, + "a concrete instance of 'DataElement'", + ) + + +def _read_property_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Property: + """ + Read an instance of :py:class:`.types.Property` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_PROPERTY) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_value_type: Optional[our_types.DataTypeDefXSD] = values.get("valueType") + the_value: Optional[str] = values.get("value") + the_value_id: Optional[our_types.Reference] = values.get("valueId") + + if the_value_type is None: + raise DeserializationException("The required property 'valueType' is missing") + + return our_types.Property( + the_value_type, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_value, + the_value_id, + ) + + +def _read_property_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Property: + """ + Read an instance of :py:class:`.types.Property` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "property", _read_property_as_sequence + ) + + +def _read_multi_language_property_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.MultiLanguageProperty: + """ + Read an instance of :py:class:`.types.MultiLanguageProperty` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_MULTI_LANGUAGE_PROPERTY) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_value: Optional[List[our_types.LangStringTextType]] = values.get("value") + the_value_id: Optional[our_types.Reference] = values.get("valueId") + + return our_types.MultiLanguageProperty( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_value, + the_value_id, + ) + + +def _read_multi_language_property_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.MultiLanguageProperty: + """ + Read an instance of :py:class:`.types.MultiLanguageProperty` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "multiLanguageProperty", + _read_multi_language_property_as_sequence, + ) + + +def _read_range_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Range: + """ + Read an instance of :py:class:`.types.Range` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_RANGE) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_value_type: Optional[our_types.DataTypeDefXSD] = values.get("valueType") + the_min: Optional[str] = values.get("min") + the_max: Optional[str] = values.get("max") + + if the_value_type is None: + raise DeserializationException("The required property 'valueType' is missing") + + return our_types.Range( + the_value_type, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_min, + the_max, + ) + + +def _read_range_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Range: + """ + Read an instance of :py:class:`.types.Range` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element(element, iterator, "range", _read_range_as_sequence) + + +def _read_reference_element_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ReferenceElement: + """ + Read an instance of :py:class:`.types.ReferenceElement` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_REFERENCE_ELEMENT) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_value: Optional[our_types.Reference] = values.get("value") + + return our_types.ReferenceElement( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_value, + ) + + +def _read_reference_element_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ReferenceElement: + """ + Read an instance of :py:class:`.types.ReferenceElement` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "referenceElement", _read_reference_element_as_sequence + ) + + +def _read_blob_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Blob: + """ + Read an instance of :py:class:`.types.Blob` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_BLOB) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_value: Optional[bytes] = values.get("value") + the_content_type: Optional[str] = values.get("contentType") + + return our_types.Blob( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_value, + the_content_type, + ) + + +def _read_blob_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Blob: + """ + Read an instance of :py:class:`.types.Blob` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element(element, iterator, "blob", _read_blob_as_sequence) + + +def _read_file_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.File: + """ + Read an instance of :py:class:`.types.File` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_FILE) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_value: Optional[str] = values.get("value") + the_content_type: Optional[str] = values.get("contentType") + + return our_types.File( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_value, + the_content_type, + ) + + +def _read_file_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.File: + """ + Read an instance of :py:class:`.types.File` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element(element, iterator, "file", _read_file_as_sequence) + + +def _read_annotated_relationship_element_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AnnotatedRelationshipElement: + """ + Read an instance of :py:class:`.types.AnnotatedRelationshipElement` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_ANNOTATED_RELATIONSHIP_ELEMENT + ) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_first: Optional[our_types.Reference] = values.get("first") + the_second: Optional[our_types.Reference] = values.get("second") + the_annotations: Optional[List[our_types.DataElement]] = values.get("annotations") + + return our_types.AnnotatedRelationshipElement( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_first, + the_second, + the_annotations, + ) + + +def _read_annotated_relationship_element_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AnnotatedRelationshipElement: + """ + Read an instance of :py:class:`.types.AnnotatedRelationshipElement` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "annotatedRelationshipElement", + _read_annotated_relationship_element_as_sequence, + ) + + +def _read_entity_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Entity: + """ + Read an instance of :py:class:`.types.Entity` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_ENTITY) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_statements: Optional[List[our_types.SubmodelElement]] = values.get("statements") + the_entity_type: Optional[our_types.EntityType] = values.get("entityType") + the_global_asset_id: Optional[str] = values.get("globalAssetId") + the_specific_asset_ids: Optional[List[our_types.SpecificAssetID]] = values.get( + "specificAssetIds" + ) + + return our_types.Entity( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_statements, + the_entity_type, + the_global_asset_id, + the_specific_asset_ids, + ) + + +def _read_entity_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Entity: + """ + Read an instance of :py:class:`.types.Entity` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element(element, iterator, "entity", _read_entity_as_sequence) + + +def _read_entity_type_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.EntityType: + """ + Parse the text of :paramref:`element` as a literal of + :py:class:`.types.EntityType`, and read the corresponding + end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + return _read_enum_from_element_text( + element, iterator, our_stringification.entity_type_from_str, "EntityType" + ) + + +def _read_direction_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Direction: + """ + Parse the text of :paramref:`element` as a literal of + :py:class:`.types.Direction`, and read the corresponding + end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + return _read_enum_from_element_text( + element, iterator, our_stringification.direction_from_str, "Direction" + ) + + +def _read_state_of_event_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.StateOfEvent: + """ + Parse the text of :paramref:`element` as a literal of + :py:class:`.types.StateOfEvent`, and read the corresponding + end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + return _read_enum_from_element_text( + element, iterator, our_stringification.state_of_event_from_str, "StateOfEvent" + ) + + +def _read_event_payload_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.EventPayload: + """ + Read an instance of :py:class:`.types.EventPayload` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_EVENT_PAYLOAD) + + the_source: Optional[our_types.Reference] = values.get("source") + the_source_semantic_id: Optional[our_types.Reference] = values.get( + "sourceSemanticId" + ) + the_observable_reference: Optional[our_types.Reference] = values.get( + "observableReference" + ) + the_observable_semantic_id: Optional[our_types.Reference] = values.get( + "observableSemanticId" + ) + the_topic: Optional[str] = values.get("topic") + the_subject_id: Optional[our_types.Reference] = values.get("subjectId") + the_time_stamp: Optional[str] = values.get("timeStamp") + the_payload: Optional[bytes] = values.get("payload") + + if the_source is None: + raise DeserializationException("The required property 'source' is missing") + + if the_observable_reference is None: + raise DeserializationException( + "The required property 'observableReference' is missing" + ) + + if the_time_stamp is None: + raise DeserializationException("The required property 'timeStamp' is missing") + + return our_types.EventPayload( + the_source, + the_observable_reference, + the_time_stamp, + the_source_semantic_id, + the_observable_semantic_id, + the_topic, + the_subject_id, + the_payload, + ) + + +def _read_event_payload_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.EventPayload: + """ + Read an instance of :py:class:`.types.EventPayload` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "eventPayload", _read_event_payload_as_sequence + ) + + +def _read_event_element_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.EventElement: + """ + Read an instance of :py:class:`.types.EventElement` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_EVENT_ELEMENT, + "a concrete instance of 'EventElement'", + ) + + +def _read_basic_event_element_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.BasicEventElement: + """ + Read an instance of :py:class:`.types.BasicEventElement` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_BASIC_EVENT_ELEMENT) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_observed: Optional[our_types.Reference] = values.get("observed") + the_direction: Optional[our_types.Direction] = values.get("direction") + the_state: Optional[our_types.StateOfEvent] = values.get("state") + the_message_topic: Optional[str] = values.get("messageTopic") + the_message_broker: Optional[our_types.Reference] = values.get("messageBroker") + the_last_update: Optional[str] = values.get("lastUpdate") + the_min_interval: Optional[str] = values.get("minInterval") + the_max_interval: Optional[str] = values.get("maxInterval") + + if the_observed is None: + raise DeserializationException("The required property 'observed' is missing") + + if the_direction is None: + raise DeserializationException("The required property 'direction' is missing") + + if the_state is None: + raise DeserializationException("The required property 'state' is missing") + + return our_types.BasicEventElement( + the_observed, + the_direction, + the_state, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_message_topic, + the_message_broker, + the_last_update, + the_min_interval, + the_max_interval, + ) + + +def _read_basic_event_element_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.BasicEventElement: + """ + Read an instance of :py:class:`.types.BasicEventElement` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "basicEventElement", _read_basic_event_element_as_sequence + ) + + +def _read_operation_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Operation: + """ + Read an instance of :py:class:`.types.Operation` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_OPERATION) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_input_variables: Optional[List[our_types.OperationVariable]] = values.get( + "inputVariables" + ) + the_output_variables: Optional[List[our_types.OperationVariable]] = values.get( + "outputVariables" + ) + the_inoutput_variables: Optional[List[our_types.OperationVariable]] = values.get( + "inoutputVariables" + ) + + return our_types.Operation( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_input_variables, + the_output_variables, + the_inoutput_variables, + ) + + +def _read_operation_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Operation: + """ + Read an instance of :py:class:`.types.Operation` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "operation", _read_operation_as_sequence + ) + + +def _read_operation_variable_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.OperationVariable: + """ + Read an instance of :py:class:`.types.OperationVariable` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_OPERATION_VARIABLE) + + the_value: Optional[our_types.SubmodelElement] = values.get("value") + + if the_value is None: + raise DeserializationException("The required property 'value' is missing") + + return our_types.OperationVariable(the_value) + + +def _read_operation_variable_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.OperationVariable: + """ + Read an instance of :py:class:`.types.OperationVariable` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "operationVariable", _read_operation_variable_as_sequence + ) + + +def _read_capability_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Capability: + """ + Read an instance of :py:class:`.types.Capability` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_CAPABILITY) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + + return our_types.Capability( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def _read_capability_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Capability: + """ + Read an instance of :py:class:`.types.Capability` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "capability", _read_capability_as_sequence + ) + + +def _read_concept_description_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ConceptDescription: + """ + Read an instance of :py:class:`.types.ConceptDescription` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_CONCEPT_DESCRIPTION) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_administration: Optional[our_types.AdministrativeInformation] = values.get( + "administration" + ) + the_id: Optional[str] = values.get("id") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_is_case_of: Optional[List[our_types.Reference]] = values.get("isCaseOf") + + if the_id is None: + raise DeserializationException("The required property 'id' is missing") + + return our_types.ConceptDescription( + the_id, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_administration, + the_embedded_data_specifications, + the_is_case_of, + ) + + +def _read_concept_description_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ConceptDescription: + """ + Read an instance of :py:class:`.types.ConceptDescription` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "conceptDescription", _read_concept_description_as_sequence + ) + + +def _read_reference_types_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ReferenceTypes: + """ + Parse the text of :paramref:`element` as a literal of + :py:class:`.types.ReferenceTypes`, and read the corresponding + end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + return _read_enum_from_element_text( + element, + iterator, + our_stringification.reference_types_from_str, + "ReferenceTypes", + ) + + +def _read_reference_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Reference: + """ + Read an instance of :py:class:`.types.Reference` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_REFERENCE) + + the_type: Optional[our_types.ReferenceTypes] = values.get("type") + the_referred_semantic_id: Optional[our_types.Reference] = values.get( + "referredSemanticId" + ) + the_keys: Optional[List[our_types.Key]] = values.get("keys") + + if the_type is None: + raise DeserializationException("The required property 'type' is missing") + + if the_keys is None: + raise DeserializationException("The required property 'keys' is missing") + + return our_types.Reference(the_type, the_keys, the_referred_semantic_id) + + +def _read_reference_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Reference: + """ + Read an instance of :py:class:`.types.Reference` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "reference", _read_reference_as_sequence + ) + + +def _read_key_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Key: + """ + Read an instance of :py:class:`.types.Key` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_KEY) + + the_type: Optional[our_types.KeyTypes] = values.get("type") + the_value: Optional[str] = values.get("value") + + if the_type is None: + raise DeserializationException("The required property 'type' is missing") + + if the_value is None: + raise DeserializationException("The required property 'value' is missing") + + return our_types.Key(the_type, the_value) + + +def _read_key_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Key: + """ + Read an instance of :py:class:`.types.Key` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element(element, iterator, "key", _read_key_as_sequence) + + +def _read_key_types_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.KeyTypes: + """ + Parse the text of :paramref:`element` as a literal of + :py:class:`.types.KeyTypes`, and read the corresponding + end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + return _read_enum_from_element_text( + element, iterator, our_stringification.key_types_from_str, "KeyTypes" + ) + + +def _read_data_type_def_xsd_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DataTypeDefXSD: + """ + Parse the text of :paramref:`element` as a literal of + :py:class:`.types.DataTypeDefXSD`, and read the corresponding + end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + return _read_enum_from_element_text( + element, + iterator, + our_stringification.data_type_def_xsd_from_str, + "DataTypeDefXSD", + ) + + +def _read_abstract_lang_string_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AbstractLangString: + """ + Read an instance of :py:class:`.types.AbstractLangString` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_ABSTRACT_LANG_STRING, + "a concrete instance of 'AbstractLangString'", + ) + + +def _read_lang_string_name_type_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.LangStringNameType: + """ + Read an instance of :py:class:`.types.LangStringNameType` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_LANG_STRING_NAME_TYPE) + + the_language: Optional[str] = values.get("language") + the_text: Optional[str] = values.get("text") + + if the_language is None: + raise DeserializationException("The required property 'language' is missing") + + if the_text is None: + raise DeserializationException("The required property 'text' is missing") + + return our_types.LangStringNameType(the_language, the_text) + + +def _read_lang_string_name_type_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.LangStringNameType: + """ + Read an instance of :py:class:`.types.LangStringNameType` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "langStringNameType", _read_lang_string_name_type_as_sequence + ) + + +def _read_lang_string_text_type_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.LangStringTextType: + """ + Read an instance of :py:class:`.types.LangStringTextType` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_LANG_STRING_TEXT_TYPE) + + the_language: Optional[str] = values.get("language") + the_text: Optional[str] = values.get("text") + + if the_language is None: + raise DeserializationException("The required property 'language' is missing") + + if the_text is None: + raise DeserializationException("The required property 'text' is missing") + + return our_types.LangStringTextType(the_language, the_text) + + +def _read_lang_string_text_type_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.LangStringTextType: + """ + Read an instance of :py:class:`.types.LangStringTextType` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "langStringTextType", _read_lang_string_text_type_as_sequence + ) + + +def _read_environment_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Environment: + """ + Read an instance of :py:class:`.types.Environment` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_ENVIRONMENT) + + the_asset_administration_shells: Optional[ + List[our_types.AssetAdministrationShell] + ] = values.get("assetAdministrationShells") + the_submodels: Optional[List[our_types.Submodel]] = values.get("submodels") + the_concept_descriptions: Optional[List[our_types.ConceptDescription]] = values.get( + "conceptDescriptions" + ) + + return our_types.Environment( + the_asset_administration_shells, the_submodels, the_concept_descriptions + ) + + +def _read_environment_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Environment: + """ + Read an instance of :py:class:`.types.Environment` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "environment", _read_environment_as_sequence + ) + + +def _read_data_specification_content_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DataSpecificationContent: + """ + Read an instance of :py:class:`.types.DataSpecificationContent` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_DATA_SPECIFICATION_CONTENT, + "a concrete instance of 'DataSpecificationContent'", + ) + + +def _read_embedded_data_specification_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.EmbeddedDataSpecification: + """ + Read an instance of :py:class:`.types.EmbeddedDataSpecification` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_EMBEDDED_DATA_SPECIFICATION + ) + + the_data_specification: Optional[our_types.Reference] = values.get( + "dataSpecification" + ) + the_data_specification_content: Optional[our_types.DataSpecificationContent] = ( + values.get("dataSpecificationContent") + ) + + if the_data_specification is None: + raise DeserializationException( + "The required property 'dataSpecification' is missing" + ) + + if the_data_specification_content is None: + raise DeserializationException( + "The required property 'dataSpecificationContent' is missing" + ) + + return our_types.EmbeddedDataSpecification( + the_data_specification, the_data_specification_content + ) + + +def _read_embedded_data_specification_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.EmbeddedDataSpecification: + """ + Read an instance of :py:class:`.types.EmbeddedDataSpecification` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "embeddedDataSpecification", + _read_embedded_data_specification_as_sequence, + ) + + +def _read_data_type_iec_61360_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DataTypeIEC61360: + """ + Parse the text of :paramref:`element` as a literal of + :py:class:`.types.DataTypeIEC61360`, and read the corresponding + end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + return _read_enum_from_element_text( + element, + iterator, + our_stringification.data_type_iec_61360_from_str, + "DataTypeIEC61360", + ) + + +def _read_level_type_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.LevelType: + """ + Read an instance of :py:class:`.types.LevelType` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_LEVEL_TYPE) + + the_min: Optional[bool] = values.get("min") + the_nom: Optional[bool] = values.get("nom") + the_typ: Optional[bool] = values.get("typ") + the_max: Optional[bool] = values.get("max") + + if the_min is None: + raise DeserializationException("The required property 'min' is missing") + + if the_nom is None: + raise DeserializationException("The required property 'nom' is missing") + + if the_typ is None: + raise DeserializationException("The required property 'typ' is missing") + + if the_max is None: + raise DeserializationException("The required property 'max' is missing") + + return our_types.LevelType(the_min, the_nom, the_typ, the_max) + + +def _read_level_type_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.LevelType: + """ + Read an instance of :py:class:`.types.LevelType` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "levelType", _read_level_type_as_sequence + ) + + +def _read_value_reference_pair_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ValueReferencePair: + """ + Read an instance of :py:class:`.types.ValueReferencePair` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_VALUE_REFERENCE_PAIR) + + the_value: Optional[str] = values.get("value") + the_value_id: Optional[our_types.Reference] = values.get("valueId") + + if the_value is None: + raise DeserializationException("The required property 'value' is missing") + + return our_types.ValueReferencePair(the_value, the_value_id) + + +def _read_value_reference_pair_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ValueReferencePair: + """ + Read an instance of :py:class:`.types.ValueReferencePair` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "valueReferencePair", _read_value_reference_pair_as_sequence + ) + + +def _read_value_list_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ValueList: + """ + Read an instance of :py:class:`.types.ValueList` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_VALUE_LIST) + + the_value_reference_pairs: Optional[List[our_types.ValueReferencePair]] = ( + values.get("valueReferencePairs") + ) + + if the_value_reference_pairs is None: + raise DeserializationException( + "The required property 'valueReferencePairs' is missing" + ) + + return our_types.ValueList(the_value_reference_pairs) + + +def _read_value_list_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ValueList: + """ + Read an instance of :py:class:`.types.ValueList` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "valueList", _read_value_list_as_sequence + ) + + +def _read_lang_string_preferred_name_type_iec_61360_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.LangStringPreferredNameTypeIEC61360: + """ + Read an instance of :py:class:`.types.LangStringPreferredNameTypeIEC61360` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_LANG_STRING_PREFERRED_NAME_TYPE_IEC_61360 + ) + + the_language: Optional[str] = values.get("language") + the_text: Optional[str] = values.get("text") + + if the_language is None: + raise DeserializationException("The required property 'language' is missing") + + if the_text is None: + raise DeserializationException("The required property 'text' is missing") + + return our_types.LangStringPreferredNameTypeIEC61360(the_language, the_text) + + +def _read_lang_string_preferred_name_type_iec_61360_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.LangStringPreferredNameTypeIEC61360: + """ + Read an instance of :py:class:`.types.LangStringPreferredNameTypeIEC61360` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "langStringPreferredNameTypeIec61360", + _read_lang_string_preferred_name_type_iec_61360_as_sequence, + ) + + +def _read_lang_string_short_name_type_iec_61360_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.LangStringShortNameTypeIEC61360: + """ + Read an instance of :py:class:`.types.LangStringShortNameTypeIEC61360` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_LANG_STRING_SHORT_NAME_TYPE_IEC_61360 + ) + + the_language: Optional[str] = values.get("language") + the_text: Optional[str] = values.get("text") + + if the_language is None: + raise DeserializationException("The required property 'language' is missing") + + if the_text is None: + raise DeserializationException("The required property 'text' is missing") + + return our_types.LangStringShortNameTypeIEC61360(the_language, the_text) + + +def _read_lang_string_short_name_type_iec_61360_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.LangStringShortNameTypeIEC61360: + """ + Read an instance of :py:class:`.types.LangStringShortNameTypeIEC61360` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "langStringShortNameTypeIec61360", + _read_lang_string_short_name_type_iec_61360_as_sequence, + ) + + +def _read_lang_string_definition_type_iec_61360_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.LangStringDefinitionTypeIEC61360: + """ + Read an instance of :py:class:`.types.LangStringDefinitionTypeIEC61360` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_LANG_STRING_DEFINITION_TYPE_IEC_61360 + ) + + the_language: Optional[str] = values.get("language") + the_text: Optional[str] = values.get("text") + + if the_language is None: + raise DeserializationException("The required property 'language' is missing") + + if the_text is None: + raise DeserializationException("The required property 'text' is missing") + + return our_types.LangStringDefinitionTypeIEC61360(the_language, the_text) + + +def _read_lang_string_definition_type_iec_61360_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.LangStringDefinitionTypeIEC61360: + """ + Read an instance of :py:class:`.types.LangStringDefinitionTypeIEC61360` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "langStringDefinitionTypeIec61360", + _read_lang_string_definition_type_iec_61360_as_sequence, + ) + + +def _read_lang_string_uom_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.LangStringUom: + """ + Read an instance of :py:class:`.types.LangStringUom` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_LANG_STRING_UOM) + + the_language: Optional[str] = values.get("language") + the_text: Optional[str] = values.get("text") + + if the_language is None: + raise DeserializationException("The required property 'language' is missing") + + if the_text is None: + raise DeserializationException("The required property 'text' is missing") + + return our_types.LangStringUom(the_language, the_text) + + +def _read_lang_string_uom_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.LangStringUom: + """ + Read an instance of :py:class:`.types.LangStringUom` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "langStringUom", _read_lang_string_uom_as_sequence + ) + + +def _read_definition_type_uom_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DefinitionTypeUom: + """ + Read an instance of :py:class:`.types.DefinitionTypeUom` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_DEFINITION_TYPE_UOM) + + the_language: Optional[str] = values.get("language") + the_text: Optional[str] = values.get("text") + + if the_language is None: + raise DeserializationException("The required property 'language' is missing") + + if the_text is None: + raise DeserializationException("The required property 'text' is missing") + + return our_types.DefinitionTypeUom(the_language, the_text) + + +def _read_definition_type_uom_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DefinitionTypeUom: + """ + Read an instance of :py:class:`.types.DefinitionTypeUom` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "definitionTypeUom", _read_definition_type_uom_as_sequence + ) + + +def _read_data_specification_uom_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DataSpecificationUom: + """ + Read an instance of :py:class:`.types.DataSpecificationUom` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_DATA_SPECIFICATION_UOM) + + the_preferred_name: Optional[List[our_types.LangStringUom]] = values.get( + "preferredName" + ) + the_symbol: Optional[str] = values.get("symbol") + the_specific_unit_id: Optional[str] = values.get("specificUnitId") + the_definition: Optional[List[our_types.DefinitionTypeUom]] = values.get( + "definition" + ) + the_preferred_name_quantity: Optional[List[our_types.LangStringUom]] = values.get( + "preferredNameQuantity" + ) + the_quantity_id: Optional[str] = values.get("quantityId") + the_classification_system: Optional[str] = values.get("classificationSystem") + the_classification_system_version: Optional[str] = values.get( + "classificationSystemVersion" + ) + + if the_preferred_name is None: + raise DeserializationException( + "The required property 'preferredName' is missing" + ) + + if the_symbol is None: + raise DeserializationException("The required property 'symbol' is missing") + + return our_types.DataSpecificationUom( + the_preferred_name, + the_symbol, + the_specific_unit_id, + the_definition, + the_preferred_name_quantity, + the_quantity_id, + the_classification_system, + the_classification_system_version, + ) + + +def _read_data_specification_uom_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DataSpecificationUom: + """ + Read an instance of :py:class:`.types.DataSpecificationUom` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "dataSpecificationUom", + _read_data_specification_uom_as_sequence, + ) + + +def _read_data_specification_iec_61360_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DataSpecificationIEC61360: + """ + Read an instance of :py:class:`.types.DataSpecificationIEC61360` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_DATA_SPECIFICATION_IEC_61360 + ) + + the_preferred_name: Optional[ + List[our_types.LangStringPreferredNameTypeIEC61360] + ] = values.get("preferredName") + the_short_name: Optional[List[our_types.LangStringShortNameTypeIEC61360]] = ( + values.get("shortName") + ) + the_unit: Optional[str] = values.get("unit") + the_unit_id: Optional[our_types.Reference] = values.get("unitId") + the_source_of_definition: Optional[str] = values.get("sourceOfDefinition") + the_symbol: Optional[str] = values.get("symbol") + the_data_type: Optional[our_types.DataTypeIEC61360] = values.get("dataType") + the_definition: Optional[List[our_types.LangStringDefinitionTypeIEC61360]] = ( + values.get("definition") + ) + the_value_format: Optional[str] = values.get("valueFormat") + the_value_list: Optional[our_types.ValueList] = values.get("valueList") + the_value: Optional[str] = values.get("value") + the_level_type: Optional[our_types.LevelType] = values.get("levelType") + + if the_preferred_name is None: + raise DeserializationException( + "The required property 'preferredName' is missing" + ) + + return our_types.DataSpecificationIEC61360( + the_preferred_name, + the_short_name, + the_unit, + the_unit_id, + the_source_of_definition, + the_symbol, + the_data_type, + the_definition, + the_value_format, + the_value_list, + the_value, + the_level_type, + ) + + +def _read_data_specification_iec_61360_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DataSpecificationIEC61360: + """ + Read an instance of :py:class:`.types.DataSpecificationIEC61360` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "dataSpecificationIec61360", + _read_data_specification_iec_61360_as_sequence, + ) + + +def _read_descriptor_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Descriptor: + """ + Read an instance of :py:class:`.types.Descriptor` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_DESCRIPTOR, + "a concrete instance of 'Descriptor'", + ) + + +def _read_asset_administration_shell_descriptor_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AssetAdministrationShellDescriptor: + """ + Read an instance of :py:class:`.types.AssetAdministrationShellDescriptor` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_ASSET_ADMINISTRATION_SHELL_DESCRIPTOR + ) + + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_id: Optional[str] = values.get("id") + the_administration: Optional[our_types.AdministrativeInformation] = values.get( + "administration" + ) + the_asset_kind: Optional[our_types.AssetKind] = values.get("assetKind") + the_asset_type: Optional[str] = values.get("assetType") + the_endpoints: Optional[List[our_types.Endpoint]] = values.get("endpoints") + the_global_asset_id: Optional[str] = values.get("globalAssetId") + the_id_short: Optional[str] = values.get("idShort") + the_specific_asset_ids: Optional[List[our_types.SpecificAssetID]] = values.get( + "specificAssetIds" + ) + the_submodel_descriptors: Optional[List[our_types.SubmodelDescriptor]] = values.get( + "submodelDescriptors" + ) + + if the_id is None: + raise DeserializationException("The required property 'id' is missing") + + return our_types.AssetAdministrationShellDescriptor( + the_id, + the_description, + the_display_name, + the_extensions, + the_administration, + the_asset_kind, + the_asset_type, + the_endpoints, + the_global_asset_id, + the_id_short, + the_specific_asset_ids, + the_submodel_descriptors, + ) + + +def _read_asset_administration_shell_descriptor_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AssetAdministrationShellDescriptor: + """ + Read an instance of :py:class:`.types.AssetAdministrationShellDescriptor` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "assetAdministrationShellDescriptor", + _read_asset_administration_shell_descriptor_as_sequence, + ) + + +def _read_submodel_descriptor_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SubmodelDescriptor: + """ + Read an instance of :py:class:`.types.SubmodelDescriptor` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_SUBMODEL_DESCRIPTOR) + + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_endpoints: Optional[List[our_types.Endpoint]] = values.get("endpoints") + the_id: Optional[str] = values.get("id") + the_administration: Optional[our_types.AdministrativeInformation] = values.get( + "administration" + ) + the_id_short: Optional[str] = values.get("idShort") + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + + if the_endpoints is None: + raise DeserializationException("The required property 'endpoints' is missing") + + if the_id is None: + raise DeserializationException("The required property 'id' is missing") + + return our_types.SubmodelDescriptor( + the_endpoints, + the_id, + the_description, + the_display_name, + the_extensions, + the_administration, + the_id_short, + the_semantic_id, + the_supplemental_semantic_ids, + ) + + +def _read_submodel_descriptor_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SubmodelDescriptor: + """ + Read an instance of :py:class:`.types.SubmodelDescriptor` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "submodelDescriptor", _read_submodel_descriptor_as_sequence + ) + + +def _read_endpoint_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Endpoint: + """ + Read an instance of :py:class:`.types.Endpoint` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_ENDPOINT) + + the_protocol_information: Optional[our_types.ProtocolInformation] = values.get( + "protocolInformation" + ) + the_interface: Optional[str] = values.get("interface") + + if the_protocol_information is None: + raise DeserializationException( + "The required property 'protocolInformation' is missing" + ) + + if the_interface is None: + raise DeserializationException("The required property 'interface' is missing") + + return our_types.Endpoint(the_protocol_information, the_interface) + + +def _read_endpoint_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Endpoint: + """ + Read an instance of :py:class:`.types.Endpoint` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "endpoint", _read_endpoint_as_sequence + ) + + +def _read_protocol_information_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ProtocolInformation: + """ + Read an instance of :py:class:`.types.ProtocolInformation` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_PROTOCOL_INFORMATION) + + the_href: Optional[str] = values.get("href") + the_endpoint_protocol: Optional[str] = values.get("endpointProtocol") + the_endpoint_protocol_version: Optional[List[str]] = values.get( + "endpointProtocolVersion" + ) + the_subprotocol: Optional[str] = values.get("subprotocol") + the_subprotocol_body: Optional[str] = values.get("subprotocolBody") + the_subprotocol_body_encoding: Optional[str] = values.get("subprotocolBodyEncoding") + the_security_attributes: Optional[List[our_types.SecurityAttributeObject]] = ( + values.get("securityAttributes") + ) + + if the_href is None: + raise DeserializationException("The required property 'href' is missing") + + return our_types.ProtocolInformation( + the_href, + the_endpoint_protocol, + the_endpoint_protocol_version, + the_subprotocol, + the_subprotocol_body, + the_subprotocol_body_encoding, + the_security_attributes, + ) + + +def _read_protocol_information_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ProtocolInformation: + """ + Read an instance of :py:class:`.types.ProtocolInformation` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "protocolInformation", _read_protocol_information_as_sequence + ) + + +def _read_security_attribute_object_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SecurityAttributeObject: + """ + Read an instance of :py:class:`.types.SecurityAttributeObject` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_SECURITY_ATTRIBUTE_OBJECT) + + the_type: Optional[our_types.SecurityTypeEnum] = values.get("type") + the_key: Optional[str] = values.get("key") + the_value: Optional[str] = values.get("value") + + if the_type is None: + raise DeserializationException("The required property 'type' is missing") + + if the_key is None: + raise DeserializationException("The required property 'key' is missing") + + if the_value is None: + raise DeserializationException("The required property 'value' is missing") + + return our_types.SecurityAttributeObject(the_type, the_key, the_value) + + +def _read_security_attribute_object_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SecurityAttributeObject: + """ + Read an instance of :py:class:`.types.SecurityAttributeObject` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "securityAttributeObject", + _read_security_attribute_object_as_sequence, + ) + + +def _read_security_type_enum_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SecurityTypeEnum: + """ + Parse the text of :paramref:`element` as a literal of + :py:class:`.types.SecurityTypeEnum`, and read the corresponding + end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + return _read_enum_from_element_text( + element, + iterator, + our_stringification.security_type_enum_from_str, + "SecurityTypeEnum", + ) + + +def _read_asset_link_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AssetLink: + """ + Read an instance of :py:class:`.types.AssetLink` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_ASSET_LINK) + + the_name: Optional[str] = values.get("name") + the_value: Optional[str] = values.get("value") + + if the_name is None: + raise DeserializationException("The required property 'name' is missing") + + if the_value is None: + raise DeserializationException("The required property 'value' is missing") + + return our_types.AssetLink(the_name, the_value) + + +def _read_asset_link_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AssetLink: + """ + Read an instance of :py:class:`.types.AssetLink` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "assetLink", _read_asset_link_as_sequence + ) + + +def _read_service_description_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ServiceDescription: + """ + Read an instance of :py:class:`.types.ServiceDescription` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_SERVICE_DESCRIPTION) + + the_profiles: Optional[List[our_types.ServiceSpecificationProfileEnum]] = ( + values.get("profiles") + ) + + if the_profiles is None: + raise DeserializationException("The required property 'profiles' is missing") + + return our_types.ServiceDescription(the_profiles) + + +def _read_service_description_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ServiceDescription: + """ + Read an instance of :py:class:`.types.ServiceDescription` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "serviceDescription", _read_service_description_as_sequence + ) + + +def _read_service_specification_profile_enum_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ServiceSpecificationProfileEnum: + """ + Parse the text of :paramref:`element` as a literal of + :py:class:`.types.ServiceSpecificationProfileEnum`, and read the corresponding + end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + return _read_enum_from_element_text( + element, + iterator, + our_stringification.service_specification_profile_enum_from_str, + "ServiceSpecificationProfileEnum", + ) + + +def _read_recent_change_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.RecentChange: + """ + Read an instance of :py:class:`.types.RecentChange` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_RECENT_CHANGE, + "a concrete instance of 'RecentChange'", + ) + + +def _read_asset_administration_shell_recent_change_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AssetAdministrationShellRecentChange: + """ + Read an instance of :py:class:`.types.AssetAdministrationShellRecentChange` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_ASSET_ADMINISTRATION_SHELL_RECENT_CHANGE + ) + + the_created_at: Optional[str] = values.get("createdAt") + the_updated_at: Optional[str] = values.get("updatedAt") + the_id: Optional[str] = values.get("id") + the_global_asset_id: Optional[str] = values.get("globalAssetId") + the_specific_asset_ids: Optional[List[our_types.SpecificAssetID]] = values.get( + "specificAssetIds" + ) + + if the_created_at is None: + raise DeserializationException("The required property 'createdAt' is missing") + + if the_updated_at is None: + raise DeserializationException("The required property 'updatedAt' is missing") + + if the_id is None: + raise DeserializationException("The required property 'id' is missing") + + return our_types.AssetAdministrationShellRecentChange( + the_created_at, + the_updated_at, + the_id, + the_global_asset_id, + the_specific_asset_ids, + ) + + +def _read_asset_administration_shell_recent_change_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AssetAdministrationShellRecentChange: + """ + Read an instance of :py:class:`.types.AssetAdministrationShellRecentChange` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "assetAdministrationShellRecentChange", + _read_asset_administration_shell_recent_change_as_sequence, + ) + + +def _read_concept_description_recent_change_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ConceptDescriptionRecentChange: + """ + Read an instance of :py:class:`.types.ConceptDescriptionRecentChange` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_CONCEPT_DESCRIPTION_RECENT_CHANGE + ) + + the_created_at: Optional[str] = values.get("createdAt") + the_updated_at: Optional[str] = values.get("updatedAt") + the_id: Optional[str] = values.get("id") + + if the_created_at is None: + raise DeserializationException("The required property 'createdAt' is missing") + + if the_updated_at is None: + raise DeserializationException("The required property 'updatedAt' is missing") + + if the_id is None: + raise DeserializationException("The required property 'id' is missing") + + return our_types.ConceptDescriptionRecentChange( + the_created_at, the_updated_at, the_id + ) + + +def _read_concept_description_recent_change_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ConceptDescriptionRecentChange: + """ + Read an instance of :py:class:`.types.ConceptDescriptionRecentChange` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "conceptDescriptionRecentChange", + _read_concept_description_recent_change_as_sequence, + ) + + +def _read_submodel_recent_change_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SubmodelRecentChange: + """ + Read an instance of :py:class:`.types.SubmodelRecentChange` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_SUBMODEL_RECENT_CHANGE) + + the_created_at: Optional[str] = values.get("createdAt") + the_updated_at: Optional[str] = values.get("updatedAt") + the_id: Optional[str] = values.get("id") + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + + if the_created_at is None: + raise DeserializationException("The required property 'createdAt' is missing") + + if the_updated_at is None: + raise DeserializationException("The required property 'updatedAt' is missing") + + if the_id is None: + raise DeserializationException("The required property 'id' is missing") + + return our_types.SubmodelRecentChange( + the_created_at, + the_updated_at, + the_id, + the_semantic_id, + the_supplemental_semantic_ids, + ) + + +def _read_submodel_recent_change_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SubmodelRecentChange: + """ + Read an instance of :py:class:`.types.SubmodelRecentChange` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "submodelRecentChange", + _read_submodel_recent_change_as_sequence, + ) + + +def _read_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Result: + """ + Read an instance of :py:class:`.types.Result` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_RESULT) + + the_messages: Optional[List[our_types.Message]] = values.get("messages") + + return our_types.Result(the_messages) + + +def _read_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Result: + """ + Read an instance of :py:class:`.types.Result` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element(element, iterator, "result", _read_result_as_sequence) + + +def _read_message_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Message: + """ + Read an instance of :py:class:`.types.Message` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_MESSAGE) + + the_message_type: Optional[our_types.MessageTypeEnum] = values.get("messageType") + the_text: Optional[str] = values.get("text") + the_code: Optional[str] = values.get("code") + the_correlation_id: Optional[str] = values.get("correlationId") + the_timestamp: Optional[str] = values.get("timestamp") + + if the_message_type is None: + raise DeserializationException("The required property 'messageType' is missing") + + if the_text is None: + raise DeserializationException("The required property 'text' is missing") + + return our_types.Message( + the_message_type, the_text, the_code, the_correlation_id, the_timestamp + ) + + +def _read_message_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Message: + """ + Read an instance of :py:class:`.types.Message` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element(element, iterator, "message", _read_message_as_sequence) + + +def _read_message_type_enum_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.MessageTypeEnum: + """ + Parse the text of :paramref:`element` as a literal of + :py:class:`.types.MessageTypeEnum`, and read the corresponding + end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + return _read_enum_from_element_text( + element, + iterator, + our_stringification.message_type_enum_from_str, + "MessageTypeEnum", + ) + + +def _read_operation_request_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.OperationRequest: + """ + Read an instance of :py:class:`.types.OperationRequest` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_OPERATION_REQUEST) + + the_input_arguments: Optional[List[our_types.OperationVariable]] = values.get( + "inputArguments" + ) + the_inoutput_arguments: Optional[List[our_types.OperationVariable]] = values.get( + "inoutputArguments" + ) + the_client_timeout_duration: Optional[str] = values.get("clientTimeoutDuration") + + return our_types.OperationRequest( + the_input_arguments, the_inoutput_arguments, the_client_timeout_duration + ) + + +def _read_operation_request_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.OperationRequest: + """ + Read an instance of :py:class:`.types.OperationRequest` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "operationRequest", _read_operation_request_as_sequence + ) + + +def _read_operation_request_async_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.OperationRequestAsync: + """ + Read an instance of :py:class:`.types.OperationRequestAsync` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_OPERATION_REQUEST_ASYNC) + + the_input_arguments: Optional[List[our_types.OperationVariable]] = values.get( + "inputArguments" + ) + the_inoutput_arguments: Optional[List[our_types.OperationVariable]] = values.get( + "inoutputArguments" + ) + the_client_timeout_duration: Optional[str] = values.get("clientTimeoutDuration") + + if the_client_timeout_duration is None: + raise DeserializationException( + "The required property 'clientTimeoutDuration' is missing" + ) + + return our_types.OperationRequestAsync( + the_client_timeout_duration, the_input_arguments, the_inoutput_arguments + ) + + +def _read_operation_request_async_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.OperationRequestAsync: + """ + Read an instance of :py:class:`.types.OperationRequestAsync` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "operationRequestAsync", + _read_operation_request_async_as_sequence, + ) + + +def _read_operation_request_value_only_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.OperationRequestValueOnly: + """ + Read an instance of :py:class:`.types.OperationRequestValueOnly` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_OPERATION_REQUEST_VALUE_ONLY + ) + + the_input_arguments: Optional[our_types.JsonObject] = values.get("inputArguments") + the_inoutput_arguments: Optional[our_types.JsonObject] = values.get( + "inoutputArguments" + ) + the_client_timeout_duration: Optional[str] = values.get("clientTimeoutDuration") + + return our_types.OperationRequestValueOnly( + the_input_arguments, the_inoutput_arguments, the_client_timeout_duration + ) + + +def _read_operation_request_value_only_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.OperationRequestValueOnly: + """ + Read an instance of :py:class:`.types.OperationRequestValueOnly` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "operationRequestValueOnly", + _read_operation_request_value_only_as_sequence, + ) + + +def _read_operation_request_async_value_only_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.OperationRequestAsyncValueOnly: + """ + Read an instance of :py:class:`.types.OperationRequestAsyncValueOnly` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_OPERATION_REQUEST_ASYNC_VALUE_ONLY + ) + + the_input_arguments: Optional[our_types.JsonObject] = values.get("inputArguments") + the_inoutput_arguments: Optional[our_types.JsonObject] = values.get( + "inoutputArguments" + ) + the_client_timeout_duration: Optional[str] = values.get("clientTimeoutDuration") + + if the_client_timeout_duration is None: + raise DeserializationException( + "The required property 'clientTimeoutDuration' is missing" + ) + + return our_types.OperationRequestAsyncValueOnly( + the_client_timeout_duration, the_input_arguments, the_inoutput_arguments + ) + + +def _read_operation_request_async_value_only_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.OperationRequestAsyncValueOnly: + """ + Read an instance of :py:class:`.types.OperationRequestAsyncValueOnly` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "operationRequestAsyncValueOnly", + _read_operation_request_async_value_only_as_sequence, + ) + + +def _read_base_operation_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.BaseOperationResult: + """ + Read an instance of :py:class:`.types.BaseOperationResult` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_BASE_OPERATION_RESULT) + + the_execution_state: Optional[our_types.ExecutionState] = values.get( + "executionState" + ) + the_messages: Optional[List[our_types.Message]] = values.get("messages") + the_success: Optional[bool] = values.get("success") + + if the_execution_state is None: + raise DeserializationException( + "The required property 'executionState' is missing" + ) + + return our_types.BaseOperationResult(the_execution_state, the_messages, the_success) + + +def _read_base_operation_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.BaseOperationResult: + """ + Read an instance of :py:class:`.types.BaseOperationResult` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "baseOperationResult", + _read_base_operation_result_as_sequence, + ) + + +def _read_operation_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.OperationResult: + """ + Read an instance of :py:class:`.types.OperationResult` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_OPERATION_RESULT) + + the_execution_state: Optional[our_types.ExecutionState] = values.get( + "executionState" + ) + the_messages: Optional[List[our_types.Message]] = values.get("messages") + the_success: Optional[bool] = values.get("success") + the_output_arguments: Optional[List[our_types.OperationVariable]] = values.get( + "outputArguments" + ) + the_inoutput_arguments: Optional[List[our_types.OperationVariable]] = values.get( + "inoutputArguments" + ) + + if the_execution_state is None: + raise DeserializationException( + "The required property 'executionState' is missing" + ) + + return our_types.OperationResult( + the_execution_state, + the_messages, + the_success, + the_output_arguments, + the_inoutput_arguments, + ) + + +def _read_operation_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.OperationResult: + """ + Read an instance of :py:class:`.types.OperationResult` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "operationResult", _read_operation_result_as_sequence + ) + + +def _read_operation_result_value_only_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.OperationResultValueOnly: + """ + Read an instance of :py:class:`.types.OperationResultValueOnly` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_OPERATION_RESULT_VALUE_ONLY + ) + + the_execution_state: Optional[our_types.ExecutionState] = values.get( + "executionState" + ) + the_messages: Optional[List[our_types.Message]] = values.get("messages") + the_success: Optional[bool] = values.get("success") + the_output_arguments: Optional[our_types.JsonObject] = values.get("outputArguments") + the_inoutput_arguments: Optional[our_types.JsonObject] = values.get( + "inoutputArguments" + ) + + if the_execution_state is None: + raise DeserializationException( + "The required property 'executionState' is missing" + ) + + return our_types.OperationResultValueOnly( + the_execution_state, + the_messages, + the_success, + the_output_arguments, + the_inoutput_arguments, + ) + + +def _read_operation_result_value_only_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.OperationResultValueOnly: + """ + Read an instance of :py:class:`.types.OperationResultValueOnly` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "operationResultValueOnly", + _read_operation_result_value_only_as_sequence, + ) + + +def _read_execution_state_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ExecutionState: + """ + Parse the text of :paramref:`element` as a literal of + :py:class:`.types.ExecutionState`, and read the corresponding + end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + return _read_enum_from_element_text( + element, + iterator, + our_stringification.execution_state_from_str, + "ExecutionState", + ) + + +def _read_operation_handle_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.OperationHandle: + """ + Read an instance of :py:class:`.types.OperationHandle` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_OPERATION_HANDLE) + + the_handle_id: Optional[str] = values.get("handleId") + + if the_handle_id is None: + raise DeserializationException("The required property 'handleId' is missing") + + return our_types.OperationHandle(the_handle_id) + + +def _read_operation_handle_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.OperationHandle: + """ + Read an instance of :py:class:`.types.OperationHandle` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "operationHandle", _read_operation_handle_as_sequence + ) + + +def _read_paged_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.PagedResult: + """ + Read an instance of :py:class:`.types.PagedResult` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_PAGED_RESULT) + + the_result: Optional[List[our_types.Referable]] = values.get("result") + the_paging_metadata: Optional[our_types.PagingMetadata] = values.get( + "pagingMetadata" + ) + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'pagingMetadata' is missing" + ) + + return our_types.PagedResult(the_paging_metadata, the_result) + + +def _read_paged_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.PagedResult: + """ + Read an instance of :py:class:`.types.PagedResult` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "pagedResult", _read_paged_result_as_sequence + ) + + +def _read_paging_metadata_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.PagingMetadata: + """ + Read an instance of :py:class:`.types.PagingMetadata` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_PAGING_METADATA) + + the_cursor: Optional[str] = values.get("cursor") + + return our_types.PagingMetadata(the_cursor) + + +def _read_paging_metadata_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.PagingMetadata: + """ + Read an instance of :py:class:`.types.PagingMetadata` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "pagingMetadata", _read_paging_metadata_as_sequence + ) + + +def _read_package_description_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.PackageDescription: + """ + Read an instance of :py:class:`.types.PackageDescription` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_PACKAGE_DESCRIPTION) + + the_package_id: Optional[str] = values.get("packageId") + the_aas_ids: Optional[List[str]] = values.get("aasIds") + + if the_package_id is None: + raise DeserializationException("The required property 'packageId' is missing") + + return our_types.PackageDescription(the_package_id, the_aas_ids) + + +def _read_package_description_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.PackageDescription: + """ + Read an instance of :py:class:`.types.PackageDescription` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "packageDescription", _read_package_description_as_sequence + ) + + +def _read_submodel_element_attributes_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SubmodelElementAttributes: + """ + Read an instance of :py:class:`.types.SubmodelElementAttributes` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_SUBMODEL_ELEMENT_ATTRIBUTES, + "a concrete instance of 'SubmodelElementAttributes'", + ) + + +def _read_submodel_element_metadata_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SubmodelElementMetadata: + """ + Read an instance of :py:class:`.types.SubmodelElementMetadata` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_SUBMODEL_ELEMENT_METADATA, + "a concrete instance of 'SubmodelElementMetadata'", + ) + + +def _read_property_metadata_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.PropertyMetadata: + """ + Read an instance of :py:class:`.types.PropertyMetadata` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_PROPERTY_METADATA) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_value_type: Optional[our_types.DataTypeDefXSD] = values.get("valueType") + + if the_value_type is None: + raise DeserializationException("The required property 'valueType' is missing") + + return our_types.PropertyMetadata( + the_value_type, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def _read_property_metadata_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.PropertyMetadata: + """ + Read an instance of :py:class:`.types.PropertyMetadata` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "propertyMetadata", _read_property_metadata_as_sequence + ) + + +def _read_range_metadata_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.RangeMetadata: + """ + Read an instance of :py:class:`.types.RangeMetadata` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_RANGE_METADATA) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_value_type: Optional[our_types.DataTypeDefXSD] = values.get("valueType") + + if the_value_type is None: + raise DeserializationException("The required property 'valueType' is missing") + + return our_types.RangeMetadata( + the_value_type, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def _read_range_metadata_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.RangeMetadata: + """ + Read an instance of :py:class:`.types.RangeMetadata` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "rangeMetadata", _read_range_metadata_as_sequence + ) + + +def _read_blob_metadata_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.BlobMetadata: + """ + Read an instance of :py:class:`.types.BlobMetadata` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_BLOB_METADATA) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + + return our_types.BlobMetadata( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def _read_blob_metadata_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.BlobMetadata: + """ + Read an instance of :py:class:`.types.BlobMetadata` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "blobMetadata", _read_blob_metadata_as_sequence + ) + + +def _read_file_metadata_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.FileMetadata: + """ + Read an instance of :py:class:`.types.FileMetadata` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_FILE_METADATA) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + + return our_types.FileMetadata( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def _read_file_metadata_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.FileMetadata: + """ + Read an instance of :py:class:`.types.FileMetadata` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "fileMetadata", _read_file_metadata_as_sequence + ) + + +def _read_multi_language_property_metadata_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.MultiLanguagePropertyMetadata: + """ + Read an instance of :py:class:`.types.MultiLanguagePropertyMetadata` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_MULTI_LANGUAGE_PROPERTY_METADATA + ) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + + return our_types.MultiLanguagePropertyMetadata( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def _read_multi_language_property_metadata_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.MultiLanguagePropertyMetadata: + """ + Read an instance of :py:class:`.types.MultiLanguagePropertyMetadata` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "multiLanguagePropertyMetadata", + _read_multi_language_property_metadata_as_sequence, + ) + + +def _read_reference_element_metadata_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ReferenceElementMetadata: + """ + Read an instance of :py:class:`.types.ReferenceElementMetadata` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_REFERENCE_ELEMENT_METADATA + ) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + + return our_types.ReferenceElementMetadata( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def _read_reference_element_metadata_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ReferenceElementMetadata: + """ + Read an instance of :py:class:`.types.ReferenceElementMetadata` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "referenceElementMetadata", + _read_reference_element_metadata_as_sequence, + ) + + +def _read_relationship_element_metadata_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.RelationshipElementMetadata: + """ + Read an instance of :py:class:`.types.RelationshipElementMetadata` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_RELATIONSHIP_ELEMENT_METADATA + ) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + + return our_types.RelationshipElementMetadata( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def _read_relationship_element_metadata_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.RelationshipElementMetadata: + """ + Read an instance of :py:class:`.types.RelationshipElementMetadata` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "relationshipElementMetadata", + _read_relationship_element_metadata_as_sequence, + ) + + +def _read_annotated_relationship_element_metadata_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AnnotatedRelationshipElementMetadata: + """ + Read an instance of :py:class:`.types.AnnotatedRelationshipElementMetadata` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_ANNOTATED_RELATIONSHIP_ELEMENT_METADATA + ) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + + return our_types.AnnotatedRelationshipElementMetadata( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def _read_annotated_relationship_element_metadata_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AnnotatedRelationshipElementMetadata: + """ + Read an instance of :py:class:`.types.AnnotatedRelationshipElementMetadata` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "annotatedRelationshipElementMetadata", + _read_annotated_relationship_element_metadata_as_sequence, + ) + + +def _read_entity_metadata_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.EntityMetadata: + """ + Read an instance of :py:class:`.types.EntityMetadata` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_ENTITY_METADATA) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + + return our_types.EntityMetadata( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def _read_entity_metadata_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.EntityMetadata: + """ + Read an instance of :py:class:`.types.EntityMetadata` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "entityMetadata", _read_entity_metadata_as_sequence + ) + + +def _read_capability_metadata_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.CapabilityMetadata: + """ + Read an instance of :py:class:`.types.CapabilityMetadata` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_CAPABILITY_METADATA) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + + return our_types.CapabilityMetadata( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def _read_capability_metadata_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.CapabilityMetadata: + """ + Read an instance of :py:class:`.types.CapabilityMetadata` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "capabilityMetadata", _read_capability_metadata_as_sequence + ) + + +def _read_operation_metadata_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.OperationMetadata: + """ + Read an instance of :py:class:`.types.OperationMetadata` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_OPERATION_METADATA) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + + return our_types.OperationMetadata( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def _read_operation_metadata_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.OperationMetadata: + """ + Read an instance of :py:class:`.types.OperationMetadata` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "operationMetadata", _read_operation_metadata_as_sequence + ) + + +def _read_submodel_element_collection_metadata_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SubmodelElementCollectionMetadata: + """ + Read an instance of :py:class:`.types.SubmodelElementCollectionMetadata` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_SUBMODEL_ELEMENT_COLLECTION_METADATA + ) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + + return our_types.SubmodelElementCollectionMetadata( + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def _read_submodel_element_collection_metadata_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SubmodelElementCollectionMetadata: + """ + Read an instance of :py:class:`.types.SubmodelElementCollectionMetadata` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "submodelElementCollectionMetadata", + _read_submodel_element_collection_metadata_as_sequence, + ) + + +def _read_basic_event_element_metadata_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.BasicEventElementMetadata: + """ + Read an instance of :py:class:`.types.BasicEventElementMetadata` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_BASIC_EVENT_ELEMENT_METADATA + ) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_direction: Optional[our_types.Direction] = values.get("direction") + the_state: Optional[our_types.StateOfEvent] = values.get("state") + the_message_topic: Optional[str] = values.get("messageTopic") + the_message_broker: Optional[our_types.Reference] = values.get("messageBroker") + the_last_update: Optional[str] = values.get("lastUpdate") + the_min_interval: Optional[str] = values.get("minInterval") + the_max_interval: Optional[str] = values.get("maxInterval") + + if the_direction is None: + raise DeserializationException("The required property 'direction' is missing") + + if the_state is None: + raise DeserializationException("The required property 'state' is missing") + + return our_types.BasicEventElementMetadata( + the_direction, + the_state, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_message_topic, + the_message_broker, + the_last_update, + the_min_interval, + the_max_interval, + ) + + +def _read_basic_event_element_metadata_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.BasicEventElementMetadata: + """ + Read an instance of :py:class:`.types.BasicEventElementMetadata` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "basicEventElementMetadata", + _read_basic_event_element_metadata_as_sequence, + ) + + +def _read_submodel_element_list_metadata_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SubmodelElementListMetadata: + """ + Read an instance of :py:class:`.types.SubmodelElementListMetadata` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_SUBMODEL_ELEMENT_LIST_METADATA + ) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_order_relevant: Optional[bool] = values.get("orderRelevant") + the_semantic_id_list_element: Optional[our_types.Reference] = values.get( + "semanticIdListElement" + ) + the_type_value_list_element: Optional[our_types.AASSubmodelElements] = values.get( + "typeValueListElement" + ) + the_value_type_list_element: Optional[our_types.DataTypeDefXSD] = values.get( + "valueTypeListElement" + ) + + if the_type_value_list_element is None: + raise DeserializationException( + "The required property 'typeValueListElement' is missing" + ) + + return our_types.SubmodelElementListMetadata( + the_type_value_list_element, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + the_order_relevant, + the_semantic_id_list_element, + the_value_type_list_element, + ) + + +def _read_submodel_element_list_metadata_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SubmodelElementListMetadata: + """ + Read an instance of :py:class:`.types.SubmodelElementListMetadata` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "submodelElementListMetadata", + _read_submodel_element_list_metadata_as_sequence, + ) + + +def _read_submodel_metadata_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SubmodelMetadata: + """ + Read an instance of :py:class:`.types.SubmodelMetadata` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_SUBMODEL_METADATA) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_administration: Optional[our_types.AdministrativeInformation] = values.get( + "administration" + ) + the_id: Optional[str] = values.get("id") + the_kind: Optional[our_types.ModellingKind] = values.get("kind") + the_semantic_id: Optional[our_types.Reference] = values.get("semanticId") + the_supplemental_semantic_ids: Optional[List[our_types.Reference]] = values.get( + "supplementalSemanticIds" + ) + the_qualifiers: Optional[List[our_types.Qualifier]] = values.get("qualifiers") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + + if the_id is None: + raise DeserializationException("The required property 'id' is missing") + + return our_types.SubmodelMetadata( + the_id, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_administration, + the_kind, + the_semantic_id, + the_supplemental_semantic_ids, + the_qualifiers, + the_embedded_data_specifications, + ) + + +def _read_submodel_metadata_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.SubmodelMetadata: + """ + Read an instance of :py:class:`.types.SubmodelMetadata` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "submodelMetadata", _read_submodel_metadata_as_sequence + ) + + +def _read_asset_administration_shell_metadata_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AssetAdministrationShellMetadata: + """ + Read an instance of :py:class:`.types.AssetAdministrationShellMetadata` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_ASSET_ADMINISTRATION_SHELL_METADATA + ) + + the_extensions: Optional[List[our_types.Extension]] = values.get("extensions") + the_category: Optional[str] = values.get("category") + the_id_short: Optional[str] = values.get("idShort") + the_display_name: Optional[List[our_types.LangStringNameType]] = values.get( + "displayName" + ) + the_description: Optional[List[our_types.LangStringTextType]] = values.get( + "description" + ) + the_administration: Optional[our_types.AdministrativeInformation] = values.get( + "administration" + ) + the_id: Optional[str] = values.get("id") + the_embedded_data_specifications: Optional[ + List[our_types.EmbeddedDataSpecification] + ] = values.get("embeddedDataSpecifications") + the_derived_from: Optional[our_types.Reference] = values.get("derivedFrom") + + if the_id is None: + raise DeserializationException("The required property 'id' is missing") + + return our_types.AssetAdministrationShellMetadata( + the_id, + the_extensions, + the_category, + the_id_short, + the_display_name, + the_description, + the_administration, + the_embedded_data_specifications, + the_derived_from, + ) + + +def _read_asset_administration_shell_metadata_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AssetAdministrationShellMetadata: + """ + Read an instance of :py:class:`.types.AssetAdministrationShellMetadata` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "assetAdministrationShellMetadata", + _read_asset_administration_shell_metadata_as_sequence, + ) + + +def _read_reference_element_value_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ReferenceElementValue: + """ + Read an instance of :py:class:`.types.ReferenceElementValue` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_REFERENCE_ELEMENT_VALUE) + + the_type: Optional[our_types.ReferenceTypes] = values.get("type") + the_keys: Optional[List[our_types.Key]] = values.get("keys") + the_referred_semantic_id: Optional[our_types.Reference] = values.get( + "referredSemanticId" + ) + + if the_type is None: + raise DeserializationException("The required property 'type' is missing") + + if the_keys is None: + raise DeserializationException("The required property 'keys' is missing") + + return our_types.ReferenceElementValue(the_type, the_keys, the_referred_semantic_id) + + +def _read_reference_element_value_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ReferenceElementValue: + """ + Read an instance of :py:class:`.types.ReferenceElementValue` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "referenceElementValue", + _read_reference_element_value_as_sequence, + ) + + +def _read_blob_value_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.BlobValue: + """ + Read an instance of :py:class:`.types.BlobValue` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_BLOB_VALUE) + + the_content_type: Optional[str] = values.get("contentType") + the_value: Optional[bytes] = values.get("value") + + return our_types.BlobValue(the_content_type, the_value) + + +def _read_blob_value_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.BlobValue: + """ + Read an instance of :py:class:`.types.BlobValue` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "blobValue", _read_blob_value_as_sequence + ) + + +def _read_file_value_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.FileValue: + """ + Read an instance of :py:class:`.types.FileValue` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_FILE_VALUE) + + the_content_type: Optional[str] = values.get("contentType") + the_value: Optional[str] = values.get("value") + + return our_types.FileValue(the_content_type, the_value) + + +def _read_file_value_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.FileValue: + """ + Read an instance of :py:class:`.types.FileValue` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "fileValue", _read_file_value_as_sequence + ) + + +def _read_range_value_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.RangeValue: + """ + Read an instance of :py:class:`.types.RangeValue` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_RANGE_VALUE) + + the_min: Optional[float] = values.get("min") + the_max: Optional[float] = values.get("max") + + if the_min is None: + raise DeserializationException("The required property 'min' is missing") + + if the_max is None: + raise DeserializationException("The required property 'max' is missing") + + return our_types.RangeValue(the_min, the_max) + + +def _read_range_value_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.RangeValue: + """ + Read an instance of :py:class:`.types.RangeValue` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "rangeValue", _read_range_value_as_sequence + ) + + +def _read_relationship_element_value_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.RelationshipElementValue: + """ + Read an instance of :py:class:`.types.RelationshipElementValue` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_RELATIONSHIP_ELEMENT_VALUE + ) + + the_first: Optional[our_types.Reference] = values.get("first") + the_second: Optional[our_types.Reference] = values.get("second") + + return our_types.RelationshipElementValue(the_first, the_second) + + +def _read_relationship_element_value_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.RelationshipElementValue: + """ + Read an instance of :py:class:`.types.RelationshipElementValue` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "relationshipElementValue", + _read_relationship_element_value_as_sequence, + ) + + +def _read_basic_event_element_value_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.BasicEventElementValue: + """ + Read an instance of :py:class:`.types.BasicEventElementValue` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_BASIC_EVENT_ELEMENT_VALUE) + + the_observed: Optional[our_types.Reference] = values.get("observed") + + if the_observed is None: + raise DeserializationException("The required property 'observed' is missing") + + return our_types.BasicEventElementValue(the_observed) + + +def _read_basic_event_element_value_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.BasicEventElementValue: + """ + Read an instance of :py:class:`.types.BasicEventElementValue` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "basicEventElementValue", + _read_basic_event_element_value_as_sequence, + ) + + +def _read_annotated_relationship_element_value_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AnnotatedRelationshipElementValue: + """ + Read an instance of :py:class:`.types.AnnotatedRelationshipElementValue` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_ANNOTATED_RELATIONSHIP_ELEMENT_VALUE + ) + + the_first: Optional[our_types.Reference] = values.get("first") + the_second: Optional[our_types.Reference] = values.get("second") + the_annotations: Optional[our_types.JsonObject] = values.get("annotations") + + return our_types.AnnotatedRelationshipElementValue( + the_first, the_second, the_annotations + ) + + +def _read_annotated_relationship_element_value_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AnnotatedRelationshipElementValue: + """ + Read an instance of :py:class:`.types.AnnotatedRelationshipElementValue` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "annotatedRelationshipElementValue", + _read_annotated_relationship_element_value_as_sequence, + ) + + +def _read_entity_value_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.EntityValue: + """ + Read an instance of :py:class:`.types.EntityValue` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_ENTITY_VALUE) + + the_entity_type: Optional[our_types.EntityType] = values.get("entityType") + the_global_asset_id: Optional[str] = values.get("globalAssetId") + the_specific_asset_ids: Optional[List[our_types.JsonObject]] = values.get( + "specificAssetIds" + ) + the_statements: Optional[our_types.JsonObject] = values.get("statements") + + return our_types.EntityValue( + the_entity_type, the_global_asset_id, the_specific_asset_ids, the_statements + ) + + +def _read_entity_value_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.EntityValue: + """ + Read an instance of :py:class:`.types.EntityValue` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "entityValue", _read_entity_value_as_sequence + ) + + +def _read_get_asset_administration_shells_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetAssetAdministrationShellsResult: + """ + Read an instance of :py:class:`.types.GetAssetAdministrationShellsResult` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_GET_ASSET_ADMINISTRATION_SHELLS_RESULT + ) + + the_paging_metadata: Optional[our_types.PagingMetadata] = values.get( + "pagingMetadata" + ) + the_result: Optional[List[our_types.AssetAdministrationShell]] = values.get( + "result" + ) + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'pagingMetadata' is missing" + ) + + return our_types.GetAssetAdministrationShellsResult(the_paging_metadata, the_result) + + +def _read_get_asset_administration_shells_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetAssetAdministrationShellsResult: + """ + Read an instance of :py:class:`.types.GetAssetAdministrationShellsResult` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "getAssetAdministrationShellsResult", + _read_get_asset_administration_shells_result_as_sequence, + ) + + +def _read_get_asset_administration_shells_metadata_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetAssetAdministrationShellsMetadataResult: + """ + Read an instance of :py:class:`.types.GetAssetAdministrationShellsMetadataResult` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_GET_ASSET_ADMINISTRATION_SHELLS_METADATA_RESULT + ) + + the_paging_metadata: Optional[our_types.PagingMetadata] = values.get( + "pagingMetadata" + ) + the_result: Optional[List[our_types.AssetAdministrationShellMetadata]] = values.get( + "result" + ) + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'pagingMetadata' is missing" + ) + + return our_types.GetAssetAdministrationShellsMetadataResult( + the_paging_metadata, the_result + ) + + +def _read_get_asset_administration_shells_metadata_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetAssetAdministrationShellsMetadataResult: + """ + Read an instance of :py:class:`.types.GetAssetAdministrationShellsMetadataResult` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "getAssetAdministrationShellsMetadataResult", + _read_get_asset_administration_shells_metadata_result_as_sequence, + ) + + +def _read_get_all_asset_administration_shells_recent_changes_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetAllAssetAdministrationShellsRecentChangesResult: + """ + Read an instance of :py:class:`.types.GetAllAssetAdministrationShellsRecentChangesResult` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, + iterator, + _READERS_FOR_GET_ALL_ASSET_ADMINISTRATION_SHELLS_RECENT_CHANGES_RESULT, + ) + + the_paging_metadata: Optional[our_types.PagingMetadata] = values.get( + "pagingMetadata" + ) + the_result: Optional[List[our_types.AssetAdministrationShellRecentChange]] = ( + values.get("result") + ) + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'pagingMetadata' is missing" + ) + + return our_types.GetAllAssetAdministrationShellsRecentChangesResult( + the_paging_metadata, the_result + ) + + +def _read_get_all_asset_administration_shells_recent_changes_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetAllAssetAdministrationShellsRecentChangesResult: + """ + Read an instance of :py:class:`.types.GetAllAssetAdministrationShellsRecentChangesResult` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "getAllAssetAdministrationShellsRecentChangesResult", + _read_get_all_asset_administration_shells_recent_changes_result_as_sequence, + ) + + +def _read_get_asset_administration_shell_descriptors_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetAssetAdministrationShellDescriptorsResult: + """ + Read an instance of :py:class:`.types.GetAssetAdministrationShellDescriptorsResult` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, + iterator, + _READERS_FOR_GET_ASSET_ADMINISTRATION_SHELL_DESCRIPTORS_RESULT, + ) + + the_paging_metadata: Optional[our_types.PagingMetadata] = values.get( + "pagingMetadata" + ) + the_result: Optional[List[our_types.AssetAdministrationShellDescriptor]] = ( + values.get("result") + ) + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'pagingMetadata' is missing" + ) + + return our_types.GetAssetAdministrationShellDescriptorsResult( + the_paging_metadata, the_result + ) + + +def _read_get_asset_administration_shell_descriptors_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetAssetAdministrationShellDescriptorsResult: + """ + Read an instance of :py:class:`.types.GetAssetAdministrationShellDescriptorsResult` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "getAssetAdministrationShellDescriptorsResult", + _read_get_asset_administration_shell_descriptors_result_as_sequence, + ) + + +def _read_get_concept_descriptions_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetConceptDescriptionsResult: + """ + Read an instance of :py:class:`.types.GetConceptDescriptionsResult` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_GET_CONCEPT_DESCRIPTIONS_RESULT + ) + + the_paging_metadata: Optional[our_types.PagingMetadata] = values.get( + "pagingMetadata" + ) + the_result: Optional[List[our_types.ConceptDescription]] = values.get("result") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'pagingMetadata' is missing" + ) + + return our_types.GetConceptDescriptionsResult(the_paging_metadata, the_result) + + +def _read_get_concept_descriptions_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetConceptDescriptionsResult: + """ + Read an instance of :py:class:`.types.GetConceptDescriptionsResult` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "getConceptDescriptionsResult", + _read_get_concept_descriptions_result_as_sequence, + ) + + +def _read_get_all_concept_descriptions_recent_changes_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetAllConceptDescriptionsRecentChangesResult: + """ + Read an instance of :py:class:`.types.GetAllConceptDescriptionsRecentChangesResult` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, + iterator, + _READERS_FOR_GET_ALL_CONCEPT_DESCRIPTIONS_RECENT_CHANGES_RESULT, + ) + + the_paging_metadata: Optional[our_types.PagingMetadata] = values.get( + "pagingMetadata" + ) + the_result: Optional[List[our_types.ConceptDescriptionRecentChange]] = values.get( + "result" + ) + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'pagingMetadata' is missing" + ) + + return our_types.GetAllConceptDescriptionsRecentChangesResult( + the_paging_metadata, the_result + ) + + +def _read_get_all_concept_descriptions_recent_changes_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetAllConceptDescriptionsRecentChangesResult: + """ + Read an instance of :py:class:`.types.GetAllConceptDescriptionsRecentChangesResult` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "getAllConceptDescriptionsRecentChangesResult", + _read_get_all_concept_descriptions_recent_changes_result_as_sequence, + ) + + +def _read_get_package_descriptions_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetPackageDescriptionsResult: + """ + Read an instance of :py:class:`.types.GetPackageDescriptionsResult` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_GET_PACKAGE_DESCRIPTIONS_RESULT + ) + + the_paging_metadata: Optional[our_types.PagingMetadata] = values.get( + "pagingMetadata" + ) + the_result: Optional[List[our_types.PackageDescription]] = values.get("result") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'pagingMetadata' is missing" + ) + + return our_types.GetPackageDescriptionsResult(the_paging_metadata, the_result) + + +def _read_get_package_descriptions_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetPackageDescriptionsResult: + """ + Read an instance of :py:class:`.types.GetPackageDescriptionsResult` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "getPackageDescriptionsResult", + _read_get_package_descriptions_result_as_sequence, + ) + + +def _read_get_path_items_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetPathItemsResult: + """ + Read an instance of :py:class:`.types.GetPathItemsResult` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_GET_PATH_ITEMS_RESULT) + + the_paging_metadata: Optional[our_types.PagingMetadata] = values.get( + "pagingMetadata" + ) + the_result: Optional[List[str]] = values.get("result") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'pagingMetadata' is missing" + ) + + return our_types.GetPathItemsResult(the_paging_metadata, the_result) + + +def _read_get_path_items_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetPathItemsResult: + """ + Read an instance of :py:class:`.types.GetPathItemsResult` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "getPathItemsResult", _read_get_path_items_result_as_sequence + ) + + +def _read_get_references_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetReferencesResult: + """ + Read an instance of :py:class:`.types.GetReferencesResult` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_GET_REFERENCES_RESULT) + + the_paging_metadata: Optional[our_types.PagingMetadata] = values.get( + "pagingMetadata" + ) + the_result: Optional[List[our_types.Reference]] = values.get("result") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'pagingMetadata' is missing" + ) + + return our_types.GetReferencesResult(the_paging_metadata, the_result) + + +def _read_get_references_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetReferencesResult: + """ + Read an instance of :py:class:`.types.GetReferencesResult` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "getReferencesResult", + _read_get_references_result_as_sequence, + ) + + +def _read_get_submodel_descriptors_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetSubmodelDescriptorsResult: + """ + Read an instance of :py:class:`.types.GetSubmodelDescriptorsResult` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_GET_SUBMODEL_DESCRIPTORS_RESULT + ) + + the_paging_metadata: Optional[our_types.PagingMetadata] = values.get( + "pagingMetadata" + ) + the_result: Optional[List[our_types.SubmodelDescriptor]] = values.get("result") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'pagingMetadata' is missing" + ) + + return our_types.GetSubmodelDescriptorsResult(the_paging_metadata, the_result) + + +def _read_get_submodel_descriptors_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetSubmodelDescriptorsResult: + """ + Read an instance of :py:class:`.types.GetSubmodelDescriptorsResult` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "getSubmodelDescriptorsResult", + _read_get_submodel_descriptors_result_as_sequence, + ) + + +def _read_get_submodel_elements_metadata_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetSubmodelElementsMetadataResult: + """ + Read an instance of :py:class:`.types.GetSubmodelElementsMetadataResult` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_GET_SUBMODEL_ELEMENTS_METADATA_RESULT + ) + + the_paging_metadata: Optional[our_types.PagingMetadata] = values.get( + "pagingMetadata" + ) + the_result: Optional[List[our_types.SubmodelElementMetadata]] = values.get("result") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'pagingMetadata' is missing" + ) + + return our_types.GetSubmodelElementsMetadataResult(the_paging_metadata, the_result) + + +def _read_get_submodel_elements_metadata_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetSubmodelElementsMetadataResult: + """ + Read an instance of :py:class:`.types.GetSubmodelElementsMetadataResult` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "getSubmodelElementsMetadataResult", + _read_get_submodel_elements_metadata_result_as_sequence, + ) + + +def _read_get_submodel_elements_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetSubmodelElementsResult: + """ + Read an instance of :py:class:`.types.GetSubmodelElementsResult` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_GET_SUBMODEL_ELEMENTS_RESULT + ) + + the_paging_metadata: Optional[our_types.PagingMetadata] = values.get( + "pagingMetadata" + ) + the_result: Optional[List[our_types.SubmodelElement]] = values.get("result") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'pagingMetadata' is missing" + ) + + return our_types.GetSubmodelElementsResult(the_paging_metadata, the_result) + + +def _read_get_submodel_elements_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetSubmodelElementsResult: + """ + Read an instance of :py:class:`.types.GetSubmodelElementsResult` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "getSubmodelElementsResult", + _read_get_submodel_elements_result_as_sequence, + ) + + +def _read_get_submodel_elements_value_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetSubmodelElementsValueResult: + """ + Read an instance of :py:class:`.types.GetSubmodelElementsValueResult` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_GET_SUBMODEL_ELEMENTS_VALUE_RESULT + ) + + the_paging_metadata: Optional[our_types.PagingMetadata] = values.get( + "pagingMetadata" + ) + the_result: Optional[our_types.JsonObject] = values.get("result") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'pagingMetadata' is missing" + ) + + return our_types.GetSubmodelElementsValueResult(the_paging_metadata, the_result) + + +def _read_get_submodel_elements_value_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetSubmodelElementsValueResult: + """ + Read an instance of :py:class:`.types.GetSubmodelElementsValueResult` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "getSubmodelElementsValueResult", + _read_get_submodel_elements_value_result_as_sequence, + ) + + +def _read_get_all_submodels_recent_changes_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetAllSubmodelsRecentChangesResult: + """ + Read an instance of :py:class:`.types.GetAllSubmodelsRecentChangesResult` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_GET_ALL_SUBMODELS_RECENT_CHANGES_RESULT + ) + + the_paging_metadata: Optional[our_types.PagingMetadata] = values.get( + "pagingMetadata" + ) + the_result: Optional[List[our_types.SubmodelRecentChange]] = values.get("result") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'pagingMetadata' is missing" + ) + + return our_types.GetAllSubmodelsRecentChangesResult(the_paging_metadata, the_result) + + +def _read_get_all_submodels_recent_changes_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetAllSubmodelsRecentChangesResult: + """ + Read an instance of :py:class:`.types.GetAllSubmodelsRecentChangesResult` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "getAllSubmodelsRecentChangesResult", + _read_get_all_submodels_recent_changes_result_as_sequence, + ) + + +def _read_get_submodels_metadata_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetSubmodelsMetadataResult: + """ + Read an instance of :py:class:`.types.GetSubmodelsMetadataResult` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_GET_SUBMODELS_METADATA_RESULT + ) + + the_paging_metadata: Optional[our_types.PagingMetadata] = values.get( + "pagingMetadata" + ) + the_result: Optional[List[our_types.SubmodelMetadata]] = values.get("result") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'pagingMetadata' is missing" + ) + + return our_types.GetSubmodelsMetadataResult(the_paging_metadata, the_result) + + +def _read_get_submodels_metadata_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetSubmodelsMetadataResult: + """ + Read an instance of :py:class:`.types.GetSubmodelsMetadataResult` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "getSubmodelsMetadataResult", + _read_get_submodels_metadata_result_as_sequence, + ) + + +def _read_get_submodels_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetSubmodelsResult: + """ + Read an instance of :py:class:`.types.GetSubmodelsResult` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_GET_SUBMODELS_RESULT) + + the_paging_metadata: Optional[our_types.PagingMetadata] = values.get( + "pagingMetadata" + ) + the_result: Optional[List[our_types.Submodel]] = values.get("result") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'pagingMetadata' is missing" + ) + + return our_types.GetSubmodelsResult(the_paging_metadata, the_result) + + +def _read_get_submodels_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetSubmodelsResult: + """ + Read an instance of :py:class:`.types.GetSubmodelsResult` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "getSubmodelsResult", _read_get_submodels_result_as_sequence + ) + + +def _read_get_submodels_value_result_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetSubmodelsValueResult: + """ + Read an instance of :py:class:`.types.GetSubmodelsValueResult` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_GET_SUBMODELS_VALUE_RESULT + ) + + the_paging_metadata: Optional[our_types.PagingMetadata] = values.get( + "pagingMetadata" + ) + the_result: Optional[our_types.JsonObject] = values.get("result") + + if the_paging_metadata is None: + raise DeserializationException( + "The required property 'pagingMetadata' is missing" + ) + + return our_types.GetSubmodelsValueResult(the_paging_metadata, the_result) + + +def _read_get_submodels_value_result_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GetSubmodelsValueResult: + """ + Read an instance of :py:class:`.types.GetSubmodelsValueResult` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "getSubmodelsValueResult", + _read_get_submodels_value_result_as_sequence, + ) + + +def _read_global_attribute_kind_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GlobalAttributeKind: + """ + Parse the text of :paramref:`element` as a literal of + :py:class:`.types.GlobalAttributeKind`, and read the corresponding + end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + return _read_enum_from_element_text( + element, + iterator, + our_stringification.global_attribute_kind_from_str, + "GlobalAttributeKind", + ) + + +def _read_date_time_global_attribute_kind_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DateTimeGlobalAttributeKind: + """ + Parse the text of :paramref:`element` as a literal of + :py:class:`.types.DateTimeGlobalAttributeKind`, and read the corresponding + end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + return _read_enum_from_element_text( + element, + iterator, + our_stringification.date_time_global_attribute_kind_from_str, + "DateTimeGlobalAttributeKind", + ) + + +def _read_claim_attribute_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ClaimAttribute: + """ + Read an instance of :py:class:`.types.ClaimAttribute` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_CLAIM_ATTRIBUTE) + + the_claim: Optional[str] = values.get("claim") + + if the_claim is None: + raise DeserializationException("The required property 'claim' is missing") + + return our_types.ClaimAttribute(the_claim) + + +def _read_claim_attribute_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ClaimAttribute: + """ + Read an instance of :py:class:`.types.ClaimAttribute` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "claimAttribute", _read_claim_attribute_as_sequence + ) + + +def _read_global_attribute_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GlobalAttribute: + """ + Read an instance of :py:class:`.types.GlobalAttribute` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_GLOBAL_ATTRIBUTE) + + the_kind: Optional[our_types.GlobalAttributeKind] = values.get("kind") + + if the_kind is None: + raise DeserializationException("The required property 'kind' is missing") + + return our_types.GlobalAttribute(the_kind) + + +def _read_global_attribute_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GlobalAttribute: + """ + Read an instance of :py:class:`.types.GlobalAttribute` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "globalAttribute", _read_global_attribute_as_sequence + ) + + +def _read_reference_attribute_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ReferenceAttribute: + """ + Read an instance of :py:class:`.types.ReferenceAttribute` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_REFERENCE_ATTRIBUTE) + + the_reference: Optional[str] = values.get("reference") + + if the_reference is None: + raise DeserializationException("The required property 'reference' is missing") + + return our_types.ReferenceAttribute(the_reference) + + +def _read_reference_attribute_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ReferenceAttribute: + """ + Read an instance of :py:class:`.types.ReferenceAttribute` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "referenceAttribute", _read_reference_attribute_as_sequence + ) + + +def _read_date_time_attribute_item_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DateTimeAttributeItem: + """ + Read an instance of :py:class:`.types.DateTimeAttributeItem` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_DATE_TIME_ATTRIBUTE_ITEM) + + the_kind: Optional[our_types.DateTimeGlobalAttributeKind] = values.get("kind") + + if the_kind is None: + raise DeserializationException("The required property 'kind' is missing") + + return our_types.DateTimeAttributeItem(the_kind) + + +def _read_date_time_attribute_item_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DateTimeAttributeItem: + """ + Read an instance of :py:class:`.types.DateTimeAttributeItem` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "dateTimeAttributeItem", + _read_date_time_attribute_item_as_sequence, + ) + + +def _read_field_operand_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.FieldOperand: + """ + Read an instance of :py:class:`.types.FieldOperand` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_FIELD_OPERAND) + + the_field: Optional[str] = values.get("field") + + if the_field is None: + raise DeserializationException("The required property 'field' is missing") + + return our_types.FieldOperand(the_field) + + +def _read_field_operand_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.FieldOperand: + """ + Read an instance of :py:class:`.types.FieldOperand` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "fieldOperand", _read_field_operand_as_sequence + ) + + +def _read_string_literal_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.StringLiteral: + """ + Read an instance of :py:class:`.types.StringLiteral` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_STRING_LITERAL) + + the_str_val: Optional[str] = values.get("strVal") + + if the_str_val is None: + raise DeserializationException("The required property 'strVal' is missing") + + return our_types.StringLiteral(the_str_val) + + +def _read_string_literal_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.StringLiteral: + """ + Read an instance of :py:class:`.types.StringLiteral` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "stringLiteral", _read_string_literal_as_sequence + ) + + +def _read_attribute_operand_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AttributeOperand: + """ + Read an instance of :py:class:`.types.AttributeOperand` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_ATTRIBUTE_OPERAND) + + the_attribute: Optional[our_types.AttributeItem] = values.get("attribute") + + if the_attribute is None: + raise DeserializationException("The required property 'attribute' is missing") + + return our_types.AttributeOperand(the_attribute) + + +def _read_attribute_operand_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AttributeOperand: + """ + Read an instance of :py:class:`.types.AttributeOperand` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "attributeOperand", _read_attribute_operand_as_sequence + ) + + +def _read_number_literal_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.NumberLiteral: + """ + Read an instance of :py:class:`.types.NumberLiteral` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_NUMBER_LITERAL) + + the_num_val: Optional[float] = values.get("numVal") + + if the_num_val is None: + raise DeserializationException("The required property 'numVal' is missing") + + return our_types.NumberLiteral(the_num_val) + + +def _read_number_literal_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.NumberLiteral: + """ + Read an instance of :py:class:`.types.NumberLiteral` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "numberLiteral", _read_number_literal_as_sequence + ) + + +def _read_hex_literal_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.HexLiteral: + """ + Read an instance of :py:class:`.types.HexLiteral` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_HEX_LITERAL) + + the_hex_val: Optional[str] = values.get("hexVal") + + if the_hex_val is None: + raise DeserializationException("The required property 'hexVal' is missing") + + return our_types.HexLiteral(the_hex_val) + + +def _read_hex_literal_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.HexLiteral: + """ + Read an instance of :py:class:`.types.HexLiteral` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "hexLiteral", _read_hex_literal_as_sequence + ) + + +def _read_date_time_literal_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DateTimeLiteral: + """ + Read an instance of :py:class:`.types.DateTimeLiteral` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_DATE_TIME_LITERAL) + + the_date_time_val: Optional[str] = values.get("dateTimeVal") + + if the_date_time_val is None: + raise DeserializationException("The required property 'dateTimeVal' is missing") + + return our_types.DateTimeLiteral(the_date_time_val) + + +def _read_date_time_literal_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DateTimeLiteral: + """ + Read an instance of :py:class:`.types.DateTimeLiteral` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "dateTimeLiteral", _read_date_time_literal_as_sequence + ) + + +def _read_time_literal_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.TimeLiteral: + """ + Read an instance of :py:class:`.types.TimeLiteral` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_TIME_LITERAL) + + the_time_val: Optional[str] = values.get("timeVal") + + if the_time_val is None: + raise DeserializationException("The required property 'timeVal' is missing") + + return our_types.TimeLiteral(the_time_val) + + +def _read_time_literal_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.TimeLiteral: + """ + Read an instance of :py:class:`.types.TimeLiteral` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "timeLiteral", _read_time_literal_as_sequence + ) + + +def _read_boolean_literal_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.BooleanLiteral: + """ + Read an instance of :py:class:`.types.BooleanLiteral` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_BOOLEAN_LITERAL) + + the_boolean: Optional[bool] = values.get("boolean") + + if the_boolean is None: + raise DeserializationException("The required property 'boolean' is missing") + + return our_types.BooleanLiteral(the_boolean) + + +def _read_boolean_literal_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.BooleanLiteral: + """ + Read an instance of :py:class:`.types.BooleanLiteral` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "booleanLiteral", _read_boolean_literal_as_sequence + ) + + +def _read_string_cast_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.StringCast: + """ + Read an instance of :py:class:`.types.StringCast` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_STRING_CAST) + + the_str_cast: Optional[our_types.Value] = values.get("strCast") + + if the_str_cast is None: + raise DeserializationException("The required property 'strCast' is missing") + + return our_types.StringCast(the_str_cast) + + +def _read_string_cast_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.StringCast: + """ + Read an instance of :py:class:`.types.StringCast` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "stringCast", _read_string_cast_as_sequence + ) + + +def _read_number_cast_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.NumberCast: + """ + Read an instance of :py:class:`.types.NumberCast` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_NUMBER_CAST) + + the_num_cast: Optional[our_types.Value] = values.get("numCast") + + if the_num_cast is None: + raise DeserializationException("The required property 'numCast' is missing") + + return our_types.NumberCast(the_num_cast) + + +def _read_number_cast_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.NumberCast: + """ + Read an instance of :py:class:`.types.NumberCast` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "numberCast", _read_number_cast_as_sequence + ) + + +def _read_hex_cast_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.HexCast: + """ + Read an instance of :py:class:`.types.HexCast` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_HEX_CAST) + + the_hex_cast: Optional[our_types.Value] = values.get("hexCast") + + if the_hex_cast is None: + raise DeserializationException("The required property 'hexCast' is missing") + + return our_types.HexCast(the_hex_cast) + + +def _read_hex_cast_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.HexCast: + """ + Read an instance of :py:class:`.types.HexCast` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element(element, iterator, "hexCast", _read_hex_cast_as_sequence) + + +def _read_boolean_cast_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.BooleanCast: + """ + Read an instance of :py:class:`.types.BooleanCast` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_BOOLEAN_CAST) + + the_bool_cast: Optional[our_types.Value] = values.get("boolCast") + + if the_bool_cast is None: + raise DeserializationException("The required property 'boolCast' is missing") + + return our_types.BooleanCast(the_bool_cast) + + +def _read_boolean_cast_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.BooleanCast: + """ + Read an instance of :py:class:`.types.BooleanCast` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "booleanCast", _read_boolean_cast_as_sequence + ) + + +def _read_date_time_cast_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DateTimeCast: + """ + Read an instance of :py:class:`.types.DateTimeCast` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_DATE_TIME_CAST) + + the_date_time_cast: Optional[our_types.StringValue] = values.get("dateTimeCast") + + if the_date_time_cast is None: + raise DeserializationException( + "The required property 'dateTimeCast' is missing" + ) + + return our_types.DateTimeCast(the_date_time_cast) + + +def _read_date_time_cast_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DateTimeCast: + """ + Read an instance of :py:class:`.types.DateTimeCast` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "dateTimeCast", _read_date_time_cast_as_sequence + ) + + +def _read_time_cast_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.TimeCast: + """ + Read an instance of :py:class:`.types.TimeCast` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_TIME_CAST) + + the_time_cast: Optional[our_types.TimeCastOperand] = values.get("timeCast") + + if the_time_cast is None: + raise DeserializationException("The required property 'timeCast' is missing") + + return our_types.TimeCast(the_time_cast) + + +def _read_time_cast_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.TimeCast: + """ + Read an instance of :py:class:`.types.TimeCast` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "timeCast", _read_time_cast_as_sequence + ) + + +def _read_day_of_week_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DayOfWeek: + """ + Read an instance of :py:class:`.types.DayOfWeek` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_DAY_OF_WEEK) + + the_day_of_week: Optional[our_types.DateTimeOperand] = values.get("dayOfWeek") + + if the_day_of_week is None: + raise DeserializationException("The required property 'dayOfWeek' is missing") + + return our_types.DayOfWeek(the_day_of_week) + + +def _read_day_of_week_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DayOfWeek: + """ + Read an instance of :py:class:`.types.DayOfWeek` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "dayOfWeek", _read_day_of_week_as_sequence + ) + + +def _read_day_of_month_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DayOfMonth: + """ + Read an instance of :py:class:`.types.DayOfMonth` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_DAY_OF_MONTH) + + the_day_of_month: Optional[our_types.DateTimeOperand] = values.get("dayOfMonth") + + if the_day_of_month is None: + raise DeserializationException("The required property 'dayOfMonth' is missing") + + return our_types.DayOfMonth(the_day_of_month) + + +def _read_day_of_month_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DayOfMonth: + """ + Read an instance of :py:class:`.types.DayOfMonth` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "dayOfMonth", _read_day_of_month_as_sequence + ) + + +def _read_month_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Month: + """ + Read an instance of :py:class:`.types.Month` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_MONTH) + + the_month: Optional[our_types.DateTimeOperand] = values.get("month") + + if the_month is None: + raise DeserializationException("The required property 'month' is missing") + + return our_types.Month(the_month) + + +def _read_month_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Month: + """ + Read an instance of :py:class:`.types.Month` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element(element, iterator, "month", _read_month_as_sequence) + + +def _read_year_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Year: + """ + Read an instance of :py:class:`.types.Year` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_YEAR) + + the_year: Optional[our_types.DateTimeOperand] = values.get("year") + + if the_year is None: + raise DeserializationException("The required property 'year' is missing") + + return our_types.Year(the_year) + + +def _read_year_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Year: + """ + Read an instance of :py:class:`.types.Year` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element(element, iterator, "year", _read_year_as_sequence) + + +def _read_date_time_attribute_operand_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DateTimeAttributeOperand: + """ + Read an instance of :py:class:`.types.DateTimeAttributeOperand` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_DATE_TIME_ATTRIBUTE_OPERAND + ) + + the_attribute: Optional[our_types.DateTimeAttributeItem] = values.get("attribute") + + if the_attribute is None: + raise DeserializationException("The required property 'attribute' is missing") + + return our_types.DateTimeAttributeOperand(the_attribute) + + +def _read_date_time_attribute_operand_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DateTimeAttributeOperand: + """ + Read an instance of :py:class:`.types.DateTimeAttributeOperand` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "dateTimeAttributeOperand", + _read_date_time_attribute_operand_as_sequence, + ) + + +def _read_equal_comparison_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.EqualComparison: + """ + Read an instance of :py:class:`.types.EqualComparison` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_EQUAL_COMPARISON) + + the_eq: Optional[Tuple[our_types.Value, our_types.Value]] = values.get("eq") + + if the_eq is None: + raise DeserializationException("The required property 'eq' is missing") + + return our_types.EqualComparison(the_eq) + + +def _read_equal_comparison_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.EqualComparison: + """ + Read an instance of :py:class:`.types.EqualComparison` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "equalComparison", _read_equal_comparison_as_sequence + ) + + +def _read_not_equal_comparison_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.NotEqualComparison: + """ + Read an instance of :py:class:`.types.NotEqualComparison` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_NOT_EQUAL_COMPARISON) + + the_ne: Optional[Tuple[our_types.Value, our_types.Value]] = values.get("ne") + + if the_ne is None: + raise DeserializationException("The required property 'ne' is missing") + + return our_types.NotEqualComparison(the_ne) + + +def _read_not_equal_comparison_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.NotEqualComparison: + """ + Read an instance of :py:class:`.types.NotEqualComparison` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "notEqualComparison", _read_not_equal_comparison_as_sequence + ) + + +def _read_greater_than_comparison_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GreaterThanComparison: + """ + Read an instance of :py:class:`.types.GreaterThanComparison` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_GREATER_THAN_COMPARISON) + + the_gt: Optional[Tuple[our_types.Value, our_types.Value]] = values.get("gt") + + if the_gt is None: + raise DeserializationException("The required property 'gt' is missing") + + return our_types.GreaterThanComparison(the_gt) + + +def _read_greater_than_comparison_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GreaterThanComparison: + """ + Read an instance of :py:class:`.types.GreaterThanComparison` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "greaterThanComparison", + _read_greater_than_comparison_as_sequence, + ) + + +def _read_greater_than_or_equal_comparison_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GreaterThanOrEqualComparison: + """ + Read an instance of :py:class:`.types.GreaterThanOrEqualComparison` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_GREATER_THAN_OR_EQUAL_COMPARISON + ) + + the_ge: Optional[Tuple[our_types.Value, our_types.Value]] = values.get("ge") + + if the_ge is None: + raise DeserializationException("The required property 'ge' is missing") + + return our_types.GreaterThanOrEqualComparison(the_ge) + + +def _read_greater_than_or_equal_comparison_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.GreaterThanOrEqualComparison: + """ + Read an instance of :py:class:`.types.GreaterThanOrEqualComparison` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "greaterThanOrEqualComparison", + _read_greater_than_or_equal_comparison_as_sequence, + ) + + +def _read_less_than_comparison_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.LessThanComparison: + """ + Read an instance of :py:class:`.types.LessThanComparison` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_LESS_THAN_COMPARISON) + + the_lt: Optional[Tuple[our_types.Value, our_types.Value]] = values.get("lt") + + if the_lt is None: + raise DeserializationException("The required property 'lt' is missing") + + return our_types.LessThanComparison(the_lt) + + +def _read_less_than_comparison_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.LessThanComparison: + """ + Read an instance of :py:class:`.types.LessThanComparison` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "lessThanComparison", _read_less_than_comparison_as_sequence + ) + + +def _read_less_than_or_equal_comparison_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.LessThanOrEqualComparison: + """ + Read an instance of :py:class:`.types.LessThanOrEqualComparison` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties( + element, iterator, _READERS_FOR_LESS_THAN_OR_EQUAL_COMPARISON + ) + + the_le: Optional[Tuple[our_types.Value, our_types.Value]] = values.get("le") + + if the_le is None: + raise DeserializationException("The required property 'le' is missing") + + return our_types.LessThanOrEqualComparison(the_le) + + +def _read_less_than_or_equal_comparison_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.LessThanOrEqualComparison: + """ + Read an instance of :py:class:`.types.LessThanOrEqualComparison` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "lessThanOrEqualComparison", + _read_less_than_or_equal_comparison_as_sequence, + ) + + +def _read_contains_comparison_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ContainsComparison: + """ + Read an instance of :py:class:`.types.ContainsComparison` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_CONTAINS_COMPARISON) + + the_contains: Optional[Tuple[our_types.StringValue, our_types.StringValue]] = ( + values.get("contains") + ) + + if the_contains is None: + raise DeserializationException("The required property 'contains' is missing") + + return our_types.ContainsComparison(the_contains) + + +def _read_contains_comparison_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.ContainsComparison: + """ + Read an instance of :py:class:`.types.ContainsComparison` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "containsComparison", _read_contains_comparison_as_sequence + ) + + +def _read_starts_with_comparison_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.StartsWithComparison: + """ + Read an instance of :py:class:`.types.StartsWithComparison` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_STARTS_WITH_COMPARISON) + + the_starts_with: Optional[Tuple[our_types.StringValue, our_types.StringValue]] = ( + values.get("startsWith") + ) + + if the_starts_with is None: + raise DeserializationException("The required property 'startsWith' is missing") + + return our_types.StartsWithComparison(the_starts_with) + + +def _read_starts_with_comparison_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.StartsWithComparison: + """ + Read an instance of :py:class:`.types.StartsWithComparison` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, + iterator, + "startsWithComparison", + _read_starts_with_comparison_as_sequence, + ) + + +def _read_ends_with_comparison_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.EndsWithComparison: + """ + Read an instance of :py:class:`.types.EndsWithComparison` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_ENDS_WITH_COMPARISON) + + the_ends_with: Optional[Tuple[our_types.StringValue, our_types.StringValue]] = ( + values.get("endsWith") + ) + + if the_ends_with is None: + raise DeserializationException("The required property 'endsWith' is missing") + + return our_types.EndsWithComparison(the_ends_with) + + +def _read_ends_with_comparison_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.EndsWithComparison: + """ + Read an instance of :py:class:`.types.EndsWithComparison` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "endsWithComparison", _read_ends_with_comparison_as_sequence + ) + + +def _read_regex_comparison_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.RegexComparison: + """ + Read an instance of :py:class:`.types.RegexComparison` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_REGEX_COMPARISON) + + the_regex: Optional[Tuple[our_types.StringValue, our_types.StringValue]] = ( + values.get("regex") + ) + + if the_regex is None: + raise DeserializationException("The required property 'regex' is missing") + + return our_types.RegexComparison(the_regex) + + +def _read_regex_comparison_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.RegexComparison: + """ + Read an instance of :py:class:`.types.RegexComparison` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "regexComparison", _read_regex_comparison_as_sequence + ) + + +def _read_match_clause_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.MatchClause: + """ + Read an instance of :py:class:`.types.MatchClause` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_MATCH_CLAUSE) + + the_match_operands: Optional[List[our_types.MatchExpression]] = values.get( + "matchOperands" + ) + + if the_match_operands is None: + raise DeserializationException( + "The required property 'matchOperands' is missing" + ) + + return our_types.MatchClause(the_match_operands) + + +def _read_match_clause_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.MatchClause: + """ + Read an instance of :py:class:`.types.MatchClause` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "matchClause", _read_match_clause_as_sequence + ) + + +def _read_and_expression_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AndExpression: + """ + Read an instance of :py:class:`.types.AndExpression` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_AND_EXPRESSION) + + the_and_operands: Optional[List[our_types.LogicalExpression]] = values.get( + "andOperands" + ) + + if the_and_operands is None: + raise DeserializationException("The required property 'andOperands' is missing") + + return our_types.AndExpression(the_and_operands) + + +def _read_and_expression_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AndExpression: + """ + Read an instance of :py:class:`.types.AndExpression` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "andExpression", _read_and_expression_as_sequence + ) + + +def _read_or_expression_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.OrExpression: + """ + Read an instance of :py:class:`.types.OrExpression` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_OR_EXPRESSION) + + the_or_operands: Optional[List[our_types.LogicalExpression]] = values.get( + "orOperands" + ) + + if the_or_operands is None: + raise DeserializationException("The required property 'orOperands' is missing") + + return our_types.OrExpression(the_or_operands) + + +def _read_or_expression_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.OrExpression: + """ + Read an instance of :py:class:`.types.OrExpression` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "orExpression", _read_or_expression_as_sequence + ) + + +def _read_not_expression_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.NotExpression: + """ + Read an instance of :py:class:`.types.NotExpression` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_NOT_EXPRESSION) + + the_not_operand: Optional[our_types.LogicalExpression] = values.get("notOperand") + + if the_not_operand is None: + raise DeserializationException("The required property 'notOperand' is missing") + + return our_types.NotExpression(the_not_operand) + + +def _read_not_expression_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.NotExpression: + """ + Read an instance of :py:class:`.types.NotExpression` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "notExpression", _read_not_expression_as_sequence + ) + + +def _read_query_select_from_element_text( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.QuerySelect: + """ + Parse the text of :paramref:`element` as a literal of + :py:class:`.types.QuerySelect`, and read the corresponding + end element from :paramref:`iterator`. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed value + """ + return _read_enum_from_element_text( + element, iterator, our_stringification.query_select_from_str, "QuerySelect" + ) + + +def _read_query_filter_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.QueryFilter: + """ + Read an instance of :py:class:`.types.QueryFilter` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_QUERY_FILTER) + + the_fragment: Optional[str] = values.get("fragment") + the_condition: Optional[our_types.LogicalExpression] = values.get("condition") + + if the_fragment is None: + raise DeserializationException("The required property 'fragment' is missing") + + if the_condition is None: + raise DeserializationException("The required property 'condition' is missing") + + return our_types.QueryFilter(the_fragment, the_condition) + + +def _read_query_filter_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.QueryFilter: + """ + Read an instance of :py:class:`.types.QueryFilter` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element( + element, iterator, "queryFilter", _read_query_filter_as_sequence + ) + + +def _read_query_as_sequence( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Query: + """ + Read an instance of :py:class:`.types.Query` + as a sequence of XML-encoded properties. + + The end element corresponding to the :paramref:`element` will be + read as well. + + :param element: start element, parent of the sequence + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + values = _read_properties(element, iterator, _READERS_FOR_QUERY) + + the_select: Optional[our_types.QuerySelect] = values.get("select") + the_condition: Optional[our_types.LogicalExpression] = values.get("condition") + the_filters: Optional[List[our_types.QueryFilter]] = values.get("filters") + + if the_condition is None: + raise DeserializationException("The required property 'condition' is missing") + + return our_types.Query(the_condition, the_select, the_filters) + + +def _read_query_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Query: + """ + Read an instance of :py:class:`.types.Query` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_named_element(element, iterator, "query", _read_query_as_sequence) + + +def _read_attribute_item_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.AttributeItem: + """ + Read an instance of :py:class:`.types.AttributeItem` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_ATTRIBUTE_ITEM, + "a concrete instance of 'AttributeItem'", + ) + + +def _read_string_value_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.StringValue: + """ + Read an instance of :py:class:`.types.StringValue` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_STRING_VALUE, + "a concrete instance of 'StringValue'", + ) + + +def _read_date_time_operand_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.DateTimeOperand: + """ + Read an instance of :py:class:`.types.DateTimeOperand` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_DATE_TIME_OPERAND, + "a concrete instance of 'DateTimeOperand'", + ) + + +def _read_time_cast_operand_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.TimeCastOperand: + """ + Read an instance of :py:class:`.types.TimeCastOperand` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_TIME_CAST_OPERAND, + "a concrete instance of 'TimeCastOperand'", + ) + + +def _read_numerical_operand_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.NumericalOperand: + """ + Read an instance of :py:class:`.types.NumericalOperand` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_NUMERICAL_OPERAND, + "a concrete instance of 'NumericalOperand'", + ) + + +def _read_hex_operand_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.HexOperand: + """ + Read an instance of :py:class:`.types.HexOperand` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_HEX_OPERAND, + "a concrete instance of 'HexOperand'", + ) + + +def _read_bool_operand_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.BoolOperand: + """ + Read an instance of :py:class:`.types.BoolOperand` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_BOOL_OPERAND, + "a concrete instance of 'BoolOperand'", + ) + + +def _read_time_operand_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.TimeOperand: + """ + Read an instance of :py:class:`.types.TimeOperand` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_TIME_OPERAND, + "a concrete instance of 'TimeOperand'", + ) + + +def _read_value_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Value: + """ + Read an instance of :py:class:`.types.Value` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, iterator, _DISPATCH_FOR_VALUE, "a concrete instance of 'Value'" + ) + + +def _read_match_expression_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.MatchExpression: + """ + Read an instance of :py:class:`.types.MatchExpression` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_MATCH_EXPRESSION, + "a concrete instance of 'MatchExpression'", + ) + + +def _read_logical_expression_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.LogicalExpression: + """ + Read an instance of :py:class:`.types.LogicalExpression` from + :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched( + element, + iterator, + _DISPATCH_FOR_LOGICAL_EXPRESSION, + "a concrete instance of 'LogicalExpression'", + ) + + +def _read_as_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.Class: + """ + Read an instance from :paramref:`iterator`, including the end element. + + :param element: start element + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed instance + """ + return _read_dispatched(element, iterator, _GENERAL_DISPATCH, "a concrete instance") + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to concrete descendants of HasSemantics +_DISPATCH_FOR_HAS_SEMANTICS: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.HasSemantics] +] = { + "relationshipElement": _read_relationship_element_as_sequence, + "annotatedRelationshipElement": _read_annotated_relationship_element_as_sequence, + "annotatedRelationshipElementMetadata": _read_annotated_relationship_element_metadata_as_sequence, + "basicEventElement": _read_basic_event_element_as_sequence, + "basicEventElementMetadata": _read_basic_event_element_metadata_as_sequence, + "blob": _read_blob_as_sequence, + "blobMetadata": _read_blob_metadata_as_sequence, + "capability": _read_capability_as_sequence, + "capabilityMetadata": _read_capability_metadata_as_sequence, + "entity": _read_entity_as_sequence, + "entityMetadata": _read_entity_metadata_as_sequence, + "extension": _read_extension_as_sequence, + "file": _read_file_as_sequence, + "fileMetadata": _read_file_metadata_as_sequence, + "multiLanguageProperty": _read_multi_language_property_as_sequence, + "multiLanguagePropertyMetadata": _read_multi_language_property_metadata_as_sequence, + "operation": _read_operation_as_sequence, + "operationMetadata": _read_operation_metadata_as_sequence, + "property": _read_property_as_sequence, + "propertyMetadata": _read_property_metadata_as_sequence, + "qualifier": _read_qualifier_as_sequence, + "range": _read_range_as_sequence, + "rangeMetadata": _read_range_metadata_as_sequence, + "referenceElement": _read_reference_element_as_sequence, + "referenceElementMetadata": _read_reference_element_metadata_as_sequence, + "relationshipElementMetadata": _read_relationship_element_metadata_as_sequence, + "specificAssetId": _read_specific_asset_id_as_sequence, + "submodel": _read_submodel_as_sequence, + "submodelElementCollection": _read_submodel_element_collection_as_sequence, + "submodelElementCollectionMetadata": _read_submodel_element_collection_metadata_as_sequence, + "submodelElementList": _read_submodel_element_list_as_sequence, + "submodelElementListMetadata": _read_submodel_element_list_metadata_as_sequence, + "submodelMetadata": _read_submodel_metadata_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to concrete descendants of HasExtensions +_DISPATCH_FOR_HAS_EXTENSIONS: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.HasExtensions] +] = { + "relationshipElement": _read_relationship_element_as_sequence, + "annotatedRelationshipElement": _read_annotated_relationship_element_as_sequence, + "annotatedRelationshipElementMetadata": _read_annotated_relationship_element_metadata_as_sequence, + "assetAdministrationShell": _read_asset_administration_shell_as_sequence, + "assetAdministrationShellMetadata": _read_asset_administration_shell_metadata_as_sequence, + "basicEventElement": _read_basic_event_element_as_sequence, + "basicEventElementMetadata": _read_basic_event_element_metadata_as_sequence, + "blob": _read_blob_as_sequence, + "blobMetadata": _read_blob_metadata_as_sequence, + "capability": _read_capability_as_sequence, + "capabilityMetadata": _read_capability_metadata_as_sequence, + "conceptDescription": _read_concept_description_as_sequence, + "entity": _read_entity_as_sequence, + "entityMetadata": _read_entity_metadata_as_sequence, + "file": _read_file_as_sequence, + "fileMetadata": _read_file_metadata_as_sequence, + "multiLanguageProperty": _read_multi_language_property_as_sequence, + "multiLanguagePropertyMetadata": _read_multi_language_property_metadata_as_sequence, + "operation": _read_operation_as_sequence, + "operationMetadata": _read_operation_metadata_as_sequence, + "property": _read_property_as_sequence, + "propertyMetadata": _read_property_metadata_as_sequence, + "range": _read_range_as_sequence, + "rangeMetadata": _read_range_metadata_as_sequence, + "referenceElement": _read_reference_element_as_sequence, + "referenceElementMetadata": _read_reference_element_metadata_as_sequence, + "relationshipElementMetadata": _read_relationship_element_metadata_as_sequence, + "submodel": _read_submodel_as_sequence, + "submodelElementCollection": _read_submodel_element_collection_as_sequence, + "submodelElementCollectionMetadata": _read_submodel_element_collection_metadata_as_sequence, + "submodelElementList": _read_submodel_element_list_as_sequence, + "submodelElementListMetadata": _read_submodel_element_list_metadata_as_sequence, + "submodelMetadata": _read_submodel_metadata_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to concrete descendants of Referable +_DISPATCH_FOR_REFERABLE: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.Referable] +] = { + "relationshipElement": _read_relationship_element_as_sequence, + "annotatedRelationshipElement": _read_annotated_relationship_element_as_sequence, + "annotatedRelationshipElementMetadata": _read_annotated_relationship_element_metadata_as_sequence, + "assetAdministrationShell": _read_asset_administration_shell_as_sequence, + "assetAdministrationShellMetadata": _read_asset_administration_shell_metadata_as_sequence, + "basicEventElement": _read_basic_event_element_as_sequence, + "basicEventElementMetadata": _read_basic_event_element_metadata_as_sequence, + "blob": _read_blob_as_sequence, + "blobMetadata": _read_blob_metadata_as_sequence, + "capability": _read_capability_as_sequence, + "capabilityMetadata": _read_capability_metadata_as_sequence, + "conceptDescription": _read_concept_description_as_sequence, + "entity": _read_entity_as_sequence, + "entityMetadata": _read_entity_metadata_as_sequence, + "file": _read_file_as_sequence, + "fileMetadata": _read_file_metadata_as_sequence, + "multiLanguageProperty": _read_multi_language_property_as_sequence, + "multiLanguagePropertyMetadata": _read_multi_language_property_metadata_as_sequence, + "operation": _read_operation_as_sequence, + "operationMetadata": _read_operation_metadata_as_sequence, + "property": _read_property_as_sequence, + "propertyMetadata": _read_property_metadata_as_sequence, + "range": _read_range_as_sequence, + "rangeMetadata": _read_range_metadata_as_sequence, + "referenceElement": _read_reference_element_as_sequence, + "referenceElementMetadata": _read_reference_element_metadata_as_sequence, + "relationshipElementMetadata": _read_relationship_element_metadata_as_sequence, + "submodel": _read_submodel_as_sequence, + "submodelElementCollection": _read_submodel_element_collection_as_sequence, + "submodelElementCollectionMetadata": _read_submodel_element_collection_metadata_as_sequence, + "submodelElementList": _read_submodel_element_list_as_sequence, + "submodelElementListMetadata": _read_submodel_element_list_metadata_as_sequence, + "submodelMetadata": _read_submodel_metadata_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to concrete descendants of Identifiable +_DISPATCH_FOR_IDENTIFIABLE: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.Identifiable] +] = { + "assetAdministrationShell": _read_asset_administration_shell_as_sequence, + "assetAdministrationShellMetadata": _read_asset_administration_shell_metadata_as_sequence, + "conceptDescription": _read_concept_description_as_sequence, + "submodel": _read_submodel_as_sequence, + "submodelMetadata": _read_submodel_metadata_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to concrete descendants of HasKind +_DISPATCH_FOR_HAS_KIND: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.HasKind] +] = { + "submodel": _read_submodel_as_sequence, + "submodelMetadata": _read_submodel_metadata_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to concrete descendants of HasDataSpecification +_DISPATCH_FOR_HAS_DATA_SPECIFICATION: Mapping[ + str, + Callable[[Element, Iterator[Tuple[str, Element]]], our_types.HasDataSpecification], +] = { + "administrativeInformation": _read_administrative_information_as_sequence, + "relationshipElement": _read_relationship_element_as_sequence, + "annotatedRelationshipElement": _read_annotated_relationship_element_as_sequence, + "annotatedRelationshipElementMetadata": _read_annotated_relationship_element_metadata_as_sequence, + "assetAdministrationShell": _read_asset_administration_shell_as_sequence, + "assetAdministrationShellMetadata": _read_asset_administration_shell_metadata_as_sequence, + "basicEventElement": _read_basic_event_element_as_sequence, + "basicEventElementMetadata": _read_basic_event_element_metadata_as_sequence, + "blob": _read_blob_as_sequence, + "blobMetadata": _read_blob_metadata_as_sequence, + "capability": _read_capability_as_sequence, + "capabilityMetadata": _read_capability_metadata_as_sequence, + "conceptDescription": _read_concept_description_as_sequence, + "entity": _read_entity_as_sequence, + "entityMetadata": _read_entity_metadata_as_sequence, + "file": _read_file_as_sequence, + "fileMetadata": _read_file_metadata_as_sequence, + "multiLanguageProperty": _read_multi_language_property_as_sequence, + "multiLanguagePropertyMetadata": _read_multi_language_property_metadata_as_sequence, + "operation": _read_operation_as_sequence, + "operationMetadata": _read_operation_metadata_as_sequence, + "property": _read_property_as_sequence, + "propertyMetadata": _read_property_metadata_as_sequence, + "range": _read_range_as_sequence, + "rangeMetadata": _read_range_metadata_as_sequence, + "referenceElement": _read_reference_element_as_sequence, + "referenceElementMetadata": _read_reference_element_metadata_as_sequence, + "relationshipElementMetadata": _read_relationship_element_metadata_as_sequence, + "submodel": _read_submodel_as_sequence, + "submodelElementCollection": _read_submodel_element_collection_as_sequence, + "submodelElementCollectionMetadata": _read_submodel_element_collection_metadata_as_sequence, + "submodelElementList": _read_submodel_element_list_as_sequence, + "submodelElementListMetadata": _read_submodel_element_list_metadata_as_sequence, + "submodelMetadata": _read_submodel_metadata_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to concrete descendants of Qualifiable +_DISPATCH_FOR_QUALIFIABLE: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.Qualifiable] +] = { + "relationshipElement": _read_relationship_element_as_sequence, + "annotatedRelationshipElement": _read_annotated_relationship_element_as_sequence, + "annotatedRelationshipElementMetadata": _read_annotated_relationship_element_metadata_as_sequence, + "basicEventElement": _read_basic_event_element_as_sequence, + "basicEventElementMetadata": _read_basic_event_element_metadata_as_sequence, + "blob": _read_blob_as_sequence, + "blobMetadata": _read_blob_metadata_as_sequence, + "capability": _read_capability_as_sequence, + "capabilityMetadata": _read_capability_metadata_as_sequence, + "entity": _read_entity_as_sequence, + "entityMetadata": _read_entity_metadata_as_sequence, + "file": _read_file_as_sequence, + "fileMetadata": _read_file_metadata_as_sequence, + "multiLanguageProperty": _read_multi_language_property_as_sequence, + "multiLanguagePropertyMetadata": _read_multi_language_property_metadata_as_sequence, + "operation": _read_operation_as_sequence, + "operationMetadata": _read_operation_metadata_as_sequence, + "property": _read_property_as_sequence, + "propertyMetadata": _read_property_metadata_as_sequence, + "range": _read_range_as_sequence, + "rangeMetadata": _read_range_metadata_as_sequence, + "referenceElement": _read_reference_element_as_sequence, + "referenceElementMetadata": _read_reference_element_metadata_as_sequence, + "relationshipElementMetadata": _read_relationship_element_metadata_as_sequence, + "submodel": _read_submodel_as_sequence, + "submodelElementCollection": _read_submodel_element_collection_as_sequence, + "submodelElementCollectionMetadata": _read_submodel_element_collection_metadata_as_sequence, + "submodelElementList": _read_submodel_element_list_as_sequence, + "submodelElementListMetadata": _read_submodel_element_list_metadata_as_sequence, + "submodelMetadata": _read_submodel_metadata_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to concrete descendants of SubmodelElement +_DISPATCH_FOR_SUBMODEL_ELEMENT: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.SubmodelElement] +] = { + "relationshipElement": _read_relationship_element_as_sequence, + "annotatedRelationshipElement": _read_annotated_relationship_element_as_sequence, + "basicEventElement": _read_basic_event_element_as_sequence, + "blob": _read_blob_as_sequence, + "capability": _read_capability_as_sequence, + "entity": _read_entity_as_sequence, + "file": _read_file_as_sequence, + "multiLanguageProperty": _read_multi_language_property_as_sequence, + "operation": _read_operation_as_sequence, + "property": _read_property_as_sequence, + "range": _read_range_as_sequence, + "referenceElement": _read_reference_element_as_sequence, + "submodelElementCollection": _read_submodel_element_collection_as_sequence, + "submodelElementList": _read_submodel_element_list_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to RelationshipElement and its concrete descendants +_DISPATCH_FOR_RELATIONSHIP_ELEMENT: Mapping[ + str, + Callable[[Element, Iterator[Tuple[str, Element]]], our_types.RelationshipElement], +] = { + "relationshipElement": _read_relationship_element_as_sequence, + "annotatedRelationshipElement": _read_annotated_relationship_element_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to concrete descendants of DataElement +_DISPATCH_FOR_DATA_ELEMENT: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.DataElement] +] = { + "blob": _read_blob_as_sequence, + "file": _read_file_as_sequence, + "multiLanguageProperty": _read_multi_language_property_as_sequence, + "property": _read_property_as_sequence, + "range": _read_range_as_sequence, + "referenceElement": _read_reference_element_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to concrete descendants of EventElement +_DISPATCH_FOR_EVENT_ELEMENT: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.EventElement] +] = { + "basicEventElement": _read_basic_event_element_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to concrete descendants of AbstractLangString +_DISPATCH_FOR_ABSTRACT_LANG_STRING: Mapping[ + str, + Callable[[Element, Iterator[Tuple[str, Element]]], our_types.AbstractLangString], +] = { + "definitionTypeUom": _read_definition_type_uom_as_sequence, + "langStringDefinitionTypeIec61360": _read_lang_string_definition_type_iec_61360_as_sequence, + "langStringNameType": _read_lang_string_name_type_as_sequence, + "langStringPreferredNameTypeIec61360": _read_lang_string_preferred_name_type_iec_61360_as_sequence, + "langStringShortNameTypeIec61360": _read_lang_string_short_name_type_iec_61360_as_sequence, + "langStringTextType": _read_lang_string_text_type_as_sequence, + "langStringUom": _read_lang_string_uom_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to concrete descendants of DataSpecificationContent +_DISPATCH_FOR_DATA_SPECIFICATION_CONTENT: Mapping[ + str, + Callable[ + [Element, Iterator[Tuple[str, Element]]], our_types.DataSpecificationContent + ], +] = { + "dataSpecificationIec61360": _read_data_specification_iec_61360_as_sequence, + "dataSpecificationUom": _read_data_specification_uom_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to concrete descendants of Descriptor +_DISPATCH_FOR_DESCRIPTOR: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.Descriptor] +] = { + "assetAdministrationShellDescriptor": _read_asset_administration_shell_descriptor_as_sequence, + "submodelDescriptor": _read_submodel_descriptor_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to concrete descendants of RecentChange +_DISPATCH_FOR_RECENT_CHANGE: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.RecentChange] +] = { + "assetAdministrationShellRecentChange": _read_asset_administration_shell_recent_change_as_sequence, + "conceptDescriptionRecentChange": _read_concept_description_recent_change_as_sequence, + "submodelRecentChange": _read_submodel_recent_change_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to concrete descendants of SubmodelElementAttributes +_DISPATCH_FOR_SUBMODEL_ELEMENT_ATTRIBUTES: Mapping[ + str, + Callable[ + [Element, Iterator[Tuple[str, Element]]], our_types.SubmodelElementAttributes + ], +] = { + "annotatedRelationshipElementMetadata": _read_annotated_relationship_element_metadata_as_sequence, + "basicEventElementMetadata": _read_basic_event_element_metadata_as_sequence, + "blobMetadata": _read_blob_metadata_as_sequence, + "capabilityMetadata": _read_capability_metadata_as_sequence, + "entityMetadata": _read_entity_metadata_as_sequence, + "fileMetadata": _read_file_metadata_as_sequence, + "multiLanguagePropertyMetadata": _read_multi_language_property_metadata_as_sequence, + "operationMetadata": _read_operation_metadata_as_sequence, + "propertyMetadata": _read_property_metadata_as_sequence, + "rangeMetadata": _read_range_metadata_as_sequence, + "referenceElementMetadata": _read_reference_element_metadata_as_sequence, + "relationshipElementMetadata": _read_relationship_element_metadata_as_sequence, + "submodelElementCollectionMetadata": _read_submodel_element_collection_metadata_as_sequence, + "submodelElementListMetadata": _read_submodel_element_list_metadata_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to concrete descendants of SubmodelElementMetadata +_DISPATCH_FOR_SUBMODEL_ELEMENT_METADATA: Mapping[ + str, + Callable[ + [Element, Iterator[Tuple[str, Element]]], our_types.SubmodelElementMetadata + ], +] = { + "annotatedRelationshipElementMetadata": _read_annotated_relationship_element_metadata_as_sequence, + "basicEventElementMetadata": _read_basic_event_element_metadata_as_sequence, + "blobMetadata": _read_blob_metadata_as_sequence, + "capabilityMetadata": _read_capability_metadata_as_sequence, + "entityMetadata": _read_entity_metadata_as_sequence, + "fileMetadata": _read_file_metadata_as_sequence, + "multiLanguagePropertyMetadata": _read_multi_language_property_metadata_as_sequence, + "operationMetadata": _read_operation_metadata_as_sequence, + "propertyMetadata": _read_property_metadata_as_sequence, + "rangeMetadata": _read_range_metadata_as_sequence, + "referenceElementMetadata": _read_reference_element_metadata_as_sequence, + "relationshipElementMetadata": _read_relationship_element_metadata_as_sequence, + "submodelElementCollectionMetadata": _read_submodel_element_collection_metadata_as_sequence, + "submodelElementListMetadata": _read_submodel_element_list_metadata_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to the implementers of AttributeItem +_DISPATCH_FOR_ATTRIBUTE_ITEM: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.AttributeItem] +] = { + "claimAttribute": _read_claim_attribute_as_sequence, + "globalAttribute": _read_global_attribute_as_sequence, + "referenceAttribute": _read_reference_attribute_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to the implementers of StringValue +_DISPATCH_FOR_STRING_VALUE: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.StringValue] +] = { + "fieldOperand": _read_field_operand_as_sequence, + "stringLiteral": _read_string_literal_as_sequence, + "stringCast": _read_string_cast_as_sequence, + "attributeOperand": _read_attribute_operand_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to the implementers of DateTimeOperand +_DISPATCH_FOR_DATE_TIME_OPERAND: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.DateTimeOperand] +] = { + "dateTimeLiteral": _read_date_time_literal_as_sequence, + "dateTimeCast": _read_date_time_cast_as_sequence, + "dateTimeAttributeOperand": _read_date_time_attribute_operand_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to the implementers of TimeCastOperand +_DISPATCH_FOR_TIME_CAST_OPERAND: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.TimeCastOperand] +] = { + "fieldOperand": _read_field_operand_as_sequence, + "stringLiteral": _read_string_literal_as_sequence, + "stringCast": _read_string_cast_as_sequence, + "attributeOperand": _read_attribute_operand_as_sequence, + "dateTimeLiteral": _read_date_time_literal_as_sequence, + "dateTimeCast": _read_date_time_cast_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to the implementers of NumericalOperand +_DISPATCH_FOR_NUMERICAL_OPERAND: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.NumericalOperand] +] = { + "numberLiteral": _read_number_literal_as_sequence, + "numberCast": _read_number_cast_as_sequence, + "dayOfWeek": _read_day_of_week_as_sequence, + "dayOfMonth": _read_day_of_month_as_sequence, + "month": _read_month_as_sequence, + "year": _read_year_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to the implementers of HexOperand +_DISPATCH_FOR_HEX_OPERAND: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.HexOperand] +] = { + "hexLiteral": _read_hex_literal_as_sequence, + "hexCast": _read_hex_cast_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to the implementers of BoolOperand +_DISPATCH_FOR_BOOL_OPERAND: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.BoolOperand] +] = { + "booleanLiteral": _read_boolean_literal_as_sequence, + "booleanCast": _read_boolean_cast_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to the implementers of TimeOperand +_DISPATCH_FOR_TIME_OPERAND: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.TimeOperand] +] = { + "timeLiteral": _read_time_literal_as_sequence, + "timeCast": _read_time_cast_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to the implementers of Value +_DISPATCH_FOR_VALUE: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.Value] +] = { + "fieldOperand": _read_field_operand_as_sequence, + "stringLiteral": _read_string_literal_as_sequence, + "stringCast": _read_string_cast_as_sequence, + "attributeOperand": _read_attribute_operand_as_sequence, + "numberLiteral": _read_number_literal_as_sequence, + "numberCast": _read_number_cast_as_sequence, + "dayOfWeek": _read_day_of_week_as_sequence, + "dayOfMonth": _read_day_of_month_as_sequence, + "month": _read_month_as_sequence, + "year": _read_year_as_sequence, + "hexLiteral": _read_hex_literal_as_sequence, + "hexCast": _read_hex_cast_as_sequence, + "booleanLiteral": _read_boolean_literal_as_sequence, + "booleanCast": _read_boolean_cast_as_sequence, + "dateTimeLiteral": _read_date_time_literal_as_sequence, + "dateTimeCast": _read_date_time_cast_as_sequence, + "timeLiteral": _read_time_literal_as_sequence, + "timeCast": _read_time_cast_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to the implementers of MatchExpression +_DISPATCH_FOR_MATCH_EXPRESSION: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.MatchExpression] +] = { + "matchClause": _read_match_clause_as_sequence, + "equalComparison": _read_equal_comparison_as_sequence, + "notEqualComparison": _read_not_equal_comparison_as_sequence, + "greaterThanComparison": _read_greater_than_comparison_as_sequence, + "greaterThanOrEqualComparison": _read_greater_than_or_equal_comparison_as_sequence, + "lessThanComparison": _read_less_than_comparison_as_sequence, + "lessThanOrEqualComparison": _read_less_than_or_equal_comparison_as_sequence, + "containsComparison": _read_contains_comparison_as_sequence, + "startsWithComparison": _read_starts_with_comparison_as_sequence, + "endsWithComparison": _read_ends_with_comparison_as_sequence, + "regexComparison": _read_regex_comparison_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to the implementers of LogicalExpression +_DISPATCH_FOR_LOGICAL_EXPRESSION: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.LogicalExpression] +] = { + "andExpression": _read_and_expression_as_sequence, + "orExpression": _read_or_expression_as_sequence, + "notExpression": _read_not_expression_as_sequence, + "booleanLiteral": _read_boolean_literal_as_sequence, + "matchClause": _read_match_clause_as_sequence, + "equalComparison": _read_equal_comparison_as_sequence, + "notEqualComparison": _read_not_equal_comparison_as_sequence, + "greaterThanComparison": _read_greater_than_comparison_as_sequence, + "greaterThanOrEqualComparison": _read_greater_than_or_equal_comparison_as_sequence, + "lessThanComparison": _read_less_than_comparison_as_sequence, + "lessThanOrEqualComparison": _read_less_than_or_equal_comparison_as_sequence, + "containsComparison": _read_contains_comparison_as_sequence, + "startsWithComparison": _read_starts_with_comparison_as_sequence, + "endsWithComparison": _read_ends_with_comparison_as_sequence, + "regexComparison": _read_regex_comparison_as_sequence, +} + + +#: Dispatch XML class names to read-as-sequence functions +#: corresponding to the concrete classes +_GENERAL_DISPATCH: Mapping[ + str, Callable[[Element, Iterator[Tuple[str, Element]]], our_types.Class] +] = { + "extension": _read_extension_as_sequence, + "administrativeInformation": _read_administrative_information_as_sequence, + "qualifier": _read_qualifier_as_sequence, + "assetAdministrationShell": _read_asset_administration_shell_as_sequence, + "assetInformation": _read_asset_information_as_sequence, + "resource": _read_resource_as_sequence, + "specificAssetId": _read_specific_asset_id_as_sequence, + "submodel": _read_submodel_as_sequence, + "relationshipElement": _read_relationship_element_as_sequence, + "submodelElementList": _read_submodel_element_list_as_sequence, + "submodelElementCollection": _read_submodel_element_collection_as_sequence, + "property": _read_property_as_sequence, + "multiLanguageProperty": _read_multi_language_property_as_sequence, + "range": _read_range_as_sequence, + "referenceElement": _read_reference_element_as_sequence, + "blob": _read_blob_as_sequence, + "file": _read_file_as_sequence, + "annotatedRelationshipElement": _read_annotated_relationship_element_as_sequence, + "entity": _read_entity_as_sequence, + "eventPayload": _read_event_payload_as_sequence, + "basicEventElement": _read_basic_event_element_as_sequence, + "operation": _read_operation_as_sequence, + "operationVariable": _read_operation_variable_as_sequence, + "capability": _read_capability_as_sequence, + "conceptDescription": _read_concept_description_as_sequence, + "reference": _read_reference_as_sequence, + "key": _read_key_as_sequence, + "langStringNameType": _read_lang_string_name_type_as_sequence, + "langStringTextType": _read_lang_string_text_type_as_sequence, + "environment": _read_environment_as_sequence, + "embeddedDataSpecification": _read_embedded_data_specification_as_sequence, + "levelType": _read_level_type_as_sequence, + "valueReferencePair": _read_value_reference_pair_as_sequence, + "valueList": _read_value_list_as_sequence, + "langStringPreferredNameTypeIec61360": _read_lang_string_preferred_name_type_iec_61360_as_sequence, + "langStringShortNameTypeIec61360": _read_lang_string_short_name_type_iec_61360_as_sequence, + "langStringDefinitionTypeIec61360": _read_lang_string_definition_type_iec_61360_as_sequence, + "langStringUom": _read_lang_string_uom_as_sequence, + "definitionTypeUom": _read_definition_type_uom_as_sequence, + "dataSpecificationUom": _read_data_specification_uom_as_sequence, + "dataSpecificationIec61360": _read_data_specification_iec_61360_as_sequence, + "assetAdministrationShellDescriptor": _read_asset_administration_shell_descriptor_as_sequence, + "submodelDescriptor": _read_submodel_descriptor_as_sequence, + "endpoint": _read_endpoint_as_sequence, + "protocolInformation": _read_protocol_information_as_sequence, + "securityAttributeObject": _read_security_attribute_object_as_sequence, + "assetLink": _read_asset_link_as_sequence, + "serviceDescription": _read_service_description_as_sequence, + "assetAdministrationShellRecentChange": _read_asset_administration_shell_recent_change_as_sequence, + "conceptDescriptionRecentChange": _read_concept_description_recent_change_as_sequence, + "submodelRecentChange": _read_submodel_recent_change_as_sequence, + "result": _read_result_as_sequence, + "message": _read_message_as_sequence, + "operationRequest": _read_operation_request_as_sequence, + "operationRequestAsync": _read_operation_request_async_as_sequence, + "operationRequestValueOnly": _read_operation_request_value_only_as_sequence, + "operationRequestAsyncValueOnly": _read_operation_request_async_value_only_as_sequence, + "baseOperationResult": _read_base_operation_result_as_sequence, + "operationResult": _read_operation_result_as_sequence, + "operationResultValueOnly": _read_operation_result_value_only_as_sequence, + "operationHandle": _read_operation_handle_as_sequence, + "pagedResult": _read_paged_result_as_sequence, + "pagingMetadata": _read_paging_metadata_as_sequence, + "packageDescription": _read_package_description_as_sequence, + "propertyMetadata": _read_property_metadata_as_sequence, + "rangeMetadata": _read_range_metadata_as_sequence, + "blobMetadata": _read_blob_metadata_as_sequence, + "fileMetadata": _read_file_metadata_as_sequence, + "multiLanguagePropertyMetadata": _read_multi_language_property_metadata_as_sequence, + "referenceElementMetadata": _read_reference_element_metadata_as_sequence, + "relationshipElementMetadata": _read_relationship_element_metadata_as_sequence, + "annotatedRelationshipElementMetadata": _read_annotated_relationship_element_metadata_as_sequence, + "entityMetadata": _read_entity_metadata_as_sequence, + "capabilityMetadata": _read_capability_metadata_as_sequence, + "operationMetadata": _read_operation_metadata_as_sequence, + "submodelElementCollectionMetadata": _read_submodel_element_collection_metadata_as_sequence, + "basicEventElementMetadata": _read_basic_event_element_metadata_as_sequence, + "submodelElementListMetadata": _read_submodel_element_list_metadata_as_sequence, + "submodelMetadata": _read_submodel_metadata_as_sequence, + "assetAdministrationShellMetadata": _read_asset_administration_shell_metadata_as_sequence, + "referenceElementValue": _read_reference_element_value_as_sequence, + "blobValue": _read_blob_value_as_sequence, + "fileValue": _read_file_value_as_sequence, + "rangeValue": _read_range_value_as_sequence, + "relationshipElementValue": _read_relationship_element_value_as_sequence, + "basicEventElementValue": _read_basic_event_element_value_as_sequence, + "annotatedRelationshipElementValue": _read_annotated_relationship_element_value_as_sequence, + "entityValue": _read_entity_value_as_sequence, + "getAssetAdministrationShellsResult": _read_get_asset_administration_shells_result_as_sequence, + "getAssetAdministrationShellsMetadataResult": _read_get_asset_administration_shells_metadata_result_as_sequence, + "getAllAssetAdministrationShellsRecentChangesResult": _read_get_all_asset_administration_shells_recent_changes_result_as_sequence, + "getAssetAdministrationShellDescriptorsResult": _read_get_asset_administration_shell_descriptors_result_as_sequence, + "getConceptDescriptionsResult": _read_get_concept_descriptions_result_as_sequence, + "getAllConceptDescriptionsRecentChangesResult": _read_get_all_concept_descriptions_recent_changes_result_as_sequence, + "getPackageDescriptionsResult": _read_get_package_descriptions_result_as_sequence, + "getPathItemsResult": _read_get_path_items_result_as_sequence, + "getReferencesResult": _read_get_references_result_as_sequence, + "getSubmodelDescriptorsResult": _read_get_submodel_descriptors_result_as_sequence, + "getSubmodelElementsMetadataResult": _read_get_submodel_elements_metadata_result_as_sequence, + "getSubmodelElementsResult": _read_get_submodel_elements_result_as_sequence, + "getSubmodelElementsValueResult": _read_get_submodel_elements_value_result_as_sequence, + "getAllSubmodelsRecentChangesResult": _read_get_all_submodels_recent_changes_result_as_sequence, + "getSubmodelsMetadataResult": _read_get_submodels_metadata_result_as_sequence, + "getSubmodelsResult": _read_get_submodels_result_as_sequence, + "getSubmodelsValueResult": _read_get_submodels_value_result_as_sequence, + "claimAttribute": _read_claim_attribute_as_sequence, + "globalAttribute": _read_global_attribute_as_sequence, + "referenceAttribute": _read_reference_attribute_as_sequence, + "dateTimeAttributeItem": _read_date_time_attribute_item_as_sequence, + "fieldOperand": _read_field_operand_as_sequence, + "stringLiteral": _read_string_literal_as_sequence, + "attributeOperand": _read_attribute_operand_as_sequence, + "numberLiteral": _read_number_literal_as_sequence, + "hexLiteral": _read_hex_literal_as_sequence, + "dateTimeLiteral": _read_date_time_literal_as_sequence, + "timeLiteral": _read_time_literal_as_sequence, + "booleanLiteral": _read_boolean_literal_as_sequence, + "stringCast": _read_string_cast_as_sequence, + "numberCast": _read_number_cast_as_sequence, + "hexCast": _read_hex_cast_as_sequence, + "booleanCast": _read_boolean_cast_as_sequence, + "dateTimeCast": _read_date_time_cast_as_sequence, + "timeCast": _read_time_cast_as_sequence, + "dayOfWeek": _read_day_of_week_as_sequence, + "dayOfMonth": _read_day_of_month_as_sequence, + "month": _read_month_as_sequence, + "year": _read_year_as_sequence, + "dateTimeAttributeOperand": _read_date_time_attribute_operand_as_sequence, + "equalComparison": _read_equal_comparison_as_sequence, + "notEqualComparison": _read_not_equal_comparison_as_sequence, + "greaterThanComparison": _read_greater_than_comparison_as_sequence, + "greaterThanOrEqualComparison": _read_greater_than_or_equal_comparison_as_sequence, + "lessThanComparison": _read_less_than_comparison_as_sequence, + "lessThanOrEqualComparison": _read_less_than_or_equal_comparison_as_sequence, + "containsComparison": _read_contains_comparison_as_sequence, + "startsWithComparison": _read_starts_with_comparison_as_sequence, + "endsWithComparison": _read_ends_with_comparison_as_sequence, + "regexComparison": _read_regex_comparison_as_sequence, + "matchClause": _read_match_clause_as_sequence, + "andExpression": _read_and_expression_as_sequence, + "orExpression": _read_or_expression_as_sequence, + "notExpression": _read_not_expression_as_sequence, + "queryFilter": _read_query_filter_as_sequence, + "query": _read_query_as_sequence, +} + + +#: Read the content of a property of +#: :py:class:`.types.Extension`, by the XML name of the property +_READERS_FOR_EXTENSION: Mapping[str, _ContentReader[Any]] = { + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "name": read_str_from_element_text, + "valueType": _read_data_type_def_xsd_from_element_text, + "value": read_str_from_element_text, + "refersTo": _read_list_of__reference, +} + + +#: Read the content of a property of +#: :py:class:`.types.AdministrativeInformation`, by the XML name of the property +_READERS_FOR_ADMINISTRATIVE_INFORMATION: Mapping[str, _ContentReader[Any]] = { + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "version": read_str_from_element_text, + "revision": read_str_from_element_text, + "creator": _read_reference_as_sequence, + "createdAt": read_str_from_element_text, + "updatedAt": read_str_from_element_text, + "templateId": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.Qualifier`, by the XML name of the property +_READERS_FOR_QUALIFIER: Mapping[str, _ContentReader[Any]] = { + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "kind": _read_qualifier_kind_from_element_text, + "type": read_str_from_element_text, + "valueType": _read_data_type_def_xsd_from_element_text, + "value": read_str_from_element_text, + "valueId": _read_reference_as_sequence, +} + + +#: Read the content of a property of +#: :py:class:`.types.AssetAdministrationShell`, by the XML name of the property +_READERS_FOR_ASSET_ADMINISTRATION_SHELL: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "administration": _read_administrative_information_as_sequence, + "id": read_str_from_element_text, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "derivedFrom": _read_reference_as_sequence, + "assetInformation": _read_asset_information_as_sequence, + "submodels": _read_list_of__reference, +} + + +#: Read the content of a property of +#: :py:class:`.types.AssetInformation`, by the XML name of the property +_READERS_FOR_ASSET_INFORMATION: Mapping[str, _ContentReader[Any]] = { + "assetKind": _read_asset_kind_from_element_text, + "globalAssetId": read_str_from_element_text, + "specificAssetIds": _read_list_of__specific_asset_id, + "assetType": read_str_from_element_text, + "defaultThumbnail": _read_resource_as_sequence, +} + + +#: Read the content of a property of +#: :py:class:`.types.Resource`, by the XML name of the property +_READERS_FOR_RESOURCE: Mapping[str, _ContentReader[Any]] = { + "path": read_str_from_element_text, + "contentType": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.SpecificAssetID`, by the XML name of the property +_READERS_FOR_SPECIFIC_ASSET_ID: Mapping[str, _ContentReader[Any]] = { + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "name": read_str_from_element_text, + "value": read_str_from_element_text, + "externalSubjectId": _read_reference_as_sequence, +} + + +#: Read the content of a property of +#: :py:class:`.types.Submodel`, by the XML name of the property +_READERS_FOR_SUBMODEL: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "administration": _read_administrative_information_as_sequence, + "id": read_str_from_element_text, + "kind": _read_modelling_kind_from_element_text, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "submodelElements": _read_list_of__submodel_element, +} + + +#: Read the content of a property of +#: :py:class:`.types.RelationshipElement`, by the XML name of the property +_READERS_FOR_RELATIONSHIP_ELEMENT: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "first": _read_reference_as_sequence, + "second": _read_reference_as_sequence, +} + + +#: Read the content of a property of +#: :py:class:`.types.SubmodelElementList`, by the XML name of the property +_READERS_FOR_SUBMODEL_ELEMENT_LIST: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "orderRelevant": _read_bool_from_element_text, + "semanticIdListElement": _read_reference_as_sequence, + "typeValueListElement": _read_aas_submodel_elements_from_element_text, + "valueTypeListElement": _read_data_type_def_xsd_from_element_text, + "value": _read_list_of__submodel_element, +} + + +#: Read the content of a property of +#: :py:class:`.types.SubmodelElementCollection`, by the XML name of the property +_READERS_FOR_SUBMODEL_ELEMENT_COLLECTION: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "value": _read_list_of__submodel_element, +} + + +#: Read the content of a property of +#: :py:class:`.types.Property`, by the XML name of the property +_READERS_FOR_PROPERTY: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "valueType": _read_data_type_def_xsd_from_element_text, + "value": read_str_from_element_text, + "valueId": _read_reference_as_sequence, +} + + +#: Read the content of a property of +#: :py:class:`.types.MultiLanguageProperty`, by the XML name of the property +_READERS_FOR_MULTI_LANGUAGE_PROPERTY: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "value": _read_list_of__lang_string_text_type, + "valueId": _read_reference_as_sequence, +} + + +#: Read the content of a property of +#: :py:class:`.types.Range`, by the XML name of the property +_READERS_FOR_RANGE: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "valueType": _read_data_type_def_xsd_from_element_text, + "min": read_str_from_element_text, + "max": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.ReferenceElement`, by the XML name of the property +_READERS_FOR_REFERENCE_ELEMENT: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "value": _read_reference_as_sequence, +} + + +#: Read the content of a property of +#: :py:class:`.types.Blob`, by the XML name of the property +_READERS_FOR_BLOB: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "value": _read_bytes_from_element_text, + "contentType": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.File`, by the XML name of the property +_READERS_FOR_FILE: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "value": read_str_from_element_text, + "contentType": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.AnnotatedRelationshipElement`, by the XML name of the property +_READERS_FOR_ANNOTATED_RELATIONSHIP_ELEMENT: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "first": _read_reference_as_sequence, + "second": _read_reference_as_sequence, + "annotations": _read_list_of__data_element, +} + + +#: Read the content of a property of +#: :py:class:`.types.Entity`, by the XML name of the property +_READERS_FOR_ENTITY: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "statements": _read_list_of__submodel_element, + "entityType": _read_entity_type_from_element_text, + "globalAssetId": read_str_from_element_text, + "specificAssetIds": _read_list_of__specific_asset_id, +} + + +#: Read the content of a property of +#: :py:class:`.types.EventPayload`, by the XML name of the property +_READERS_FOR_EVENT_PAYLOAD: Mapping[str, _ContentReader[Any]] = { + "source": _read_reference_as_sequence, + "sourceSemanticId": _read_reference_as_sequence, + "observableReference": _read_reference_as_sequence, + "observableSemanticId": _read_reference_as_sequence, + "topic": read_str_from_element_text, + "subjectId": _read_reference_as_sequence, + "timeStamp": read_str_from_element_text, + "payload": _read_bytes_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.BasicEventElement`, by the XML name of the property +_READERS_FOR_BASIC_EVENT_ELEMENT: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "observed": _read_reference_as_sequence, + "direction": _read_direction_from_element_text, + "state": _read_state_of_event_from_element_text, + "messageTopic": read_str_from_element_text, + "messageBroker": _read_reference_as_sequence, + "lastUpdate": read_str_from_element_text, + "minInterval": read_str_from_element_text, + "maxInterval": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.Operation`, by the XML name of the property +_READERS_FOR_OPERATION: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "inputVariables": _read_list_of__operation_variable, + "outputVariables": _read_list_of__operation_variable, + "inoutputVariables": _read_list_of__operation_variable, +} + + +#: Read the content of a property of +#: :py:class:`.types.OperationVariable`, by the XML name of the property +_READERS_FOR_OPERATION_VARIABLE: Mapping[str, _ContentReader[Any]] = { + "value": _read_nested__submodel_element, +} + + +#: Read the content of a property of +#: :py:class:`.types.Capability`, by the XML name of the property +_READERS_FOR_CAPABILITY: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, +} + + +#: Read the content of a property of +#: :py:class:`.types.ConceptDescription`, by the XML name of the property +_READERS_FOR_CONCEPT_DESCRIPTION: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "administration": _read_administrative_information_as_sequence, + "id": read_str_from_element_text, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "isCaseOf": _read_list_of__reference, +} + + +#: Read the content of a property of +#: :py:class:`.types.Reference`, by the XML name of the property +_READERS_FOR_REFERENCE: Mapping[str, _ContentReader[Any]] = { + "type": _read_reference_types_from_element_text, + "referredSemanticId": _read_reference_as_sequence, + "keys": _read_list_of__key, +} + + +#: Read the content of a property of +#: :py:class:`.types.Key`, by the XML name of the property +_READERS_FOR_KEY: Mapping[str, _ContentReader[Any]] = { + "type": _read_key_types_from_element_text, + "value": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.LangStringNameType`, by the XML name of the property +_READERS_FOR_LANG_STRING_NAME_TYPE: Mapping[str, _ContentReader[Any]] = { + "language": read_str_from_element_text, + "text": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.LangStringTextType`, by the XML name of the property +_READERS_FOR_LANG_STRING_TEXT_TYPE: Mapping[str, _ContentReader[Any]] = { + "language": read_str_from_element_text, + "text": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.Environment`, by the XML name of the property +_READERS_FOR_ENVIRONMENT: Mapping[str, _ContentReader[Any]] = { + "assetAdministrationShells": _read_list_of__asset_administration_shell, + "submodels": _read_list_of__submodel, + "conceptDescriptions": _read_list_of__concept_description, +} + + +#: Read the content of a property of +#: :py:class:`.types.EmbeddedDataSpecification`, by the XML name of the property +_READERS_FOR_EMBEDDED_DATA_SPECIFICATION: Mapping[str, _ContentReader[Any]] = { + "dataSpecification": _read_reference_as_sequence, + "dataSpecificationContent": _read_nested__data_specification_content, +} + + +#: Read the content of a property of +#: :py:class:`.types.LevelType`, by the XML name of the property +_READERS_FOR_LEVEL_TYPE: Mapping[str, _ContentReader[Any]] = { + "min": _read_bool_from_element_text, + "nom": _read_bool_from_element_text, + "typ": _read_bool_from_element_text, + "max": _read_bool_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.ValueReferencePair`, by the XML name of the property +_READERS_FOR_VALUE_REFERENCE_PAIR: Mapping[str, _ContentReader[Any]] = { + "value": read_str_from_element_text, + "valueId": _read_reference_as_sequence, +} + + +#: Read the content of a property of +#: :py:class:`.types.ValueList`, by the XML name of the property +_READERS_FOR_VALUE_LIST: Mapping[str, _ContentReader[Any]] = { + "valueReferencePairs": _read_list_of__value_reference_pair, +} + + +#: Read the content of a property of +#: :py:class:`.types.LangStringPreferredNameTypeIEC61360`, by the XML name of the property +_READERS_FOR_LANG_STRING_PREFERRED_NAME_TYPE_IEC_61360: Mapping[ + str, _ContentReader[Any] +] = { + "language": read_str_from_element_text, + "text": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.LangStringShortNameTypeIEC61360`, by the XML name of the property +_READERS_FOR_LANG_STRING_SHORT_NAME_TYPE_IEC_61360: Mapping[ + str, _ContentReader[Any] +] = { + "language": read_str_from_element_text, + "text": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.LangStringDefinitionTypeIEC61360`, by the XML name of the property +_READERS_FOR_LANG_STRING_DEFINITION_TYPE_IEC_61360: Mapping[ + str, _ContentReader[Any] +] = { + "language": read_str_from_element_text, + "text": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.LangStringUom`, by the XML name of the property +_READERS_FOR_LANG_STRING_UOM: Mapping[str, _ContentReader[Any]] = { + "language": read_str_from_element_text, + "text": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.DefinitionTypeUom`, by the XML name of the property +_READERS_FOR_DEFINITION_TYPE_UOM: Mapping[str, _ContentReader[Any]] = { + "language": read_str_from_element_text, + "text": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.DataSpecificationUom`, by the XML name of the property +_READERS_FOR_DATA_SPECIFICATION_UOM: Mapping[str, _ContentReader[Any]] = { + "preferredName": _read_list_of__lang_string_uom, + "symbol": read_str_from_element_text, + "specificUnitId": read_str_from_element_text, + "definition": _read_list_of__definition_type_uom, + "preferredNameQuantity": _read_list_of__lang_string_uom, + "quantityId": read_str_from_element_text, + "classificationSystem": read_str_from_element_text, + "classificationSystemVersion": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.DataSpecificationIEC61360`, by the XML name of the property +_READERS_FOR_DATA_SPECIFICATION_IEC_61360: Mapping[str, _ContentReader[Any]] = { + "preferredName": _read_list_of__lang_string_preferred_name_type_iec_61360, + "shortName": _read_list_of__lang_string_short_name_type_iec_61360, + "unit": read_str_from_element_text, + "unitId": _read_reference_as_sequence, + "sourceOfDefinition": read_str_from_element_text, + "symbol": read_str_from_element_text, + "dataType": _read_data_type_iec_61360_from_element_text, + "definition": _read_list_of__lang_string_definition_type_iec_61360, + "valueFormat": read_str_from_element_text, + "valueList": _read_value_list_as_sequence, + "value": read_str_from_element_text, + "levelType": _read_level_type_as_sequence, +} + + +#: Read the content of a property of +#: :py:class:`.types.AssetAdministrationShellDescriptor`, by the XML name of the property +_READERS_FOR_ASSET_ADMINISTRATION_SHELL_DESCRIPTOR: Mapping[ + str, _ContentReader[Any] +] = { + "description": _read_list_of__lang_string_text_type, + "displayName": _read_list_of__lang_string_name_type, + "extensions": _read_list_of__extension, + "id": read_str_from_element_text, + "administration": _read_administrative_information_as_sequence, + "assetKind": _read_asset_kind_from_element_text, + "assetType": read_str_from_element_text, + "endpoints": _read_list_of__endpoint, + "globalAssetId": read_str_from_element_text, + "idShort": read_str_from_element_text, + "specificAssetIds": _read_list_of__specific_asset_id, + "submodelDescriptors": _read_list_of__submodel_descriptor, +} + + +#: Read the content of a property of +#: :py:class:`.types.SubmodelDescriptor`, by the XML name of the property +_READERS_FOR_SUBMODEL_DESCRIPTOR: Mapping[str, _ContentReader[Any]] = { + "description": _read_list_of__lang_string_text_type, + "displayName": _read_list_of__lang_string_name_type, + "extensions": _read_list_of__extension, + "endpoints": _read_list_of__endpoint, + "id": read_str_from_element_text, + "administration": _read_administrative_information_as_sequence, + "idShort": read_str_from_element_text, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, +} + + +#: Read the content of a property of +#: :py:class:`.types.Endpoint`, by the XML name of the property +_READERS_FOR_ENDPOINT: Mapping[str, _ContentReader[Any]] = { + "protocolInformation": _read_protocol_information_as_sequence, + "interface": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.ProtocolInformation`, by the XML name of the property +_READERS_FOR_PROTOCOL_INFORMATION: Mapping[str, _ContentReader[Any]] = { + "href": read_str_from_element_text, + "endpointProtocol": read_str_from_element_text, + "endpointProtocolVersion": _read_list_of__str, + "subprotocol": read_str_from_element_text, + "subprotocolBody": read_str_from_element_text, + "subprotocolBodyEncoding": read_str_from_element_text, + "securityAttributes": _read_list_of__security_attribute_object, +} + + +#: Read the content of a property of +#: :py:class:`.types.SecurityAttributeObject`, by the XML name of the property +_READERS_FOR_SECURITY_ATTRIBUTE_OBJECT: Mapping[str, _ContentReader[Any]] = { + "type": _read_security_type_enum_from_element_text, + "key": read_str_from_element_text, + "value": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.AssetLink`, by the XML name of the property +_READERS_FOR_ASSET_LINK: Mapping[str, _ContentReader[Any]] = { + "name": read_str_from_element_text, + "value": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.ServiceDescription`, by the XML name of the property +_READERS_FOR_SERVICE_DESCRIPTION: Mapping[str, _ContentReader[Any]] = { + "profiles": _read_list_of__service_specification_profile_enum, +} + + +#: Read the content of a property of +#: :py:class:`.types.AssetAdministrationShellRecentChange`, by the XML name of the property +_READERS_FOR_ASSET_ADMINISTRATION_SHELL_RECENT_CHANGE: Mapping[ + str, _ContentReader[Any] +] = { + "createdAt": read_str_from_element_text, + "updatedAt": read_str_from_element_text, + "id": read_str_from_element_text, + "globalAssetId": read_str_from_element_text, + "specificAssetIds": _read_list_of__specific_asset_id, +} + + +#: Read the content of a property of +#: :py:class:`.types.ConceptDescriptionRecentChange`, by the XML name of the property +_READERS_FOR_CONCEPT_DESCRIPTION_RECENT_CHANGE: Mapping[str, _ContentReader[Any]] = { + "createdAt": read_str_from_element_text, + "updatedAt": read_str_from_element_text, + "id": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.SubmodelRecentChange`, by the XML name of the property +_READERS_FOR_SUBMODEL_RECENT_CHANGE: Mapping[str, _ContentReader[Any]] = { + "createdAt": read_str_from_element_text, + "updatedAt": read_str_from_element_text, + "id": read_str_from_element_text, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, +} + + +#: Read the content of a property of +#: :py:class:`.types.Result`, by the XML name of the property +_READERS_FOR_RESULT: Mapping[str, _ContentReader[Any]] = { + "messages": _read_list_of__message, +} + + +#: Read the content of a property of +#: :py:class:`.types.Message`, by the XML name of the property +_READERS_FOR_MESSAGE: Mapping[str, _ContentReader[Any]] = { + "messageType": _read_message_type_enum_from_element_text, + "text": read_str_from_element_text, + "code": read_str_from_element_text, + "correlationId": read_str_from_element_text, + "timestamp": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.OperationRequest`, by the XML name of the property +_READERS_FOR_OPERATION_REQUEST: Mapping[str, _ContentReader[Any]] = { + "inputArguments": _read_list_of__operation_variable, + "inoutputArguments": _read_list_of__operation_variable, + "clientTimeoutDuration": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.OperationRequestAsync`, by the XML name of the property +_READERS_FOR_OPERATION_REQUEST_ASYNC: Mapping[str, _ContentReader[Any]] = { + "inputArguments": _read_list_of__operation_variable, + "inoutputArguments": _read_list_of__operation_variable, + "clientTimeoutDuration": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.OperationRequestValueOnly`, by the XML name of the property +_READERS_FOR_OPERATION_REQUEST_VALUE_ONLY: Mapping[str, _ContentReader[Any]] = { + "inputArguments": _read_json_object_body, + "inoutputArguments": _read_json_object_body, + "clientTimeoutDuration": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.OperationRequestAsyncValueOnly`, by the XML name of the property +_READERS_FOR_OPERATION_REQUEST_ASYNC_VALUE_ONLY: Mapping[str, _ContentReader[Any]] = { + "inputArguments": _read_json_object_body, + "inoutputArguments": _read_json_object_body, + "clientTimeoutDuration": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.BaseOperationResult`, by the XML name of the property +_READERS_FOR_BASE_OPERATION_RESULT: Mapping[str, _ContentReader[Any]] = { + "executionState": _read_execution_state_from_element_text, + "messages": _read_list_of__message, + "success": _read_bool_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.OperationResult`, by the XML name of the property +_READERS_FOR_OPERATION_RESULT: Mapping[str, _ContentReader[Any]] = { + "executionState": _read_execution_state_from_element_text, + "messages": _read_list_of__message, + "success": _read_bool_from_element_text, + "outputArguments": _read_list_of__operation_variable, + "inoutputArguments": _read_list_of__operation_variable, +} + + +#: Read the content of a property of +#: :py:class:`.types.OperationResultValueOnly`, by the XML name of the property +_READERS_FOR_OPERATION_RESULT_VALUE_ONLY: Mapping[str, _ContentReader[Any]] = { + "executionState": _read_execution_state_from_element_text, + "messages": _read_list_of__message, + "success": _read_bool_from_element_text, + "outputArguments": _read_json_object_body, + "inoutputArguments": _read_json_object_body, +} + + +#: Read the content of a property of +#: :py:class:`.types.OperationHandle`, by the XML name of the property +_READERS_FOR_OPERATION_HANDLE: Mapping[str, _ContentReader[Any]] = { + "handleId": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.PagedResult`, by the XML name of the property +_READERS_FOR_PAGED_RESULT: Mapping[str, _ContentReader[Any]] = { + "result": _read_list_of__referable, + "pagingMetadata": _read_paging_metadata_as_sequence, +} + + +#: Read the content of a property of +#: :py:class:`.types.PagingMetadata`, by the XML name of the property +_READERS_FOR_PAGING_METADATA: Mapping[str, _ContentReader[Any]] = { + "cursor": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.PackageDescription`, by the XML name of the property +_READERS_FOR_PACKAGE_DESCRIPTION: Mapping[str, _ContentReader[Any]] = { + "packageId": read_str_from_element_text, + "aasIds": _read_list_of__str, +} + + +#: Read the content of a property of +#: :py:class:`.types.PropertyMetadata`, by the XML name of the property +_READERS_FOR_PROPERTY_METADATA: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "valueType": _read_data_type_def_xsd_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.RangeMetadata`, by the XML name of the property +_READERS_FOR_RANGE_METADATA: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "valueType": _read_data_type_def_xsd_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.BlobMetadata`, by the XML name of the property +_READERS_FOR_BLOB_METADATA: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, +} + + +#: Read the content of a property of +#: :py:class:`.types.FileMetadata`, by the XML name of the property +_READERS_FOR_FILE_METADATA: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, +} + + +#: Read the content of a property of +#: :py:class:`.types.MultiLanguagePropertyMetadata`, by the XML name of the property +_READERS_FOR_MULTI_LANGUAGE_PROPERTY_METADATA: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, +} + + +#: Read the content of a property of +#: :py:class:`.types.ReferenceElementMetadata`, by the XML name of the property +_READERS_FOR_REFERENCE_ELEMENT_METADATA: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, +} + + +#: Read the content of a property of +#: :py:class:`.types.RelationshipElementMetadata`, by the XML name of the property +_READERS_FOR_RELATIONSHIP_ELEMENT_METADATA: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, +} + + +#: Read the content of a property of +#: :py:class:`.types.AnnotatedRelationshipElementMetadata`, by the XML name of the property +_READERS_FOR_ANNOTATED_RELATIONSHIP_ELEMENT_METADATA: Mapping[ + str, _ContentReader[Any] +] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, +} + + +#: Read the content of a property of +#: :py:class:`.types.EntityMetadata`, by the XML name of the property +_READERS_FOR_ENTITY_METADATA: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, +} + + +#: Read the content of a property of +#: :py:class:`.types.CapabilityMetadata`, by the XML name of the property +_READERS_FOR_CAPABILITY_METADATA: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, +} + + +#: Read the content of a property of +#: :py:class:`.types.OperationMetadata`, by the XML name of the property +_READERS_FOR_OPERATION_METADATA: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, +} + + +#: Read the content of a property of +#: :py:class:`.types.SubmodelElementCollectionMetadata`, by the XML name of the property +_READERS_FOR_SUBMODEL_ELEMENT_COLLECTION_METADATA: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, +} + + +#: Read the content of a property of +#: :py:class:`.types.BasicEventElementMetadata`, by the XML name of the property +_READERS_FOR_BASIC_EVENT_ELEMENT_METADATA: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "direction": _read_direction_from_element_text, + "state": _read_state_of_event_from_element_text, + "messageTopic": read_str_from_element_text, + "messageBroker": _read_reference_as_sequence, + "lastUpdate": read_str_from_element_text, + "minInterval": read_str_from_element_text, + "maxInterval": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.SubmodelElementListMetadata`, by the XML name of the property +_READERS_FOR_SUBMODEL_ELEMENT_LIST_METADATA: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "orderRelevant": _read_bool_from_element_text, + "semanticIdListElement": _read_reference_as_sequence, + "typeValueListElement": _read_aas_submodel_elements_from_element_text, + "valueTypeListElement": _read_data_type_def_xsd_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.SubmodelMetadata`, by the XML name of the property +_READERS_FOR_SUBMODEL_METADATA: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "administration": _read_administrative_information_as_sequence, + "id": read_str_from_element_text, + "kind": _read_modelling_kind_from_element_text, + "semanticId": _read_reference_as_sequence, + "supplementalSemanticIds": _read_list_of__reference, + "qualifiers": _read_list_of__qualifier, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, +} + + +#: Read the content of a property of +#: :py:class:`.types.AssetAdministrationShellMetadata`, by the XML name of the property +_READERS_FOR_ASSET_ADMINISTRATION_SHELL_METADATA: Mapping[str, _ContentReader[Any]] = { + "extensions": _read_list_of__extension, + "category": read_str_from_element_text, + "idShort": read_str_from_element_text, + "displayName": _read_list_of__lang_string_name_type, + "description": _read_list_of__lang_string_text_type, + "administration": _read_administrative_information_as_sequence, + "id": read_str_from_element_text, + "embeddedDataSpecifications": _read_list_of__embedded_data_specification, + "derivedFrom": _read_reference_as_sequence, +} + + +#: Read the content of a property of +#: :py:class:`.types.ReferenceElementValue`, by the XML name of the property +_READERS_FOR_REFERENCE_ELEMENT_VALUE: Mapping[str, _ContentReader[Any]] = { + "type": _read_reference_types_from_element_text, + "keys": _read_list_of__key, + "referredSemanticId": _read_reference_as_sequence, +} + + +#: Read the content of a property of +#: :py:class:`.types.BlobValue`, by the XML name of the property +_READERS_FOR_BLOB_VALUE: Mapping[str, _ContentReader[Any]] = { + "contentType": read_str_from_element_text, + "value": _read_bytes_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.FileValue`, by the XML name of the property +_READERS_FOR_FILE_VALUE: Mapping[str, _ContentReader[Any]] = { + "contentType": read_str_from_element_text, + "value": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.RangeValue`, by the XML name of the property +_READERS_FOR_RANGE_VALUE: Mapping[str, _ContentReader[Any]] = { + "min": _read_float_from_element_text, + "max": _read_float_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.RelationshipElementValue`, by the XML name of the property +_READERS_FOR_RELATIONSHIP_ELEMENT_VALUE: Mapping[str, _ContentReader[Any]] = { + "first": _read_reference_as_sequence, + "second": _read_reference_as_sequence, +} + + +#: Read the content of a property of +#: :py:class:`.types.BasicEventElementValue`, by the XML name of the property +_READERS_FOR_BASIC_EVENT_ELEMENT_VALUE: Mapping[str, _ContentReader[Any]] = { + "observed": _read_reference_as_sequence, +} + + +#: Read the content of a property of +#: :py:class:`.types.AnnotatedRelationshipElementValue`, by the XML name of the property +_READERS_FOR_ANNOTATED_RELATIONSHIP_ELEMENT_VALUE: Mapping[str, _ContentReader[Any]] = { + "first": _read_reference_as_sequence, + "second": _read_reference_as_sequence, + "annotations": _read_json_object_body, +} + + +#: Read the content of a property of +#: :py:class:`.types.EntityValue`, by the XML name of the property +_READERS_FOR_ENTITY_VALUE: Mapping[str, _ContentReader[Any]] = { + "entityType": _read_entity_type_from_element_text, + "globalAssetId": read_str_from_element_text, + "specificAssetIds": _read_list_of__json_object, + "statements": _read_json_object_body, +} + + +#: Read the content of a property of +#: :py:class:`.types.GetAssetAdministrationShellsResult`, by the XML name of the property +_READERS_FOR_GET_ASSET_ADMINISTRATION_SHELLS_RESULT: Mapping[ + str, _ContentReader[Any] +] = { + "pagingMetadata": _read_paging_metadata_as_sequence, + "result": _read_list_of__asset_administration_shell, +} + + +#: Read the content of a property of +#: :py:class:`.types.GetAssetAdministrationShellsMetadataResult`, by the XML name of the property +_READERS_FOR_GET_ASSET_ADMINISTRATION_SHELLS_METADATA_RESULT: Mapping[ + str, _ContentReader[Any] +] = { + "pagingMetadata": _read_paging_metadata_as_sequence, + "result": _read_list_of__asset_administration_shell_metadata, +} + + +#: Read the content of a property of +#: :py:class:`.types.GetAllAssetAdministrationShellsRecentChangesResult`, by the XML name of the property +_READERS_FOR_GET_ALL_ASSET_ADMINISTRATION_SHELLS_RECENT_CHANGES_RESULT: Mapping[ + str, _ContentReader[Any] +] = { + "pagingMetadata": _read_paging_metadata_as_sequence, + "result": _read_list_of__asset_administration_shell_recent_change, +} + + +#: Read the content of a property of +#: :py:class:`.types.GetAssetAdministrationShellDescriptorsResult`, by the XML name of the property +_READERS_FOR_GET_ASSET_ADMINISTRATION_SHELL_DESCRIPTORS_RESULT: Mapping[ + str, _ContentReader[Any] +] = { + "pagingMetadata": _read_paging_metadata_as_sequence, + "result": _read_list_of__asset_administration_shell_descriptor, +} + + +#: Read the content of a property of +#: :py:class:`.types.GetConceptDescriptionsResult`, by the XML name of the property +_READERS_FOR_GET_CONCEPT_DESCRIPTIONS_RESULT: Mapping[str, _ContentReader[Any]] = { + "pagingMetadata": _read_paging_metadata_as_sequence, + "result": _read_list_of__concept_description, +} + + +#: Read the content of a property of +#: :py:class:`.types.GetAllConceptDescriptionsRecentChangesResult`, by the XML name of the property +_READERS_FOR_GET_ALL_CONCEPT_DESCRIPTIONS_RECENT_CHANGES_RESULT: Mapping[ + str, _ContentReader[Any] +] = { + "pagingMetadata": _read_paging_metadata_as_sequence, + "result": _read_list_of__concept_description_recent_change, +} + + +#: Read the content of a property of +#: :py:class:`.types.GetPackageDescriptionsResult`, by the XML name of the property +_READERS_FOR_GET_PACKAGE_DESCRIPTIONS_RESULT: Mapping[str, _ContentReader[Any]] = { + "pagingMetadata": _read_paging_metadata_as_sequence, + "result": _read_list_of__package_description, +} + + +#: Read the content of a property of +#: :py:class:`.types.GetPathItemsResult`, by the XML name of the property +_READERS_FOR_GET_PATH_ITEMS_RESULT: Mapping[str, _ContentReader[Any]] = { + "pagingMetadata": _read_paging_metadata_as_sequence, + "result": _read_list_of__str, +} + + +#: Read the content of a property of +#: :py:class:`.types.GetReferencesResult`, by the XML name of the property +_READERS_FOR_GET_REFERENCES_RESULT: Mapping[str, _ContentReader[Any]] = { + "pagingMetadata": _read_paging_metadata_as_sequence, + "result": _read_list_of__reference, +} + + +#: Read the content of a property of +#: :py:class:`.types.GetSubmodelDescriptorsResult`, by the XML name of the property +_READERS_FOR_GET_SUBMODEL_DESCRIPTORS_RESULT: Mapping[str, _ContentReader[Any]] = { + "pagingMetadata": _read_paging_metadata_as_sequence, + "result": _read_list_of__submodel_descriptor, +} + + +#: Read the content of a property of +#: :py:class:`.types.GetSubmodelElementsMetadataResult`, by the XML name of the property +_READERS_FOR_GET_SUBMODEL_ELEMENTS_METADATA_RESULT: Mapping[ + str, _ContentReader[Any] +] = { + "pagingMetadata": _read_paging_metadata_as_sequence, + "result": _read_list_of__submodel_element_metadata, +} + + +#: Read the content of a property of +#: :py:class:`.types.GetSubmodelElementsResult`, by the XML name of the property +_READERS_FOR_GET_SUBMODEL_ELEMENTS_RESULT: Mapping[str, _ContentReader[Any]] = { + "pagingMetadata": _read_paging_metadata_as_sequence, + "result": _read_list_of__submodel_element, +} + + +#: Read the content of a property of +#: :py:class:`.types.GetSubmodelElementsValueResult`, by the XML name of the property +_READERS_FOR_GET_SUBMODEL_ELEMENTS_VALUE_RESULT: Mapping[str, _ContentReader[Any]] = { + "pagingMetadata": _read_paging_metadata_as_sequence, + "result": _read_json_object_body, +} + + +#: Read the content of a property of +#: :py:class:`.types.GetAllSubmodelsRecentChangesResult`, by the XML name of the property +_READERS_FOR_GET_ALL_SUBMODELS_RECENT_CHANGES_RESULT: Mapping[ + str, _ContentReader[Any] +] = { + "pagingMetadata": _read_paging_metadata_as_sequence, + "result": _read_list_of__submodel_recent_change, +} + + +#: Read the content of a property of +#: :py:class:`.types.GetSubmodelsMetadataResult`, by the XML name of the property +_READERS_FOR_GET_SUBMODELS_METADATA_RESULT: Mapping[str, _ContentReader[Any]] = { + "pagingMetadata": _read_paging_metadata_as_sequence, + "result": _read_list_of__submodel_metadata, +} + + +#: Read the content of a property of +#: :py:class:`.types.GetSubmodelsResult`, by the XML name of the property +_READERS_FOR_GET_SUBMODELS_RESULT: Mapping[str, _ContentReader[Any]] = { + "pagingMetadata": _read_paging_metadata_as_sequence, + "result": _read_list_of__submodel, +} + + +#: Read the content of a property of +#: :py:class:`.types.GetSubmodelsValueResult`, by the XML name of the property +_READERS_FOR_GET_SUBMODELS_VALUE_RESULT: Mapping[str, _ContentReader[Any]] = { + "pagingMetadata": _read_paging_metadata_as_sequence, + "result": _read_json_object_body, +} + + +#: Read the content of a property of +#: :py:class:`.types.ClaimAttribute`, by the XML name of the property +_READERS_FOR_CLAIM_ATTRIBUTE: Mapping[str, _ContentReader[Any]] = { + "claim": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.GlobalAttribute`, by the XML name of the property +_READERS_FOR_GLOBAL_ATTRIBUTE: Mapping[str, _ContentReader[Any]] = { + "kind": _read_global_attribute_kind_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.ReferenceAttribute`, by the XML name of the property +_READERS_FOR_REFERENCE_ATTRIBUTE: Mapping[str, _ContentReader[Any]] = { + "reference": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.DateTimeAttributeItem`, by the XML name of the property +_READERS_FOR_DATE_TIME_ATTRIBUTE_ITEM: Mapping[str, _ContentReader[Any]] = { + "kind": _read_date_time_global_attribute_kind_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.FieldOperand`, by the XML name of the property +_READERS_FOR_FIELD_OPERAND: Mapping[str, _ContentReader[Any]] = { + "field": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.StringLiteral`, by the XML name of the property +_READERS_FOR_STRING_LITERAL: Mapping[str, _ContentReader[Any]] = { + "strVal": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.AttributeOperand`, by the XML name of the property +_READERS_FOR_ATTRIBUTE_OPERAND: Mapping[str, _ContentReader[Any]] = { + "attribute": _read_nested__attribute_item, +} + + +#: Read the content of a property of +#: :py:class:`.types.NumberLiteral`, by the XML name of the property +_READERS_FOR_NUMBER_LITERAL: Mapping[str, _ContentReader[Any]] = { + "numVal": _read_float_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.HexLiteral`, by the XML name of the property +_READERS_FOR_HEX_LITERAL: Mapping[str, _ContentReader[Any]] = { + "hexVal": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.DateTimeLiteral`, by the XML name of the property +_READERS_FOR_DATE_TIME_LITERAL: Mapping[str, _ContentReader[Any]] = { + "dateTimeVal": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.TimeLiteral`, by the XML name of the property +_READERS_FOR_TIME_LITERAL: Mapping[str, _ContentReader[Any]] = { + "timeVal": read_str_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.BooleanLiteral`, by the XML name of the property +_READERS_FOR_BOOLEAN_LITERAL: Mapping[str, _ContentReader[Any]] = { + "boolean": _read_bool_from_element_text, +} + + +#: Read the content of a property of +#: :py:class:`.types.StringCast`, by the XML name of the property +_READERS_FOR_STRING_CAST: Mapping[str, _ContentReader[Any]] = { + "strCast": _read_nested__value, +} + + +#: Read the content of a property of +#: :py:class:`.types.NumberCast`, by the XML name of the property +_READERS_FOR_NUMBER_CAST: Mapping[str, _ContentReader[Any]] = { + "numCast": _read_nested__value, +} + + +#: Read the content of a property of +#: :py:class:`.types.HexCast`, by the XML name of the property +_READERS_FOR_HEX_CAST: Mapping[str, _ContentReader[Any]] = { + "hexCast": _read_nested__value, +} + + +#: Read the content of a property of +#: :py:class:`.types.BooleanCast`, by the XML name of the property +_READERS_FOR_BOOLEAN_CAST: Mapping[str, _ContentReader[Any]] = { + "boolCast": _read_nested__value, +} + + +#: Read the content of a property of +#: :py:class:`.types.DateTimeCast`, by the XML name of the property +_READERS_FOR_DATE_TIME_CAST: Mapping[str, _ContentReader[Any]] = { + "dateTimeCast": _read_nested__string_value, +} + + +#: Read the content of a property of +#: :py:class:`.types.TimeCast`, by the XML name of the property +_READERS_FOR_TIME_CAST: Mapping[str, _ContentReader[Any]] = { + "timeCast": _read_nested__time_cast_operand, +} + + +#: Read the content of a property of +#: :py:class:`.types.DayOfWeek`, by the XML name of the property +_READERS_FOR_DAY_OF_WEEK: Mapping[str, _ContentReader[Any]] = { + "dayOfWeek": _read_nested__date_time_operand, +} + + +#: Read the content of a property of +#: :py:class:`.types.DayOfMonth`, by the XML name of the property +_READERS_FOR_DAY_OF_MONTH: Mapping[str, _ContentReader[Any]] = { + "dayOfMonth": _read_nested__date_time_operand, +} + + +#: Read the content of a property of +#: :py:class:`.types.Month`, by the XML name of the property +_READERS_FOR_MONTH: Mapping[str, _ContentReader[Any]] = { + "month": _read_nested__date_time_operand, +} + + +#: Read the content of a property of +#: :py:class:`.types.Year`, by the XML name of the property +_READERS_FOR_YEAR: Mapping[str, _ContentReader[Any]] = { + "year": _read_nested__date_time_operand, +} + + +#: Read the content of a property of +#: :py:class:`.types.DateTimeAttributeOperand`, by the XML name of the property +_READERS_FOR_DATE_TIME_ATTRIBUTE_OPERAND: Mapping[str, _ContentReader[Any]] = { + "attribute": _read_date_time_attribute_item_as_sequence, +} + + +#: Read the content of a property of +#: :py:class:`.types.EqualComparison`, by the XML name of the property +_READERS_FOR_EQUAL_COMPARISON: Mapping[str, _ContentReader[Any]] = { + "eq": _read_tuple2_of__value__value, +} + + +#: Read the content of a property of +#: :py:class:`.types.NotEqualComparison`, by the XML name of the property +_READERS_FOR_NOT_EQUAL_COMPARISON: Mapping[str, _ContentReader[Any]] = { + "ne": _read_tuple2_of__value__value, +} + + +#: Read the content of a property of +#: :py:class:`.types.GreaterThanComparison`, by the XML name of the property +_READERS_FOR_GREATER_THAN_COMPARISON: Mapping[str, _ContentReader[Any]] = { + "gt": _read_tuple2_of__value__value, +} + + +#: Read the content of a property of +#: :py:class:`.types.GreaterThanOrEqualComparison`, by the XML name of the property +_READERS_FOR_GREATER_THAN_OR_EQUAL_COMPARISON: Mapping[str, _ContentReader[Any]] = { + "ge": _read_tuple2_of__value__value, +} + + +#: Read the content of a property of +#: :py:class:`.types.LessThanComparison`, by the XML name of the property +_READERS_FOR_LESS_THAN_COMPARISON: Mapping[str, _ContentReader[Any]] = { + "lt": _read_tuple2_of__value__value, +} + + +#: Read the content of a property of +#: :py:class:`.types.LessThanOrEqualComparison`, by the XML name of the property +_READERS_FOR_LESS_THAN_OR_EQUAL_COMPARISON: Mapping[str, _ContentReader[Any]] = { + "le": _read_tuple2_of__value__value, +} + + +#: Read the content of a property of +#: :py:class:`.types.ContainsComparison`, by the XML name of the property +_READERS_FOR_CONTAINS_COMPARISON: Mapping[str, _ContentReader[Any]] = { + "contains": _read_tuple2_of__string_value__string_value, +} + + +#: Read the content of a property of +#: :py:class:`.types.StartsWithComparison`, by the XML name of the property +_READERS_FOR_STARTS_WITH_COMPARISON: Mapping[str, _ContentReader[Any]] = { + "startsWith": _read_tuple2_of__string_value__string_value, +} + + +#: Read the content of a property of +#: :py:class:`.types.EndsWithComparison`, by the XML name of the property +_READERS_FOR_ENDS_WITH_COMPARISON: Mapping[str, _ContentReader[Any]] = { + "endsWith": _read_tuple2_of__string_value__string_value, +} + + +#: Read the content of a property of +#: :py:class:`.types.RegexComparison`, by the XML name of the property +_READERS_FOR_REGEX_COMPARISON: Mapping[str, _ContentReader[Any]] = { + "regex": _read_tuple2_of__string_value__string_value, +} + + +#: Read the content of a property of +#: :py:class:`.types.MatchClause`, by the XML name of the property +_READERS_FOR_MATCH_CLAUSE: Mapping[str, _ContentReader[Any]] = { + "matchOperands": _read_list_of__match_expression, +} + + +#: Read the content of a property of +#: :py:class:`.types.AndExpression`, by the XML name of the property +_READERS_FOR_AND_EXPRESSION: Mapping[str, _ContentReader[Any]] = { + "andOperands": _read_list_of__logical_expression, +} + + +#: Read the content of a property of +#: :py:class:`.types.OrExpression`, by the XML name of the property +_READERS_FOR_OR_EXPRESSION: Mapping[str, _ContentReader[Any]] = { + "orOperands": _read_list_of__logical_expression, +} + + +#: Read the content of a property of +#: :py:class:`.types.NotExpression`, by the XML name of the property +_READERS_FOR_NOT_EXPRESSION: Mapping[str, _ContentReader[Any]] = { + "notOperand": _read_nested__logical_expression, +} + + +#: Read the content of a property of +#: :py:class:`.types.QueryFilter`, by the XML name of the property +_READERS_FOR_QUERY_FILTER: Mapping[str, _ContentReader[Any]] = { + "fragment": read_str_from_element_text, + "condition": _read_nested__logical_expression, +} + + +#: Read the content of a property of +#: :py:class:`.types.Query`, by the XML name of the property +_READERS_FOR_QUERY: Mapping[str, _ContentReader[Any]] = { + "select": _read_query_select_from_element_text, + "condition": _read_nested__logical_expression, + "filters": _read_list_of__query_filter, +} + + +# endregion + + +# region Serialization + + +def _attribute_to_property(exception: Exception, prop_name: Optional[str]) -> NoReturn: + """ + Re-raise the :paramref:`exception` as a failure of the property + :paramref:`prop_name`. + + Every writer funnels its failures through this function, so that the path to + the culprit is built up as the stack unwinds: a writer knows the property whose + value it writes, and nothing below it does. + + A :paramref:`prop_name` of ``None`` prepends nothing to the path. It does *not* + mean that no property is involved. It means that the access which leads to + the value is recorded by a writer further up the stack, so recording it here + as well would spell one step of the path twice. + + For example, the writer of an item of a list is given no property name. The list + writer records its own property and the loop over the items records the index, so + that ``.submodel_elements[3]`` is assembled from ``submodel_elements`` above and + ``3`` around the item. Were the item to contribute ``submodel_elements`` as well, + the path would read ``.submodel_elements[3].submodel_elements``. + + Likewise, an instance nested in the element of a property is written by + a dispatch on its run-time type, and a dispatch knows nothing about where + the instance came from. It is :py:func:`_write_nested_element` above it which + knows that the instance sits in ``.value``, so the writer which the dispatch + selects contributes no segment of its own. + + The path therefore stays empty only when the value which broke *is* the one you + handed over, which is the failure :py:func:`write` funnels here: there is no + access leading to it to report. + + We deliberately catch *any* exception, and not only the failures of + the underlying stream. The type annotations are not enforced at run-time, so + a property can hold a value which we can not serialize, and telling you where + that value sits is much more helpful than the bare exception. The original + exception is kept as the cause of the raised one. + + :param exception: to be re-raised + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :raise: :py:class:`SerializationException` always + """ + if isinstance(exception, SerializationException): + if prop_name is not None: + exception._prepend_property(prop_name) + + raise exception + + failure = SerializationException(str(exception)) + if prop_name is not None: + failure._prepend_property(prop_name) + + raise failure from exception + + +def _attribute_to_item(exception: Exception, index: int) -> NoReturn: + """ + Re-raise the :paramref:`exception` as a failure of the item at + :paramref:`index`. + + This is the counterpart of :py:func:`_attribute_to_property` for the items of + a list and of a tuple. The item's own element contributes no segment to + the path: an item is selected by its position, and not by its element tag. + + :param exception: to be re-raised + :param index: of the item which was being written + :raise: :py:class:`SerializationException` always + """ + if isinstance(exception, SerializationException): + exception._prepend_index(index) + raise exception + + failure = SerializationException(str(exception)) + failure._prepend_index(index) + raise failure from exception + + +_ItemT = TypeVar("_ItemT") + +#: Write a value as a whole XML element, the element tag included +_ElementWriter = Callable[[str, Optional[str], _ValueT, "_Serializer"], None] + + +def _write_bool_as_element( + name: str, prop_name: Optional[str], value: bool, serializer: "_Serializer" +) -> None: + """ + Write the :paramref:`value` of a boolean enclosed in + the :paramref:`name` element. + + :param name: of the corresponding element tag + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param value: to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + serializer.writer.stream.write("true" if value else "false") + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_float_as_element( + name: str, prop_name: Optional[str], value: float, serializer: "_Serializer" +) -> None: + """ + Write the :paramref:`value` of a floating-point number enclosed in + the :paramref:`name` element. + + :param name: of the corresponding element tag + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param value: to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + + if value == math.inf: + serializer.writer.stream.write("INF") + elif value == -math.inf: + serializer.writer.stream.write("-INF") + elif math.isnan(value): + serializer.writer.stream.write("NaN") + elif value == 0: + if math.copysign(1.0, value) < 0.0: + serializer.writer.stream.write("-0.0") + else: + serializer.writer.stream.write("0.0") + else: + serializer.writer.stream.write(str(value)) + + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_str_as_element( + name: str, prop_name: Optional[str], value: str, serializer: "_Serializer" +) -> None: + """ + Write the :paramref:`value` of a string enclosed in + the :paramref:`name` element. + + :param name: of the corresponding element tag + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param value: to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + + # NOTE (mristin): + # We ran ``timeit`` on manual code which escaped XML special characters with + # a dictionary, and on another snippet which called three ``.replace()``. + # The code with ``.replace()`` was an order of magnitude faster on our + # computers. + # + # The escaping is written out here, and not put in a function of its own, + # since a string is the commonest value in a meta-model and a call is not free. + serializer.writer.stream.write( + value.replace("&", "&").replace("<", "<").replace(">", ">") + ) + + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_bytes_as_element( + name: str, prop_name: Optional[str], value: bytes, serializer: "_Serializer" +) -> None: + """ + Write the :paramref:`value` of a binary content enclosed in + the :paramref:`name` element. + + :param name: of the corresponding element tag + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param value: to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + + # NOTE (mristin): + # We need to decode the result of the base64-encoding to ASCII since we are + # writing to an XML *text* stream. ``base64.b64encode(.)`` gives us bytes, + # not a string. + encoded = base64.b64encode(value).decode("ascii") + + # NOTE (mristin): + # Base64 alphabet excludes ``<``, ``>`` and ``&``, so we can directly + # write the ``encoded`` content to the stream as XML text. + # + # See: https://datatracker.ietf.org/doc/html/rfc4648#section-4 + serializer.writer.stream.write(encoded) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_enum_as_element( + name: str, prop_name: Optional[str], value: enum.Enum, serializer: "_Serializer" +) -> None: + """ + Write the literal :paramref:`value` enclosed in the :paramref:`name` element. + + A literal is written as the text of the element, so this one writer serves every + enumeration of the meta-model. The access to the literal's value is deliberately + *not* spelled out at the call site: a :paramref:`value` which is not a literal + of the enumeration would then break *before* this function is entered, and + the failure could no longer be attributed to :paramref:`prop_name`. + + :param name: of the corresponding element tag + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param value: to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + _write_str_as_element(name, None, value.value, serializer) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_nested_element( + name: str, + prop_name: Optional[str], + value: our_types.Class, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`value` nested in the :paramref:`name` element. + + The instance writes the element which designates its model type, so it has to be + nested in an element of its own when it is the value of a property. Mind that + an *item* of a list is not nested that way -- see + :py:func:`_write_list_of_instances` -- as it is the item's own element which + already sits in the list's element. + + The element which designates the model type contributes no segment to the path + of a :py:class:`SerializationException`. The path points into the instance which + was handed over for the serialization, and there that element is no level of its + own: ``.value.id_short`` is exactly what you would write in Python. + + :param name: of the enclosing element + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param value: to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + serializer.visit(value) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_list_of_instances( + name: str, + prop_name: Optional[str], + items: Sequence[our_types.Class], + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`items` enclosed in the :paramref:`name` element. + + Every item writes the element which designates its model type, so no positional + tag is necessary. If there are no items, the enclosing element is collapsed to + an empty one. + + :param name: of the enclosing element + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param items: to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + if len(items) == 0: + serializer.writer.write_empty_element(name) + else: + serializer.writer.write_start_element(name) + + for index, item in enumerate(items): + try: + serializer.visit(item) + except Exception as exception: + _attribute_to_item(exception, index) + + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_list_of_items( + name: str, + prop_name: Optional[str], + items: Sequence[_ItemT], + write_item: "_ElementWriter[_ItemT]", + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`items` enclosed in the :paramref:`name` element. + + An item is encoded as the text of an element, so it is not self-describing, and + every item is written in an element tagged ``v``. If there are no items, + the enclosing element is collapsed to an empty one. + + :param name: of the enclosing element + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param items: to be serialized + :param write_item: to write a single item of :paramref:`items` + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + if len(items) == 0: + serializer.writer.write_empty_element(name) + else: + serializer.writer.write_start_element(name) + + for index, item in enumerate(items): + try: + write_item("v", None, item, serializer) + except Exception as exception: + _attribute_to_item(exception, index) + + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_json_object_as_element( + name: str, + prop_name: Optional[str], + value: our_types.JsonObject, + serializer: "_Serializer", +) -> None: + """ + Write the :paramref:`value` of a JSON-able object enclosed in + the :paramref:`name` element. + + The ```` discriminator is the :paramref:`name` element itself, so + only its ````'s are written here. + + :param name: of the corresponding element tag + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param value: to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + our_xmlrpc.write_struct_body(value, serializer.writer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_tuple2_of__string_value__string_value( + name: str, + prop_name: Optional[str], + value: Tuple[our_types.StringValue, our_types.StringValue], + serializer: "_Serializer", +) -> None: + """ + Write the 2 item(s) of :paramref:`value` enclosed in + the :paramref:`name` element. + + :param name: of the enclosing element + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param value: to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + + try: + serializer.visit(value[0]) + except Exception as exception: + _attribute_to_item(exception, 0) + + try: + serializer.visit(value[1]) + except Exception as exception: + _attribute_to_item(exception, 1) + + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_tuple2_of__value__value( + name: str, + prop_name: Optional[str], + value: Tuple[our_types.Value, our_types.Value], + serializer: "_Serializer", +) -> None: + """ + Write the 2 item(s) of :paramref:`value` enclosed in + the :paramref:`name` element. + + :param name: of the enclosing element + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param value: to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + + try: + serializer.visit(value[0]) + except Exception as exception: + _attribute_to_item(exception, 0) + + try: + serializer.visit(value[1]) + except Exception as exception: + _attribute_to_item(exception, 1) + + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_extension_as_element( + name: str, + prop_name: Optional[str], + that: our_types.Extension, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + _write_str_as_element("name", "name", that.name, serializer) + if that.value_type is not None: + _write_enum_as_element( + "valueType", "value_type", that.value_type, serializer + ) + if that.value is not None: + _write_str_as_element("value", "value", that.value, serializer) + if that.refers_to is not None: + _write_list_of_instances( + "refersTo", "refers_to", that.refers_to, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_administrative_information_as_element( + name: str, + prop_name: Optional[str], + that: our_types.AdministrativeInformation, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.embedded_data_specifications is None + and that.version is None + and that.revision is None + and that.creator is None + and that.created_at is None + and that.updated_at is None + and that.template_id is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + if that.version is not None: + _write_str_as_element("version", "version", that.version, serializer) + if that.revision is not None: + _write_str_as_element("revision", "revision", that.revision, serializer) + if that.creator is not None: + _write_reference_as_element("creator", "creator", that.creator, serializer) + if that.created_at is not None: + _write_str_as_element( + "createdAt", "created_at", that.created_at, serializer + ) + if that.updated_at is not None: + _write_str_as_element( + "updatedAt", "updated_at", that.updated_at, serializer + ) + if that.template_id is not None: + _write_str_as_element( + "templateId", "template_id", that.template_id, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_qualifier_as_element( + name: str, + prop_name: Optional[str], + that: our_types.Qualifier, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.kind is not None: + _write_enum_as_element("kind", "kind", that.kind, serializer) + _write_str_as_element("type", "type", that.type, serializer) + _write_enum_as_element("valueType", "value_type", that.value_type, serializer) + if that.value is not None: + _write_str_as_element("value", "value", that.value, serializer) + if that.value_id is not None: + _write_reference_as_element( + "valueId", "value_id", that.value_id, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_asset_administration_shell_as_element( + name: str, + prop_name: Optional[str], + that: our_types.AssetAdministrationShell, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.administration is not None: + _write_administrative_information_as_element( + "administration", "administration", that.administration, serializer + ) + _write_str_as_element("id", "id", that.id, serializer) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + if that.derived_from is not None: + _write_reference_as_element( + "derivedFrom", "derived_from", that.derived_from, serializer + ) + _write_asset_information_as_element( + "assetInformation", "asset_information", that.asset_information, serializer + ) + if that.submodels is not None: + _write_list_of_instances( + "submodels", "submodels", that.submodels, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_asset_information_as_element( + name: str, + prop_name: Optional[str], + that: our_types.AssetInformation, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_enum_as_element("assetKind", "asset_kind", that.asset_kind, serializer) + if that.global_asset_id is not None: + _write_str_as_element( + "globalAssetId", "global_asset_id", that.global_asset_id, serializer + ) + if that.specific_asset_ids is not None: + _write_list_of_instances( + "specificAssetIds", + "specific_asset_ids", + that.specific_asset_ids, + serializer, + ) + if that.asset_type is not None: + _write_str_as_element( + "assetType", "asset_type", that.asset_type, serializer + ) + if that.default_thumbnail is not None: + _write_resource_as_element( + "defaultThumbnail", + "default_thumbnail", + that.default_thumbnail, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_resource_as_element( + name: str, + prop_name: Optional[str], + that: our_types.Resource, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("path", "path", that.path, serializer) + if that.content_type is not None: + _write_str_as_element( + "contentType", "content_type", that.content_type, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_specific_asset_id_as_element( + name: str, + prop_name: Optional[str], + that: our_types.SpecificAssetID, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + _write_str_as_element("name", "name", that.name, serializer) + _write_str_as_element("value", "value", that.value, serializer) + if that.external_subject_id is not None: + _write_reference_as_element( + "externalSubjectId", + "external_subject_id", + that.external_subject_id, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_submodel_as_element( + name: str, + prop_name: Optional[str], + that: our_types.Submodel, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.administration is not None: + _write_administrative_information_as_element( + "administration", "administration", that.administration, serializer + ) + _write_str_as_element("id", "id", that.id, serializer) + if that.kind is not None: + _write_enum_as_element("kind", "kind", that.kind, serializer) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + if that.submodel_elements is not None: + _write_list_of_instances( + "submodelElements", + "submodel_elements", + that.submodel_elements, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_relationship_element_as_element( + name: str, + prop_name: Optional[str], + that: our_types.RelationshipElement, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.extensions is None + and that.category is None + and that.id_short is None + and that.display_name is None + and that.description is None + and that.semantic_id is None + and that.supplemental_semantic_ids is None + and that.qualifiers is None + and that.embedded_data_specifications is None + and that.first is None + and that.second is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + if that.first is not None: + _write_reference_as_element("first", "first", that.first, serializer) + if that.second is not None: + _write_reference_as_element("second", "second", that.second, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_submodel_element_list_as_element( + name: str, + prop_name: Optional[str], + that: our_types.SubmodelElementList, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + if that.order_relevant is not None: + _write_bool_as_element( + "orderRelevant", "order_relevant", that.order_relevant, serializer + ) + if that.semantic_id_list_element is not None: + _write_reference_as_element( + "semanticIdListElement", + "semantic_id_list_element", + that.semantic_id_list_element, + serializer, + ) + _write_enum_as_element( + "typeValueListElement", + "type_value_list_element", + that.type_value_list_element, + serializer, + ) + if that.value_type_list_element is not None: + _write_enum_as_element( + "valueTypeListElement", + "value_type_list_element", + that.value_type_list_element, + serializer, + ) + if that.value is not None: + _write_list_of_instances("value", "value", that.value, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_submodel_element_collection_as_element( + name: str, + prop_name: Optional[str], + that: our_types.SubmodelElementCollection, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.extensions is None + and that.category is None + and that.id_short is None + and that.display_name is None + and that.description is None + and that.semantic_id is None + and that.supplemental_semantic_ids is None + and that.qualifiers is None + and that.embedded_data_specifications is None + and that.value is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + if that.value is not None: + _write_list_of_instances("value", "value", that.value, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_property_as_element( + name: str, + prop_name: Optional[str], + that: our_types.Property, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + _write_enum_as_element("valueType", "value_type", that.value_type, serializer) + if that.value is not None: + _write_str_as_element("value", "value", that.value, serializer) + if that.value_id is not None: + _write_reference_as_element( + "valueId", "value_id", that.value_id, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_multi_language_property_as_element( + name: str, + prop_name: Optional[str], + that: our_types.MultiLanguageProperty, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.extensions is None + and that.category is None + and that.id_short is None + and that.display_name is None + and that.description is None + and that.semantic_id is None + and that.supplemental_semantic_ids is None + and that.qualifiers is None + and that.embedded_data_specifications is None + and that.value is None + and that.value_id is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + if that.value is not None: + _write_list_of_instances("value", "value", that.value, serializer) + if that.value_id is not None: + _write_reference_as_element( + "valueId", "value_id", that.value_id, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_range_as_element( + name: str, + prop_name: Optional[str], + that: our_types.Range, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + _write_enum_as_element("valueType", "value_type", that.value_type, serializer) + if that.min is not None: + _write_str_as_element("min", "min", that.min, serializer) + if that.max is not None: + _write_str_as_element("max", "max", that.max, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_reference_element_as_element( + name: str, + prop_name: Optional[str], + that: our_types.ReferenceElement, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.extensions is None + and that.category is None + and that.id_short is None + and that.display_name is None + and that.description is None + and that.semantic_id is None + and that.supplemental_semantic_ids is None + and that.qualifiers is None + and that.embedded_data_specifications is None + and that.value is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + if that.value is not None: + _write_reference_as_element("value", "value", that.value, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_blob_as_element( + name: str, prop_name: Optional[str], that: our_types.Blob, serializer: "_Serializer" +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.extensions is None + and that.category is None + and that.id_short is None + and that.display_name is None + and that.description is None + and that.semantic_id is None + and that.supplemental_semantic_ids is None + and that.qualifiers is None + and that.embedded_data_specifications is None + and that.value is None + and that.content_type is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + if that.value is not None: + _write_bytes_as_element("value", "value", that.value, serializer) + if that.content_type is not None: + _write_str_as_element( + "contentType", "content_type", that.content_type, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_file_as_element( + name: str, prop_name: Optional[str], that: our_types.File, serializer: "_Serializer" +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.extensions is None + and that.category is None + and that.id_short is None + and that.display_name is None + and that.description is None + and that.semantic_id is None + and that.supplemental_semantic_ids is None + and that.qualifiers is None + and that.embedded_data_specifications is None + and that.value is None + and that.content_type is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + if that.value is not None: + _write_str_as_element("value", "value", that.value, serializer) + if that.content_type is not None: + _write_str_as_element( + "contentType", "content_type", that.content_type, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_annotated_relationship_element_as_element( + name: str, + prop_name: Optional[str], + that: our_types.AnnotatedRelationshipElement, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.extensions is None + and that.category is None + and that.id_short is None + and that.display_name is None + and that.description is None + and that.semantic_id is None + and that.supplemental_semantic_ids is None + and that.qualifiers is None + and that.embedded_data_specifications is None + and that.first is None + and that.second is None + and that.annotations is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + if that.first is not None: + _write_reference_as_element("first", "first", that.first, serializer) + if that.second is not None: + _write_reference_as_element("second", "second", that.second, serializer) + if that.annotations is not None: + _write_list_of_instances( + "annotations", "annotations", that.annotations, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_entity_as_element( + name: str, + prop_name: Optional[str], + that: our_types.Entity, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.extensions is None + and that.category is None + and that.id_short is None + and that.display_name is None + and that.description is None + and that.semantic_id is None + and that.supplemental_semantic_ids is None + and that.qualifiers is None + and that.embedded_data_specifications is None + and that.statements is None + and that.entity_type is None + and that.global_asset_id is None + and that.specific_asset_ids is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + if that.statements is not None: + _write_list_of_instances( + "statements", "statements", that.statements, serializer + ) + if that.entity_type is not None: + _write_enum_as_element( + "entityType", "entity_type", that.entity_type, serializer + ) + if that.global_asset_id is not None: + _write_str_as_element( + "globalAssetId", "global_asset_id", that.global_asset_id, serializer + ) + if that.specific_asset_ids is not None: + _write_list_of_instances( + "specificAssetIds", + "specific_asset_ids", + that.specific_asset_ids, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_event_payload_as_element( + name: str, + prop_name: Optional[str], + that: our_types.EventPayload, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_reference_as_element("source", "source", that.source, serializer) + if that.source_semantic_id is not None: + _write_reference_as_element( + "sourceSemanticId", + "source_semantic_id", + that.source_semantic_id, + serializer, + ) + _write_reference_as_element( + "observableReference", + "observable_reference", + that.observable_reference, + serializer, + ) + if that.observable_semantic_id is not None: + _write_reference_as_element( + "observableSemanticId", + "observable_semantic_id", + that.observable_semantic_id, + serializer, + ) + if that.topic is not None: + _write_str_as_element("topic", "topic", that.topic, serializer) + if that.subject_id is not None: + _write_reference_as_element( + "subjectId", "subject_id", that.subject_id, serializer + ) + _write_str_as_element("timeStamp", "time_stamp", that.time_stamp, serializer) + if that.payload is not None: + _write_bytes_as_element("payload", "payload", that.payload, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_basic_event_element_as_element( + name: str, + prop_name: Optional[str], + that: our_types.BasicEventElement, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + _write_reference_as_element("observed", "observed", that.observed, serializer) + _write_enum_as_element("direction", "direction", that.direction, serializer) + _write_enum_as_element("state", "state", that.state, serializer) + if that.message_topic is not None: + _write_str_as_element( + "messageTopic", "message_topic", that.message_topic, serializer + ) + if that.message_broker is not None: + _write_reference_as_element( + "messageBroker", "message_broker", that.message_broker, serializer + ) + if that.last_update is not None: + _write_str_as_element( + "lastUpdate", "last_update", that.last_update, serializer + ) + if that.min_interval is not None: + _write_str_as_element( + "minInterval", "min_interval", that.min_interval, serializer + ) + if that.max_interval is not None: + _write_str_as_element( + "maxInterval", "max_interval", that.max_interval, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_operation_as_element( + name: str, + prop_name: Optional[str], + that: our_types.Operation, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.extensions is None + and that.category is None + and that.id_short is None + and that.display_name is None + and that.description is None + and that.semantic_id is None + and that.supplemental_semantic_ids is None + and that.qualifiers is None + and that.embedded_data_specifications is None + and that.input_variables is None + and that.output_variables is None + and that.inoutput_variables is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + if that.input_variables is not None: + _write_list_of_instances( + "inputVariables", "input_variables", that.input_variables, serializer + ) + if that.output_variables is not None: + _write_list_of_instances( + "outputVariables", "output_variables", that.output_variables, serializer + ) + if that.inoutput_variables is not None: + _write_list_of_instances( + "inoutputVariables", + "inoutput_variables", + that.inoutput_variables, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_operation_variable_as_element( + name: str, + prop_name: Optional[str], + that: our_types.OperationVariable, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_nested_element("value", "value", that.value, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_capability_as_element( + name: str, + prop_name: Optional[str], + that: our_types.Capability, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.extensions is None + and that.category is None + and that.id_short is None + and that.display_name is None + and that.description is None + and that.semantic_id is None + and that.supplemental_semantic_ids is None + and that.qualifiers is None + and that.embedded_data_specifications is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_concept_description_as_element( + name: str, + prop_name: Optional[str], + that: our_types.ConceptDescription, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.administration is not None: + _write_administrative_information_as_element( + "administration", "administration", that.administration, serializer + ) + _write_str_as_element("id", "id", that.id, serializer) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + if that.is_case_of is not None: + _write_list_of_instances( + "isCaseOf", "is_case_of", that.is_case_of, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_reference_as_element( + name: str, + prop_name: Optional[str], + that: our_types.Reference, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_enum_as_element("type", "type", that.type, serializer) + if that.referred_semantic_id is not None: + _write_reference_as_element( + "referredSemanticId", + "referred_semantic_id", + that.referred_semantic_id, + serializer, + ) + _write_list_of_instances("keys", "keys", that.keys, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_key_as_element( + name: str, prop_name: Optional[str], that: our_types.Key, serializer: "_Serializer" +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_enum_as_element("type", "type", that.type, serializer) + _write_str_as_element("value", "value", that.value, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_lang_string_name_type_as_element( + name: str, + prop_name: Optional[str], + that: our_types.LangStringNameType, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("language", "language", that.language, serializer) + _write_str_as_element("text", "text", that.text, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_lang_string_text_type_as_element( + name: str, + prop_name: Optional[str], + that: our_types.LangStringTextType, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("language", "language", that.language, serializer) + _write_str_as_element("text", "text", that.text, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_environment_as_element( + name: str, + prop_name: Optional[str], + that: our_types.Environment, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.asset_administration_shells is None + and that.submodels is None + and that.concept_descriptions is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.asset_administration_shells is not None: + _write_list_of_instances( + "assetAdministrationShells", + "asset_administration_shells", + that.asset_administration_shells, + serializer, + ) + if that.submodels is not None: + _write_list_of_instances( + "submodels", "submodels", that.submodels, serializer + ) + if that.concept_descriptions is not None: + _write_list_of_instances( + "conceptDescriptions", + "concept_descriptions", + that.concept_descriptions, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_embedded_data_specification_as_element( + name: str, + prop_name: Optional[str], + that: our_types.EmbeddedDataSpecification, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_reference_as_element( + "dataSpecification", + "data_specification", + that.data_specification, + serializer, + ) + _write_nested_element( + "dataSpecificationContent", + "data_specification_content", + that.data_specification_content, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_level_type_as_element( + name: str, + prop_name: Optional[str], + that: our_types.LevelType, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_bool_as_element("min", "min", that.min, serializer) + _write_bool_as_element("nom", "nom", that.nom, serializer) + _write_bool_as_element("typ", "typ", that.typ, serializer) + _write_bool_as_element("max", "max", that.max, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_value_reference_pair_as_element( + name: str, + prop_name: Optional[str], + that: our_types.ValueReferencePair, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("value", "value", that.value, serializer) + if that.value_id is not None: + _write_reference_as_element( + "valueId", "value_id", that.value_id, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_value_list_as_element( + name: str, + prop_name: Optional[str], + that: our_types.ValueList, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_list_of_instances( + "valueReferencePairs", + "value_reference_pairs", + that.value_reference_pairs, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_lang_string_preferred_name_type_iec_61360_as_element( + name: str, + prop_name: Optional[str], + that: our_types.LangStringPreferredNameTypeIEC61360, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("language", "language", that.language, serializer) + _write_str_as_element("text", "text", that.text, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_lang_string_short_name_type_iec_61360_as_element( + name: str, + prop_name: Optional[str], + that: our_types.LangStringShortNameTypeIEC61360, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("language", "language", that.language, serializer) + _write_str_as_element("text", "text", that.text, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_lang_string_definition_type_iec_61360_as_element( + name: str, + prop_name: Optional[str], + that: our_types.LangStringDefinitionTypeIEC61360, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("language", "language", that.language, serializer) + _write_str_as_element("text", "text", that.text, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_lang_string_uom_as_element( + name: str, + prop_name: Optional[str], + that: our_types.LangStringUom, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("language", "language", that.language, serializer) + _write_str_as_element("text", "text", that.text, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_definition_type_uom_as_element( + name: str, + prop_name: Optional[str], + that: our_types.DefinitionTypeUom, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("language", "language", that.language, serializer) + _write_str_as_element("text", "text", that.text, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_data_specification_uom_as_element( + name: str, + prop_name: Optional[str], + that: our_types.DataSpecificationUom, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_list_of_instances( + "preferredName", "preferred_name", that.preferred_name, serializer + ) + _write_str_as_element("symbol", "symbol", that.symbol, serializer) + if that.specific_unit_id is not None: + _write_str_as_element( + "specificUnitId", "specific_unit_id", that.specific_unit_id, serializer + ) + if that.definition is not None: + _write_list_of_instances( + "definition", "definition", that.definition, serializer + ) + if that.preferred_name_quantity is not None: + _write_list_of_instances( + "preferredNameQuantity", + "preferred_name_quantity", + that.preferred_name_quantity, + serializer, + ) + if that.quantity_id is not None: + _write_str_as_element( + "quantityId", "quantity_id", that.quantity_id, serializer + ) + if that.classification_system is not None: + _write_str_as_element( + "classificationSystem", + "classification_system", + that.classification_system, + serializer, + ) + if that.classification_system_version is not None: + _write_str_as_element( + "classificationSystemVersion", + "classification_system_version", + that.classification_system_version, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_data_specification_iec_61360_as_element( + name: str, + prop_name: Optional[str], + that: our_types.DataSpecificationIEC61360, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_list_of_instances( + "preferredName", "preferred_name", that.preferred_name, serializer + ) + if that.short_name is not None: + _write_list_of_instances( + "shortName", "short_name", that.short_name, serializer + ) + if that.unit is not None: + _write_str_as_element("unit", "unit", that.unit, serializer) + if that.unit_id is not None: + _write_reference_as_element("unitId", "unit_id", that.unit_id, serializer) + if that.source_of_definition is not None: + _write_str_as_element( + "sourceOfDefinition", + "source_of_definition", + that.source_of_definition, + serializer, + ) + if that.symbol is not None: + _write_str_as_element("symbol", "symbol", that.symbol, serializer) + if that.data_type is not None: + _write_enum_as_element("dataType", "data_type", that.data_type, serializer) + if that.definition is not None: + _write_list_of_instances( + "definition", "definition", that.definition, serializer + ) + if that.value_format is not None: + _write_str_as_element( + "valueFormat", "value_format", that.value_format, serializer + ) + if that.value_list is not None: + _write_value_list_as_element( + "valueList", "value_list", that.value_list, serializer + ) + if that.value is not None: + _write_str_as_element("value", "value", that.value, serializer) + if that.level_type is not None: + _write_level_type_as_element( + "levelType", "level_type", that.level_type, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_asset_administration_shell_descriptor_as_element( + name: str, + prop_name: Optional[str], + that: our_types.AssetAdministrationShellDescriptor, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + _write_str_as_element("id", "id", that.id, serializer) + if that.administration is not None: + _write_administrative_information_as_element( + "administration", "administration", that.administration, serializer + ) + if that.asset_kind is not None: + _write_enum_as_element( + "assetKind", "asset_kind", that.asset_kind, serializer + ) + if that.asset_type is not None: + _write_str_as_element( + "assetType", "asset_type", that.asset_type, serializer + ) + if that.endpoints is not None: + _write_list_of_instances( + "endpoints", "endpoints", that.endpoints, serializer + ) + if that.global_asset_id is not None: + _write_str_as_element( + "globalAssetId", "global_asset_id", that.global_asset_id, serializer + ) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.specific_asset_ids is not None: + _write_list_of_instances( + "specificAssetIds", + "specific_asset_ids", + that.specific_asset_ids, + serializer, + ) + if that.submodel_descriptors is not None: + _write_list_of_instances( + "submodelDescriptors", + "submodel_descriptors", + that.submodel_descriptors, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_submodel_descriptor_as_element( + name: str, + prop_name: Optional[str], + that: our_types.SubmodelDescriptor, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + _write_list_of_instances("endpoints", "endpoints", that.endpoints, serializer) + _write_str_as_element("id", "id", that.id, serializer) + if that.administration is not None: + _write_administrative_information_as_element( + "administration", "administration", that.administration, serializer + ) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_endpoint_as_element( + name: str, + prop_name: Optional[str], + that: our_types.Endpoint, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_protocol_information_as_element( + "protocolInformation", + "protocol_information", + that.protocol_information, + serializer, + ) + _write_str_as_element("interface", "interface", that.interface, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_protocol_information_as_element( + name: str, + prop_name: Optional[str], + that: our_types.ProtocolInformation, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("href", "href", that.href, serializer) + if that.endpoint_protocol is not None: + _write_str_as_element( + "endpointProtocol", + "endpoint_protocol", + that.endpoint_protocol, + serializer, + ) + if that.endpoint_protocol_version is not None: + _write_list_of_items( + "endpointProtocolVersion", + "endpoint_protocol_version", + that.endpoint_protocol_version, + _write_str_as_element, + serializer, + ) + if that.subprotocol is not None: + _write_str_as_element( + "subprotocol", "subprotocol", that.subprotocol, serializer + ) + if that.subprotocol_body is not None: + _write_str_as_element( + "subprotocolBody", "subprotocol_body", that.subprotocol_body, serializer + ) + if that.subprotocol_body_encoding is not None: + _write_str_as_element( + "subprotocolBodyEncoding", + "subprotocol_body_encoding", + that.subprotocol_body_encoding, + serializer, + ) + if that.security_attributes is not None: + _write_list_of_instances( + "securityAttributes", + "security_attributes", + that.security_attributes, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_security_attribute_object_as_element( + name: str, + prop_name: Optional[str], + that: our_types.SecurityAttributeObject, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_enum_as_element("type", "type", that.type, serializer) + _write_str_as_element("key", "key", that.key, serializer) + _write_str_as_element("value", "value", that.value, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_asset_link_as_element( + name: str, + prop_name: Optional[str], + that: our_types.AssetLink, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("name", "name", that.name, serializer) + _write_str_as_element("value", "value", that.value, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_service_description_as_element( + name: str, + prop_name: Optional[str], + that: our_types.ServiceDescription, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_list_of_items( + "profiles", "profiles", that.profiles, _write_enum_as_element, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_asset_administration_shell_recent_change_as_element( + name: str, + prop_name: Optional[str], + that: our_types.AssetAdministrationShellRecentChange, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("createdAt", "created_at", that.created_at, serializer) + _write_str_as_element("updatedAt", "updated_at", that.updated_at, serializer) + _write_str_as_element("id", "id", that.id, serializer) + if that.global_asset_id is not None: + _write_str_as_element( + "globalAssetId", "global_asset_id", that.global_asset_id, serializer + ) + if that.specific_asset_ids is not None: + _write_list_of_instances( + "specificAssetIds", + "specific_asset_ids", + that.specific_asset_ids, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_concept_description_recent_change_as_element( + name: str, + prop_name: Optional[str], + that: our_types.ConceptDescriptionRecentChange, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("createdAt", "created_at", that.created_at, serializer) + _write_str_as_element("updatedAt", "updated_at", that.updated_at, serializer) + _write_str_as_element("id", "id", that.id, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_submodel_recent_change_as_element( + name: str, + prop_name: Optional[str], + that: our_types.SubmodelRecentChange, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("createdAt", "created_at", that.created_at, serializer) + _write_str_as_element("updatedAt", "updated_at", that.updated_at, serializer) + _write_str_as_element("id", "id", that.id, serializer) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.Result, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if that.messages is None: + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.messages is not None: + _write_list_of_instances("messages", "messages", that.messages, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_message_as_element( + name: str, + prop_name: Optional[str], + that: our_types.Message, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_enum_as_element( + "messageType", "message_type", that.message_type, serializer + ) + _write_str_as_element("text", "text", that.text, serializer) + if that.code is not None: + _write_str_as_element("code", "code", that.code, serializer) + if that.correlation_id is not None: + _write_str_as_element( + "correlationId", "correlation_id", that.correlation_id, serializer + ) + if that.timestamp is not None: + _write_str_as_element("timestamp", "timestamp", that.timestamp, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_operation_request_as_element( + name: str, + prop_name: Optional[str], + that: our_types.OperationRequest, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.input_arguments is None + and that.inoutput_arguments is None + and that.client_timeout_duration is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.input_arguments is not None: + _write_list_of_instances( + "inputArguments", "input_arguments", that.input_arguments, serializer + ) + if that.inoutput_arguments is not None: + _write_list_of_instances( + "inoutputArguments", + "inoutput_arguments", + that.inoutput_arguments, + serializer, + ) + if that.client_timeout_duration is not None: + _write_str_as_element( + "clientTimeoutDuration", + "client_timeout_duration", + that.client_timeout_duration, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_operation_request_async_as_element( + name: str, + prop_name: Optional[str], + that: our_types.OperationRequestAsync, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.input_arguments is not None: + _write_list_of_instances( + "inputArguments", "input_arguments", that.input_arguments, serializer + ) + if that.inoutput_arguments is not None: + _write_list_of_instances( + "inoutputArguments", + "inoutput_arguments", + that.inoutput_arguments, + serializer, + ) + _write_str_as_element( + "clientTimeoutDuration", + "client_timeout_duration", + that.client_timeout_duration, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_operation_request_value_only_as_element( + name: str, + prop_name: Optional[str], + that: our_types.OperationRequestValueOnly, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.input_arguments is None + and that.inoutput_arguments is None + and that.client_timeout_duration is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.input_arguments is not None: + _write_json_object_as_element( + "inputArguments", "input_arguments", that.input_arguments, serializer + ) + if that.inoutput_arguments is not None: + _write_json_object_as_element( + "inoutputArguments", + "inoutput_arguments", + that.inoutput_arguments, + serializer, + ) + if that.client_timeout_duration is not None: + _write_str_as_element( + "clientTimeoutDuration", + "client_timeout_duration", + that.client_timeout_duration, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_operation_request_async_value_only_as_element( + name: str, + prop_name: Optional[str], + that: our_types.OperationRequestAsyncValueOnly, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.input_arguments is not None: + _write_json_object_as_element( + "inputArguments", "input_arguments", that.input_arguments, serializer + ) + if that.inoutput_arguments is not None: + _write_json_object_as_element( + "inoutputArguments", + "inoutput_arguments", + that.inoutput_arguments, + serializer, + ) + _write_str_as_element( + "clientTimeoutDuration", + "client_timeout_duration", + that.client_timeout_duration, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_base_operation_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.BaseOperationResult, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_enum_as_element( + "executionState", "execution_state", that.execution_state, serializer + ) + if that.messages is not None: + _write_list_of_instances("messages", "messages", that.messages, serializer) + if that.success is not None: + _write_bool_as_element("success", "success", that.success, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_operation_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.OperationResult, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_enum_as_element( + "executionState", "execution_state", that.execution_state, serializer + ) + if that.messages is not None: + _write_list_of_instances("messages", "messages", that.messages, serializer) + if that.success is not None: + _write_bool_as_element("success", "success", that.success, serializer) + if that.output_arguments is not None: + _write_list_of_instances( + "outputArguments", "output_arguments", that.output_arguments, serializer + ) + if that.inoutput_arguments is not None: + _write_list_of_instances( + "inoutputArguments", + "inoutput_arguments", + that.inoutput_arguments, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_operation_result_value_only_as_element( + name: str, + prop_name: Optional[str], + that: our_types.OperationResultValueOnly, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_enum_as_element( + "executionState", "execution_state", that.execution_state, serializer + ) + if that.messages is not None: + _write_list_of_instances("messages", "messages", that.messages, serializer) + if that.success is not None: + _write_bool_as_element("success", "success", that.success, serializer) + if that.output_arguments is not None: + _write_json_object_as_element( + "outputArguments", "output_arguments", that.output_arguments, serializer + ) + if that.inoutput_arguments is not None: + _write_json_object_as_element( + "inoutputArguments", + "inoutput_arguments", + that.inoutput_arguments, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_operation_handle_as_element( + name: str, + prop_name: Optional[str], + that: our_types.OperationHandle, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("handleId", "handle_id", that.handle_id, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_paged_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.PagedResult, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.result is not None: + _write_list_of_instances("result", "result", that.result, serializer) + _write_paging_metadata_as_element( + "pagingMetadata", "paging_metadata", that.paging_metadata, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_paging_metadata_as_element( + name: str, + prop_name: Optional[str], + that: our_types.PagingMetadata, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if that.cursor is None: + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.cursor is not None: + _write_str_as_element("cursor", "cursor", that.cursor, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_package_description_as_element( + name: str, + prop_name: Optional[str], + that: our_types.PackageDescription, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("packageId", "package_id", that.package_id, serializer) + if that.aas_ids is not None: + _write_list_of_items( + "aasIds", "aas_ids", that.aas_ids, _write_str_as_element, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_property_metadata_as_element( + name: str, + prop_name: Optional[str], + that: our_types.PropertyMetadata, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + _write_enum_as_element("valueType", "value_type", that.value_type, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_range_metadata_as_element( + name: str, + prop_name: Optional[str], + that: our_types.RangeMetadata, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + _write_enum_as_element("valueType", "value_type", that.value_type, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_blob_metadata_as_element( + name: str, + prop_name: Optional[str], + that: our_types.BlobMetadata, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.extensions is None + and that.category is None + and that.id_short is None + and that.display_name is None + and that.description is None + and that.semantic_id is None + and that.supplemental_semantic_ids is None + and that.qualifiers is None + and that.embedded_data_specifications is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_file_metadata_as_element( + name: str, + prop_name: Optional[str], + that: our_types.FileMetadata, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.extensions is None + and that.category is None + and that.id_short is None + and that.display_name is None + and that.description is None + and that.semantic_id is None + and that.supplemental_semantic_ids is None + and that.qualifiers is None + and that.embedded_data_specifications is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_multi_language_property_metadata_as_element( + name: str, + prop_name: Optional[str], + that: our_types.MultiLanguagePropertyMetadata, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.extensions is None + and that.category is None + and that.id_short is None + and that.display_name is None + and that.description is None + and that.semantic_id is None + and that.supplemental_semantic_ids is None + and that.qualifiers is None + and that.embedded_data_specifications is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_reference_element_metadata_as_element( + name: str, + prop_name: Optional[str], + that: our_types.ReferenceElementMetadata, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.extensions is None + and that.category is None + and that.id_short is None + and that.display_name is None + and that.description is None + and that.semantic_id is None + and that.supplemental_semantic_ids is None + and that.qualifiers is None + and that.embedded_data_specifications is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_relationship_element_metadata_as_element( + name: str, + prop_name: Optional[str], + that: our_types.RelationshipElementMetadata, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.extensions is None + and that.category is None + and that.id_short is None + and that.display_name is None + and that.description is None + and that.semantic_id is None + and that.supplemental_semantic_ids is None + and that.qualifiers is None + and that.embedded_data_specifications is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_annotated_relationship_element_metadata_as_element( + name: str, + prop_name: Optional[str], + that: our_types.AnnotatedRelationshipElementMetadata, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.extensions is None + and that.category is None + and that.id_short is None + and that.display_name is None + and that.description is None + and that.semantic_id is None + and that.supplemental_semantic_ids is None + and that.qualifiers is None + and that.embedded_data_specifications is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_entity_metadata_as_element( + name: str, + prop_name: Optional[str], + that: our_types.EntityMetadata, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.extensions is None + and that.category is None + and that.id_short is None + and that.display_name is None + and that.description is None + and that.semantic_id is None + and that.supplemental_semantic_ids is None + and that.qualifiers is None + and that.embedded_data_specifications is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_capability_metadata_as_element( + name: str, + prop_name: Optional[str], + that: our_types.CapabilityMetadata, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.extensions is None + and that.category is None + and that.id_short is None + and that.display_name is None + and that.description is None + and that.semantic_id is None + and that.supplemental_semantic_ids is None + and that.qualifiers is None + and that.embedded_data_specifications is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_operation_metadata_as_element( + name: str, + prop_name: Optional[str], + that: our_types.OperationMetadata, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.extensions is None + and that.category is None + and that.id_short is None + and that.display_name is None + and that.description is None + and that.semantic_id is None + and that.supplemental_semantic_ids is None + and that.qualifiers is None + and that.embedded_data_specifications is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_submodel_element_collection_metadata_as_element( + name: str, + prop_name: Optional[str], + that: our_types.SubmodelElementCollectionMetadata, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.extensions is None + and that.category is None + and that.id_short is None + and that.display_name is None + and that.description is None + and that.semantic_id is None + and that.supplemental_semantic_ids is None + and that.qualifiers is None + and that.embedded_data_specifications is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_basic_event_element_metadata_as_element( + name: str, + prop_name: Optional[str], + that: our_types.BasicEventElementMetadata, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + _write_enum_as_element("direction", "direction", that.direction, serializer) + _write_enum_as_element("state", "state", that.state, serializer) + if that.message_topic is not None: + _write_str_as_element( + "messageTopic", "message_topic", that.message_topic, serializer + ) + if that.message_broker is not None: + _write_reference_as_element( + "messageBroker", "message_broker", that.message_broker, serializer + ) + if that.last_update is not None: + _write_str_as_element( + "lastUpdate", "last_update", that.last_update, serializer + ) + if that.min_interval is not None: + _write_str_as_element( + "minInterval", "min_interval", that.min_interval, serializer + ) + if that.max_interval is not None: + _write_str_as_element( + "maxInterval", "max_interval", that.max_interval, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_submodel_element_list_metadata_as_element( + name: str, + prop_name: Optional[str], + that: our_types.SubmodelElementListMetadata, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + if that.order_relevant is not None: + _write_bool_as_element( + "orderRelevant", "order_relevant", that.order_relevant, serializer + ) + if that.semantic_id_list_element is not None: + _write_reference_as_element( + "semanticIdListElement", + "semantic_id_list_element", + that.semantic_id_list_element, + serializer, + ) + _write_enum_as_element( + "typeValueListElement", + "type_value_list_element", + that.type_value_list_element, + serializer, + ) + if that.value_type_list_element is not None: + _write_enum_as_element( + "valueTypeListElement", + "value_type_list_element", + that.value_type_list_element, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_submodel_metadata_as_element( + name: str, + prop_name: Optional[str], + that: our_types.SubmodelMetadata, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.administration is not None: + _write_administrative_information_as_element( + "administration", "administration", that.administration, serializer + ) + _write_str_as_element("id", "id", that.id, serializer) + if that.kind is not None: + _write_enum_as_element("kind", "kind", that.kind, serializer) + if that.semantic_id is not None: + _write_reference_as_element( + "semanticId", "semantic_id", that.semantic_id, serializer + ) + if that.supplemental_semantic_ids is not None: + _write_list_of_instances( + "supplementalSemanticIds", + "supplemental_semantic_ids", + that.supplemental_semantic_ids, + serializer, + ) + if that.qualifiers is not None: + _write_list_of_instances( + "qualifiers", "qualifiers", that.qualifiers, serializer + ) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_asset_administration_shell_metadata_as_element( + name: str, + prop_name: Optional[str], + that: our_types.AssetAdministrationShellMetadata, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.extensions is not None: + _write_list_of_instances( + "extensions", "extensions", that.extensions, serializer + ) + if that.category is not None: + _write_str_as_element("category", "category", that.category, serializer) + if that.id_short is not None: + _write_str_as_element("idShort", "id_short", that.id_short, serializer) + if that.display_name is not None: + _write_list_of_instances( + "displayName", "display_name", that.display_name, serializer + ) + if that.description is not None: + _write_list_of_instances( + "description", "description", that.description, serializer + ) + if that.administration is not None: + _write_administrative_information_as_element( + "administration", "administration", that.administration, serializer + ) + _write_str_as_element("id", "id", that.id, serializer) + if that.embedded_data_specifications is not None: + _write_list_of_instances( + "embeddedDataSpecifications", + "embedded_data_specifications", + that.embedded_data_specifications, + serializer, + ) + if that.derived_from is not None: + _write_reference_as_element( + "derivedFrom", "derived_from", that.derived_from, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_reference_element_value_as_element( + name: str, + prop_name: Optional[str], + that: our_types.ReferenceElementValue, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_enum_as_element("type", "type", that.type, serializer) + _write_list_of_instances("keys", "keys", that.keys, serializer) + if that.referred_semantic_id is not None: + _write_reference_as_element( + "referredSemanticId", + "referred_semantic_id", + that.referred_semantic_id, + serializer, + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_blob_value_as_element( + name: str, + prop_name: Optional[str], + that: our_types.BlobValue, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if that.content_type is None and that.value is None: + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.content_type is not None: + _write_str_as_element( + "contentType", "content_type", that.content_type, serializer + ) + if that.value is not None: + _write_bytes_as_element("value", "value", that.value, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_file_value_as_element( + name: str, + prop_name: Optional[str], + that: our_types.FileValue, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if that.content_type is None and that.value is None: + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.content_type is not None: + _write_str_as_element( + "contentType", "content_type", that.content_type, serializer + ) + if that.value is not None: + _write_str_as_element("value", "value", that.value, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_range_value_as_element( + name: str, + prop_name: Optional[str], + that: our_types.RangeValue, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_float_as_element("min", "min", that.min, serializer) + _write_float_as_element("max", "max", that.max, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_relationship_element_value_as_element( + name: str, + prop_name: Optional[str], + that: our_types.RelationshipElementValue, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if that.first is None and that.second is None: + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.first is not None: + _write_reference_as_element("first", "first", that.first, serializer) + if that.second is not None: + _write_reference_as_element("second", "second", that.second, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_basic_event_element_value_as_element( + name: str, + prop_name: Optional[str], + that: our_types.BasicEventElementValue, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_reference_as_element("observed", "observed", that.observed, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_annotated_relationship_element_value_as_element( + name: str, + prop_name: Optional[str], + that: our_types.AnnotatedRelationshipElementValue, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if that.first is None and that.second is None and that.annotations is None: + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.first is not None: + _write_reference_as_element("first", "first", that.first, serializer) + if that.second is not None: + _write_reference_as_element("second", "second", that.second, serializer) + if that.annotations is not None: + _write_json_object_as_element( + "annotations", "annotations", that.annotations, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_entity_value_as_element( + name: str, + prop_name: Optional[str], + that: our_types.EntityValue, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + All the properties are optional, so the element is collapsed to an empty one + if none of them is set. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + # We optimize for the case where all the optional properties are not set, + # so that we can simply output an empty element. + if ( + that.entity_type is None + and that.global_asset_id is None + and that.specific_asset_ids is None + and that.statements is None + ): + serializer.writer.write_empty_element(name) + return + + serializer.writer.write_start_element(name) + if that.entity_type is not None: + _write_enum_as_element( + "entityType", "entity_type", that.entity_type, serializer + ) + if that.global_asset_id is not None: + _write_str_as_element( + "globalAssetId", "global_asset_id", that.global_asset_id, serializer + ) + if that.specific_asset_ids is not None: + _write_list_of_items( + "specificAssetIds", + "specific_asset_ids", + that.specific_asset_ids, + _write_json_object_as_element, + serializer, + ) + if that.statements is not None: + _write_json_object_as_element( + "statements", "statements", that.statements, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_get_asset_administration_shells_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.GetAssetAdministrationShellsResult, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_paging_metadata_as_element( + "pagingMetadata", "paging_metadata", that.paging_metadata, serializer + ) + if that.result is not None: + _write_list_of_instances("result", "result", that.result, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_get_asset_administration_shells_metadata_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.GetAssetAdministrationShellsMetadataResult, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_paging_metadata_as_element( + "pagingMetadata", "paging_metadata", that.paging_metadata, serializer + ) + if that.result is not None: + _write_list_of_instances("result", "result", that.result, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_get_all_asset_administration_shells_recent_changes_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.GetAllAssetAdministrationShellsRecentChangesResult, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_paging_metadata_as_element( + "pagingMetadata", "paging_metadata", that.paging_metadata, serializer + ) + if that.result is not None: + _write_list_of_instances("result", "result", that.result, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_get_asset_administration_shell_descriptors_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.GetAssetAdministrationShellDescriptorsResult, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_paging_metadata_as_element( + "pagingMetadata", "paging_metadata", that.paging_metadata, serializer + ) + if that.result is not None: + _write_list_of_instances("result", "result", that.result, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_get_concept_descriptions_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.GetConceptDescriptionsResult, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_paging_metadata_as_element( + "pagingMetadata", "paging_metadata", that.paging_metadata, serializer + ) + if that.result is not None: + _write_list_of_instances("result", "result", that.result, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_get_all_concept_descriptions_recent_changes_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.GetAllConceptDescriptionsRecentChangesResult, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_paging_metadata_as_element( + "pagingMetadata", "paging_metadata", that.paging_metadata, serializer + ) + if that.result is not None: + _write_list_of_instances("result", "result", that.result, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_get_package_descriptions_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.GetPackageDescriptionsResult, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_paging_metadata_as_element( + "pagingMetadata", "paging_metadata", that.paging_metadata, serializer + ) + if that.result is not None: + _write_list_of_instances("result", "result", that.result, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_get_path_items_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.GetPathItemsResult, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_paging_metadata_as_element( + "pagingMetadata", "paging_metadata", that.paging_metadata, serializer + ) + if that.result is not None: + _write_list_of_items( + "result", "result", that.result, _write_str_as_element, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_get_references_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.GetReferencesResult, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_paging_metadata_as_element( + "pagingMetadata", "paging_metadata", that.paging_metadata, serializer + ) + if that.result is not None: + _write_list_of_instances("result", "result", that.result, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_get_submodel_descriptors_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.GetSubmodelDescriptorsResult, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_paging_metadata_as_element( + "pagingMetadata", "paging_metadata", that.paging_metadata, serializer + ) + if that.result is not None: + _write_list_of_instances("result", "result", that.result, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_get_submodel_elements_metadata_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.GetSubmodelElementsMetadataResult, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_paging_metadata_as_element( + "pagingMetadata", "paging_metadata", that.paging_metadata, serializer + ) + if that.result is not None: + _write_list_of_instances("result", "result", that.result, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_get_submodel_elements_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.GetSubmodelElementsResult, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_paging_metadata_as_element( + "pagingMetadata", "paging_metadata", that.paging_metadata, serializer + ) + if that.result is not None: + _write_list_of_instances("result", "result", that.result, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_get_submodel_elements_value_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.GetSubmodelElementsValueResult, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_paging_metadata_as_element( + "pagingMetadata", "paging_metadata", that.paging_metadata, serializer + ) + if that.result is not None: + _write_json_object_as_element("result", "result", that.result, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_get_all_submodels_recent_changes_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.GetAllSubmodelsRecentChangesResult, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_paging_metadata_as_element( + "pagingMetadata", "paging_metadata", that.paging_metadata, serializer + ) + if that.result is not None: + _write_list_of_instances("result", "result", that.result, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_get_submodels_metadata_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.GetSubmodelsMetadataResult, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_paging_metadata_as_element( + "pagingMetadata", "paging_metadata", that.paging_metadata, serializer + ) + if that.result is not None: + _write_list_of_instances("result", "result", that.result, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_get_submodels_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.GetSubmodelsResult, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_paging_metadata_as_element( + "pagingMetadata", "paging_metadata", that.paging_metadata, serializer + ) + if that.result is not None: + _write_list_of_instances("result", "result", that.result, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_get_submodels_value_result_as_element( + name: str, + prop_name: Optional[str], + that: our_types.GetSubmodelsValueResult, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_paging_metadata_as_element( + "pagingMetadata", "paging_metadata", that.paging_metadata, serializer + ) + if that.result is not None: + _write_json_object_as_element("result", "result", that.result, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_claim_attribute_as_element( + name: str, + prop_name: Optional[str], + that: our_types.ClaimAttribute, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("claim", "claim", that.claim, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_global_attribute_as_element( + name: str, + prop_name: Optional[str], + that: our_types.GlobalAttribute, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_enum_as_element("kind", "kind", that.kind, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_reference_attribute_as_element( + name: str, + prop_name: Optional[str], + that: our_types.ReferenceAttribute, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("reference", "reference", that.reference, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_date_time_attribute_item_as_element( + name: str, + prop_name: Optional[str], + that: our_types.DateTimeAttributeItem, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_enum_as_element("kind", "kind", that.kind, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_field_operand_as_element( + name: str, + prop_name: Optional[str], + that: our_types.FieldOperand, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("field", "field", that.field, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_string_literal_as_element( + name: str, + prop_name: Optional[str], + that: our_types.StringLiteral, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("strVal", "str_val", that.str_val, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_attribute_operand_as_element( + name: str, + prop_name: Optional[str], + that: our_types.AttributeOperand, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_nested_element("attribute", "attribute", that.attribute, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_number_literal_as_element( + name: str, + prop_name: Optional[str], + that: our_types.NumberLiteral, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_float_as_element("numVal", "num_val", that.num_val, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_hex_literal_as_element( + name: str, + prop_name: Optional[str], + that: our_types.HexLiteral, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("hexVal", "hex_val", that.hex_val, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_date_time_literal_as_element( + name: str, + prop_name: Optional[str], + that: our_types.DateTimeLiteral, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element( + "dateTimeVal", "date_time_val", that.date_time_val, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_time_literal_as_element( + name: str, + prop_name: Optional[str], + that: our_types.TimeLiteral, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("timeVal", "time_val", that.time_val, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_boolean_literal_as_element( + name: str, + prop_name: Optional[str], + that: our_types.BooleanLiteral, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_bool_as_element("boolean", "boolean", that.boolean, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_string_cast_as_element( + name: str, + prop_name: Optional[str], + that: our_types.StringCast, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_nested_element("strCast", "str_cast", that.str_cast, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_number_cast_as_element( + name: str, + prop_name: Optional[str], + that: our_types.NumberCast, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_nested_element("numCast", "num_cast", that.num_cast, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_hex_cast_as_element( + name: str, + prop_name: Optional[str], + that: our_types.HexCast, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_nested_element("hexCast", "hex_cast", that.hex_cast, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_boolean_cast_as_element( + name: str, + prop_name: Optional[str], + that: our_types.BooleanCast, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_nested_element("boolCast", "bool_cast", that.bool_cast, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_date_time_cast_as_element( + name: str, + prop_name: Optional[str], + that: our_types.DateTimeCast, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_nested_element( + "dateTimeCast", "date_time_cast", that.date_time_cast, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_time_cast_as_element( + name: str, + prop_name: Optional[str], + that: our_types.TimeCast, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_nested_element("timeCast", "time_cast", that.time_cast, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_day_of_week_as_element( + name: str, + prop_name: Optional[str], + that: our_types.DayOfWeek, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_nested_element("dayOfWeek", "day_of_week", that.day_of_week, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_day_of_month_as_element( + name: str, + prop_name: Optional[str], + that: our_types.DayOfMonth, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_nested_element( + "dayOfMonth", "day_of_month", that.day_of_month, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_month_as_element( + name: str, + prop_name: Optional[str], + that: our_types.Month, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_nested_element("month", "month", that.month, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_year_as_element( + name: str, prop_name: Optional[str], that: our_types.Year, serializer: "_Serializer" +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_nested_element("year", "year", that.year, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_date_time_attribute_operand_as_element( + name: str, + prop_name: Optional[str], + that: our_types.DateTimeAttributeOperand, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_date_time_attribute_item_as_element( + "attribute", "attribute", that.attribute, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_equal_comparison_as_element( + name: str, + prop_name: Optional[str], + that: our_types.EqualComparison, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_tuple2_of__value__value("eq", "eq", that.eq, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_not_equal_comparison_as_element( + name: str, + prop_name: Optional[str], + that: our_types.NotEqualComparison, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_tuple2_of__value__value("ne", "ne", that.ne, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_greater_than_comparison_as_element( + name: str, + prop_name: Optional[str], + that: our_types.GreaterThanComparison, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_tuple2_of__value__value("gt", "gt", that.gt, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_greater_than_or_equal_comparison_as_element( + name: str, + prop_name: Optional[str], + that: our_types.GreaterThanOrEqualComparison, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_tuple2_of__value__value("ge", "ge", that.ge, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_less_than_comparison_as_element( + name: str, + prop_name: Optional[str], + that: our_types.LessThanComparison, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_tuple2_of__value__value("lt", "lt", that.lt, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_less_than_or_equal_comparison_as_element( + name: str, + prop_name: Optional[str], + that: our_types.LessThanOrEqualComparison, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_tuple2_of__value__value("le", "le", that.le, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_contains_comparison_as_element( + name: str, + prop_name: Optional[str], + that: our_types.ContainsComparison, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_tuple2_of__string_value__string_value( + "contains", "contains", that.contains, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_starts_with_comparison_as_element( + name: str, + prop_name: Optional[str], + that: our_types.StartsWithComparison, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_tuple2_of__string_value__string_value( + "startsWith", "starts_with", that.starts_with, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_ends_with_comparison_as_element( + name: str, + prop_name: Optional[str], + that: our_types.EndsWithComparison, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_tuple2_of__string_value__string_value( + "endsWith", "ends_with", that.ends_with, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_regex_comparison_as_element( + name: str, + prop_name: Optional[str], + that: our_types.RegexComparison, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_tuple2_of__string_value__string_value( + "regex", "regex", that.regex, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_match_clause_as_element( + name: str, + prop_name: Optional[str], + that: our_types.MatchClause, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_list_of_instances( + "matchOperands", "match_operands", that.match_operands, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_and_expression_as_element( + name: str, + prop_name: Optional[str], + that: our_types.AndExpression, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_list_of_instances( + "andOperands", "and_operands", that.and_operands, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_or_expression_as_element( + name: str, + prop_name: Optional[str], + that: our_types.OrExpression, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_list_of_instances( + "orOperands", "or_operands", that.or_operands, serializer + ) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_not_expression_as_element( + name: str, + prop_name: Optional[str], + that: our_types.NotExpression, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_nested_element("notOperand", "not_operand", that.not_operand, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_query_filter_as_element( + name: str, + prop_name: Optional[str], + that: our_types.QueryFilter, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + _write_str_as_element("fragment", "fragment", that.fragment, serializer) + _write_nested_element("condition", "condition", that.condition, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +def _write_query_as_element( + name: str, + prop_name: Optional[str], + that: our_types.Query, + serializer: "_Serializer", +) -> None: + """ + Write :paramref:`that` enclosed in the :paramref:`name` element. + + :param name: of the element tag. Expected to contain no XML special characters. + :param prop_name: + name of the property, as spelled in Python, whose value is written, or + ``None`` if the access to the value is recorded by an enclosing writer + :param that: instance to be serialized + :param serializer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + try: + serializer.writer.write_start_element(name) + if that.select is not None: + _write_enum_as_element("select", "select", that.select, serializer) + _write_nested_element("condition", "condition", that.condition, serializer) + if that.filters is not None: + _write_list_of_instances("filters", "filters", that.filters, serializer) + serializer.writer.write_end_element(name) + except Exception as exception: + _attribute_to_property(exception, prop_name) + + +class _Serializer(our_types.AbstractVisitor): + """Encode instances as XML and write them to :py:attr:`~writer`.""" + + #: Frame the XML elements of the document which we are writing + writer: Final[our_xmlcommon.Writer] + + def __init__(self, stream: TextIO) -> None: + """ + Initialize the visitor to write to :paramref:`stream`. + + The first element will include the :py:attr:`~.NAMESPACE`. Every other + element will not have the namespace specified. + + :param stream: where to write to + """ + self.writer = our_xmlcommon.Writer(stream) + + def visit_extension(self, that: our_types.Extension) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_extension_as_element("extension", None, that, self) + + def visit_administrative_information( + self, that: our_types.AdministrativeInformation + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_administrative_information_as_element( + "administrativeInformation", None, that, self + ) + + def visit_qualifier(self, that: our_types.Qualifier) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_qualifier_as_element("qualifier", None, that, self) + + def visit_asset_administration_shell( + self, that: our_types.AssetAdministrationShell + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_asset_administration_shell_as_element( + "assetAdministrationShell", None, that, self + ) + + def visit_asset_information(self, that: our_types.AssetInformation) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_asset_information_as_element("assetInformation", None, that, self) + + def visit_resource(self, that: our_types.Resource) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_resource_as_element("resource", None, that, self) + + def visit_specific_asset_id(self, that: our_types.SpecificAssetID) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_specific_asset_id_as_element("specificAssetId", None, that, self) + + def visit_submodel(self, that: our_types.Submodel) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_submodel_as_element("submodel", None, that, self) + + def visit_relationship_element(self, that: our_types.RelationshipElement) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_relationship_element_as_element("relationshipElement", None, that, self) + + def visit_submodel_element_list(self, that: our_types.SubmodelElementList) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_submodel_element_list_as_element("submodelElementList", None, that, self) + + def visit_submodel_element_collection( + self, that: our_types.SubmodelElementCollection + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_submodel_element_collection_as_element( + "submodelElementCollection", None, that, self + ) + + def visit_property(self, that: our_types.Property) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_property_as_element("property", None, that, self) + + def visit_multi_language_property( + self, that: our_types.MultiLanguageProperty + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_multi_language_property_as_element( + "multiLanguageProperty", None, that, self + ) + + def visit_range(self, that: our_types.Range) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_range_as_element("range", None, that, self) + + def visit_reference_element(self, that: our_types.ReferenceElement) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_reference_element_as_element("referenceElement", None, that, self) + + def visit_blob(self, that: our_types.Blob) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_blob_as_element("blob", None, that, self) + + def visit_file(self, that: our_types.File) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_file_as_element("file", None, that, self) + + def visit_annotated_relationship_element( + self, that: our_types.AnnotatedRelationshipElement + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_annotated_relationship_element_as_element( + "annotatedRelationshipElement", None, that, self + ) + + def visit_entity(self, that: our_types.Entity) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_entity_as_element("entity", None, that, self) + + def visit_event_payload(self, that: our_types.EventPayload) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_event_payload_as_element("eventPayload", None, that, self) + + def visit_basic_event_element(self, that: our_types.BasicEventElement) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_basic_event_element_as_element("basicEventElement", None, that, self) + + def visit_operation(self, that: our_types.Operation) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_operation_as_element("operation", None, that, self) + + def visit_operation_variable(self, that: our_types.OperationVariable) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_operation_variable_as_element("operationVariable", None, that, self) + + def visit_capability(self, that: our_types.Capability) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_capability_as_element("capability", None, that, self) + + def visit_concept_description(self, that: our_types.ConceptDescription) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_concept_description_as_element("conceptDescription", None, that, self) + + def visit_reference(self, that: our_types.Reference) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_reference_as_element("reference", None, that, self) + + def visit_key(self, that: our_types.Key) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_key_as_element("key", None, that, self) + + def visit_lang_string_name_type(self, that: our_types.LangStringNameType) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_lang_string_name_type_as_element("langStringNameType", None, that, self) + + def visit_lang_string_text_type(self, that: our_types.LangStringTextType) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_lang_string_text_type_as_element("langStringTextType", None, that, self) + + def visit_environment(self, that: our_types.Environment) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_environment_as_element("environment", None, that, self) + + def visit_embedded_data_specification( + self, that: our_types.EmbeddedDataSpecification + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_embedded_data_specification_as_element( + "embeddedDataSpecification", None, that, self + ) + + def visit_level_type(self, that: our_types.LevelType) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_level_type_as_element("levelType", None, that, self) + + def visit_value_reference_pair(self, that: our_types.ValueReferencePair) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_value_reference_pair_as_element("valueReferencePair", None, that, self) + + def visit_value_list(self, that: our_types.ValueList) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_value_list_as_element("valueList", None, that, self) + + def visit_lang_string_preferred_name_type_iec_61360( + self, that: our_types.LangStringPreferredNameTypeIEC61360 + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_lang_string_preferred_name_type_iec_61360_as_element( + "langStringPreferredNameTypeIec61360", None, that, self + ) + + def visit_lang_string_short_name_type_iec_61360( + self, that: our_types.LangStringShortNameTypeIEC61360 + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_lang_string_short_name_type_iec_61360_as_element( + "langStringShortNameTypeIec61360", None, that, self + ) + + def visit_lang_string_definition_type_iec_61360( + self, that: our_types.LangStringDefinitionTypeIEC61360 + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_lang_string_definition_type_iec_61360_as_element( + "langStringDefinitionTypeIec61360", None, that, self + ) + + def visit_lang_string_uom(self, that: our_types.LangStringUom) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_lang_string_uom_as_element("langStringUom", None, that, self) + + def visit_definition_type_uom(self, that: our_types.DefinitionTypeUom) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_definition_type_uom_as_element("definitionTypeUom", None, that, self) + + def visit_data_specification_uom( + self, that: our_types.DataSpecificationUom + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_data_specification_uom_as_element( + "dataSpecificationUom", None, that, self + ) + + def visit_data_specification_iec_61360( + self, that: our_types.DataSpecificationIEC61360 + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_data_specification_iec_61360_as_element( + "dataSpecificationIec61360", None, that, self + ) + + def visit_asset_administration_shell_descriptor( + self, that: our_types.AssetAdministrationShellDescriptor + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_asset_administration_shell_descriptor_as_element( + "assetAdministrationShellDescriptor", None, that, self + ) + + def visit_submodel_descriptor(self, that: our_types.SubmodelDescriptor) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_submodel_descriptor_as_element("submodelDescriptor", None, that, self) + + def visit_endpoint(self, that: our_types.Endpoint) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_endpoint_as_element("endpoint", None, that, self) + + def visit_protocol_information(self, that: our_types.ProtocolInformation) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_protocol_information_as_element("protocolInformation", None, that, self) + + def visit_security_attribute_object( + self, that: our_types.SecurityAttributeObject + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_security_attribute_object_as_element( + "securityAttributeObject", None, that, self + ) + + def visit_asset_link(self, that: our_types.AssetLink) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_asset_link_as_element("assetLink", None, that, self) + + def visit_service_description(self, that: our_types.ServiceDescription) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_service_description_as_element("serviceDescription", None, that, self) + + def visit_asset_administration_shell_recent_change( + self, that: our_types.AssetAdministrationShellRecentChange + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_asset_administration_shell_recent_change_as_element( + "assetAdministrationShellRecentChange", None, that, self + ) + + def visit_concept_description_recent_change( + self, that: our_types.ConceptDescriptionRecentChange + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_concept_description_recent_change_as_element( + "conceptDescriptionRecentChange", None, that, self + ) + + def visit_submodel_recent_change( + self, that: our_types.SubmodelRecentChange + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_submodel_recent_change_as_element( + "submodelRecentChange", None, that, self + ) + + def visit_result(self, that: our_types.Result) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_result_as_element("result", None, that, self) + + def visit_message(self, that: our_types.Message) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_message_as_element("message", None, that, self) + + def visit_operation_request(self, that: our_types.OperationRequest) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_operation_request_as_element("operationRequest", None, that, self) + + def visit_operation_request_async( + self, that: our_types.OperationRequestAsync + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_operation_request_async_as_element( + "operationRequestAsync", None, that, self + ) + + def visit_operation_request_value_only( + self, that: our_types.OperationRequestValueOnly + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_operation_request_value_only_as_element( + "operationRequestValueOnly", None, that, self + ) + + def visit_operation_request_async_value_only( + self, that: our_types.OperationRequestAsyncValueOnly + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_operation_request_async_value_only_as_element( + "operationRequestAsyncValueOnly", None, that, self + ) + + def visit_base_operation_result(self, that: our_types.BaseOperationResult) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_base_operation_result_as_element("baseOperationResult", None, that, self) + + def visit_operation_result(self, that: our_types.OperationResult) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_operation_result_as_element("operationResult", None, that, self) + + def visit_operation_result_value_only( + self, that: our_types.OperationResultValueOnly + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_operation_result_value_only_as_element( + "operationResultValueOnly", None, that, self + ) + + def visit_operation_handle(self, that: our_types.OperationHandle) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_operation_handle_as_element("operationHandle", None, that, self) + + def visit_paged_result(self, that: our_types.PagedResult) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_paged_result_as_element("pagedResult", None, that, self) + + def visit_paging_metadata(self, that: our_types.PagingMetadata) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_paging_metadata_as_element("pagingMetadata", None, that, self) + + def visit_package_description(self, that: our_types.PackageDescription) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_package_description_as_element("packageDescription", None, that, self) + + def visit_property_metadata(self, that: our_types.PropertyMetadata) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_property_metadata_as_element("propertyMetadata", None, that, self) + + def visit_range_metadata(self, that: our_types.RangeMetadata) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_range_metadata_as_element("rangeMetadata", None, that, self) + + def visit_blob_metadata(self, that: our_types.BlobMetadata) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_blob_metadata_as_element("blobMetadata", None, that, self) + + def visit_file_metadata(self, that: our_types.FileMetadata) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_file_metadata_as_element("fileMetadata", None, that, self) + + def visit_multi_language_property_metadata( + self, that: our_types.MultiLanguagePropertyMetadata + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_multi_language_property_metadata_as_element( + "multiLanguagePropertyMetadata", None, that, self + ) + + def visit_reference_element_metadata( + self, that: our_types.ReferenceElementMetadata + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_reference_element_metadata_as_element( + "referenceElementMetadata", None, that, self + ) + + def visit_relationship_element_metadata( + self, that: our_types.RelationshipElementMetadata + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_relationship_element_metadata_as_element( + "relationshipElementMetadata", None, that, self + ) + + def visit_annotated_relationship_element_metadata( + self, that: our_types.AnnotatedRelationshipElementMetadata + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_annotated_relationship_element_metadata_as_element( + "annotatedRelationshipElementMetadata", None, that, self + ) + + def visit_entity_metadata(self, that: our_types.EntityMetadata) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_entity_metadata_as_element("entityMetadata", None, that, self) + + def visit_capability_metadata(self, that: our_types.CapabilityMetadata) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_capability_metadata_as_element("capabilityMetadata", None, that, self) + + def visit_operation_metadata(self, that: our_types.OperationMetadata) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_operation_metadata_as_element("operationMetadata", None, that, self) + + def visit_submodel_element_collection_metadata( + self, that: our_types.SubmodelElementCollectionMetadata + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_submodel_element_collection_metadata_as_element( + "submodelElementCollectionMetadata", None, that, self + ) + + def visit_basic_event_element_metadata( + self, that: our_types.BasicEventElementMetadata + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_basic_event_element_metadata_as_element( + "basicEventElementMetadata", None, that, self + ) + + def visit_submodel_element_list_metadata( + self, that: our_types.SubmodelElementListMetadata + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_submodel_element_list_metadata_as_element( + "submodelElementListMetadata", None, that, self + ) + + def visit_submodel_metadata(self, that: our_types.SubmodelMetadata) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_submodel_metadata_as_element("submodelMetadata", None, that, self) + + def visit_asset_administration_shell_metadata( + self, that: our_types.AssetAdministrationShellMetadata + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_asset_administration_shell_metadata_as_element( + "assetAdministrationShellMetadata", None, that, self + ) + + def visit_reference_element_value( + self, that: our_types.ReferenceElementValue + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_reference_element_value_as_element( + "referenceElementValue", None, that, self + ) + + def visit_blob_value(self, that: our_types.BlobValue) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_blob_value_as_element("blobValue", None, that, self) + + def visit_file_value(self, that: our_types.FileValue) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_file_value_as_element("fileValue", None, that, self) + + def visit_range_value(self, that: our_types.RangeValue) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_range_value_as_element("rangeValue", None, that, self) + + def visit_relationship_element_value( + self, that: our_types.RelationshipElementValue + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_relationship_element_value_as_element( + "relationshipElementValue", None, that, self + ) + + def visit_basic_event_element_value( + self, that: our_types.BasicEventElementValue + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_basic_event_element_value_as_element( + "basicEventElementValue", None, that, self + ) + + def visit_annotated_relationship_element_value( + self, that: our_types.AnnotatedRelationshipElementValue + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_annotated_relationship_element_value_as_element( + "annotatedRelationshipElementValue", None, that, self + ) + + def visit_entity_value(self, that: our_types.EntityValue) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_entity_value_as_element("entityValue", None, that, self) + + def visit_get_asset_administration_shells_result( + self, that: our_types.GetAssetAdministrationShellsResult + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_get_asset_administration_shells_result_as_element( + "getAssetAdministrationShellsResult", None, that, self + ) + + def visit_get_asset_administration_shells_metadata_result( + self, that: our_types.GetAssetAdministrationShellsMetadataResult + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_get_asset_administration_shells_metadata_result_as_element( + "getAssetAdministrationShellsMetadataResult", None, that, self + ) + + def visit_get_all_asset_administration_shells_recent_changes_result( + self, that: our_types.GetAllAssetAdministrationShellsRecentChangesResult + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_get_all_asset_administration_shells_recent_changes_result_as_element( + "getAllAssetAdministrationShellsRecentChangesResult", None, that, self + ) + + def visit_get_asset_administration_shell_descriptors_result( + self, that: our_types.GetAssetAdministrationShellDescriptorsResult + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_get_asset_administration_shell_descriptors_result_as_element( + "getAssetAdministrationShellDescriptorsResult", None, that, self + ) + + def visit_get_concept_descriptions_result( + self, that: our_types.GetConceptDescriptionsResult + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_get_concept_descriptions_result_as_element( + "getConceptDescriptionsResult", None, that, self + ) + + def visit_get_all_concept_descriptions_recent_changes_result( + self, that: our_types.GetAllConceptDescriptionsRecentChangesResult + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_get_all_concept_descriptions_recent_changes_result_as_element( + "getAllConceptDescriptionsRecentChangesResult", None, that, self + ) + + def visit_get_package_descriptions_result( + self, that: our_types.GetPackageDescriptionsResult + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_get_package_descriptions_result_as_element( + "getPackageDescriptionsResult", None, that, self + ) + + def visit_get_path_items_result(self, that: our_types.GetPathItemsResult) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_get_path_items_result_as_element("getPathItemsResult", None, that, self) + + def visit_get_references_result(self, that: our_types.GetReferencesResult) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_get_references_result_as_element("getReferencesResult", None, that, self) + + def visit_get_submodel_descriptors_result( + self, that: our_types.GetSubmodelDescriptorsResult + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_get_submodel_descriptors_result_as_element( + "getSubmodelDescriptorsResult", None, that, self + ) + + def visit_get_submodel_elements_metadata_result( + self, that: our_types.GetSubmodelElementsMetadataResult + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_get_submodel_elements_metadata_result_as_element( + "getSubmodelElementsMetadataResult", None, that, self + ) + + def visit_get_submodel_elements_result( + self, that: our_types.GetSubmodelElementsResult + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_get_submodel_elements_result_as_element( + "getSubmodelElementsResult", None, that, self + ) + + def visit_get_submodel_elements_value_result( + self, that: our_types.GetSubmodelElementsValueResult + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_get_submodel_elements_value_result_as_element( + "getSubmodelElementsValueResult", None, that, self + ) + + def visit_get_all_submodels_recent_changes_result( + self, that: our_types.GetAllSubmodelsRecentChangesResult + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_get_all_submodels_recent_changes_result_as_element( + "getAllSubmodelsRecentChangesResult", None, that, self + ) + + def visit_get_submodels_metadata_result( + self, that: our_types.GetSubmodelsMetadataResult + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_get_submodels_metadata_result_as_element( + "getSubmodelsMetadataResult", None, that, self + ) + + def visit_get_submodels_result(self, that: our_types.GetSubmodelsResult) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_get_submodels_result_as_element("getSubmodelsResult", None, that, self) + + def visit_get_submodels_value_result( + self, that: our_types.GetSubmodelsValueResult + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_get_submodels_value_result_as_element( + "getSubmodelsValueResult", None, that, self + ) + + def visit_claim_attribute(self, that: our_types.ClaimAttribute) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_claim_attribute_as_element("claimAttribute", None, that, self) + + def visit_global_attribute(self, that: our_types.GlobalAttribute) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_global_attribute_as_element("globalAttribute", None, that, self) + + def visit_reference_attribute(self, that: our_types.ReferenceAttribute) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_reference_attribute_as_element("referenceAttribute", None, that, self) + + def visit_date_time_attribute_item( + self, that: our_types.DateTimeAttributeItem + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_date_time_attribute_item_as_element( + "dateTimeAttributeItem", None, that, self + ) + + def visit_field_operand(self, that: our_types.FieldOperand) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_field_operand_as_element("fieldOperand", None, that, self) + + def visit_string_literal(self, that: our_types.StringLiteral) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_string_literal_as_element("stringLiteral", None, that, self) + + def visit_attribute_operand(self, that: our_types.AttributeOperand) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_attribute_operand_as_element("attributeOperand", None, that, self) + + def visit_number_literal(self, that: our_types.NumberLiteral) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_number_literal_as_element("numberLiteral", None, that, self) + + def visit_hex_literal(self, that: our_types.HexLiteral) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_hex_literal_as_element("hexLiteral", None, that, self) + + def visit_date_time_literal(self, that: our_types.DateTimeLiteral) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_date_time_literal_as_element("dateTimeLiteral", None, that, self) + + def visit_time_literal(self, that: our_types.TimeLiteral) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_time_literal_as_element("timeLiteral", None, that, self) + + def visit_boolean_literal(self, that: our_types.BooleanLiteral) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_boolean_literal_as_element("booleanLiteral", None, that, self) + + def visit_string_cast(self, that: our_types.StringCast) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_string_cast_as_element("stringCast", None, that, self) + + def visit_number_cast(self, that: our_types.NumberCast) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_number_cast_as_element("numberCast", None, that, self) + + def visit_hex_cast(self, that: our_types.HexCast) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_hex_cast_as_element("hexCast", None, that, self) + + def visit_boolean_cast(self, that: our_types.BooleanCast) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_boolean_cast_as_element("booleanCast", None, that, self) + + def visit_date_time_cast(self, that: our_types.DateTimeCast) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_date_time_cast_as_element("dateTimeCast", None, that, self) + + def visit_time_cast(self, that: our_types.TimeCast) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_time_cast_as_element("timeCast", None, that, self) + + def visit_day_of_week(self, that: our_types.DayOfWeek) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_day_of_week_as_element("dayOfWeek", None, that, self) + + def visit_day_of_month(self, that: our_types.DayOfMonth) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_day_of_month_as_element("dayOfMonth", None, that, self) + + def visit_month(self, that: our_types.Month) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_month_as_element("month", None, that, self) + + def visit_year(self, that: our_types.Year) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_year_as_element("year", None, that, self) + + def visit_date_time_attribute_operand( + self, that: our_types.DateTimeAttributeOperand + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_date_time_attribute_operand_as_element( + "dateTimeAttributeOperand", None, that, self + ) + + def visit_equal_comparison(self, that: our_types.EqualComparison) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_equal_comparison_as_element("equalComparison", None, that, self) + + def visit_not_equal_comparison(self, that: our_types.NotEqualComparison) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_not_equal_comparison_as_element("notEqualComparison", None, that, self) + + def visit_greater_than_comparison( + self, that: our_types.GreaterThanComparison + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_greater_than_comparison_as_element( + "greaterThanComparison", None, that, self + ) + + def visit_greater_than_or_equal_comparison( + self, that: our_types.GreaterThanOrEqualComparison + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_greater_than_or_equal_comparison_as_element( + "greaterThanOrEqualComparison", None, that, self + ) + + def visit_less_than_comparison(self, that: our_types.LessThanComparison) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_less_than_comparison_as_element("lessThanComparison", None, that, self) + + def visit_less_than_or_equal_comparison( + self, that: our_types.LessThanOrEqualComparison + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_less_than_or_equal_comparison_as_element( + "lessThanOrEqualComparison", None, that, self + ) + + def visit_contains_comparison(self, that: our_types.ContainsComparison) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_contains_comparison_as_element("containsComparison", None, that, self) + + def visit_starts_with_comparison( + self, that: our_types.StartsWithComparison + ) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_starts_with_comparison_as_element( + "startsWithComparison", None, that, self + ) + + def visit_ends_with_comparison(self, that: our_types.EndsWithComparison) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_ends_with_comparison_as_element("endsWithComparison", None, that, self) + + def visit_regex_comparison(self, that: our_types.RegexComparison) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_regex_comparison_as_element("regexComparison", None, that, self) + + def visit_match_clause(self, that: our_types.MatchClause) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_match_clause_as_element("matchClause", None, that, self) + + def visit_and_expression(self, that: our_types.AndExpression) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_and_expression_as_element("andExpression", None, that, self) + + def visit_or_expression(self, that: our_types.OrExpression) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_or_expression_as_element("orExpression", None, that, self) + + def visit_not_expression(self, that: our_types.NotExpression) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_not_expression_as_element("notExpression", None, that, self) + + def visit_query_filter(self, that: our_types.QueryFilter) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_query_filter_as_element("queryFilter", None, that, self) + + def visit_query(self, that: our_types.Query) -> None: + """ + Serialize :paramref:`that` to :py:attr:`~stream` as an XML element. + + The enclosing XML element designates the class of the instance, where its + children correspond to the properties of the instance. + + :param that: instance to be serialized + """ + _write_query_as_element("query", None, that, self) + + +def write(instance: our_types.Class, stream: TextIO) -> None: + """ + Write the XML representation of :paramref:`instance` to :paramref:`stream`. + + Example usage: + + .. code-block:: + + import pathlib + + import aas_core3_2.types as our_types + import aas_core3_2.xmlization as our_xmlization + + instance = Extension( + ... # some constructor arguments + ) + + pth = pathlib.Path(...) + with pth.open("wt") as fid: + our_xmlization.write(instance, fid) + + :param instance: to be serialized + :param stream: to write to + :raise: + :py:class:`SerializationException` if :paramref:`instance` could not be + serialized + """ + serializer = _Serializer(stream) + + try: + serializer.visit(instance) + except Exception as exception: + _attribute_to_property(exception, None) + + +def to_str(that: our_types.Class) -> str: + """ + Serialize :paramref:`that` to an XML-encoded text. + + :param that: instance to be serialized + :raise: + :py:class:`SerializationException` if :paramref:`that` could not be + serialized + :return: :paramref:`that` serialized to XML serialized to text + """ + writer = io.StringIO() + write(that, writer) + return writer.getvalue() + + +# endregion diff --git a/aas_core3_2/xmlrpc.py b/aas_core3_2/xmlrpc.py new file mode 100644 index 0000000..cb0835c --- /dev/null +++ b/aas_core3_2/xmlrpc.py @@ -0,0 +1,570 @@ +""" +Read and write the JSON-able values as a subset of XML-RPC. + +JSON prescribes no XML representation of its own, so we borrow the one of +XML-RPC for it: a value is written as a single discriminator element -- +````, ````, ````, ```` or ```` -- +which says what the value is. + +This module knows nothing of the meta-model beyond the JSON-able types, and +it drives no document of its own. The caller hands over the very stream of +``(event, element)`` tuples, or the very +:py:class:`aas_core3_2.xmlcommon.Writer`, with which +the enclosing document is being read or written, so that a JSON-able property +is read and written in the same pass as everything around it. + +These elements reside in no namespace at all, as the XML-RPC specification +prescribes, and not in the namespace of the enclosing document. The outermost +one therefore undeclares the default namespace with ``xmlns=""``, and +the elements nested in it inherit that. +""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import collections.abc +import math +import re +from typing import Any, Dict, Iterator, List, Tuple + +import aas_core3_2.common as our_common +import aas_core3_2.types as our_types +from aas_core3_2.xmlcommon import ( + DeserializationException, + Element, + ElementSegment, + IndexSegment, + KeySegment, + SerializationException, + Writer, + collapse_whitespace, + parse_unqualified_element_tag, + raise_if_has_tail_or_attrib, + raise_if_non_whitespace_text, + read_end_element, + read_next_start_element, + read_str_from_element_text, + read_text_from_element, +) + +# region De-serialization + + +def read_value_content( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.JsonValue: + """ + Read the content of :paramref:`element` as a JSON-able value. + + The content is a single discriminator element -- ````, + ````, ````, ```` or ```` -- which says what + the value is. + + The end element corresponding to :paramref:`element` will be read as well. + + :param element: start element enclosing the discriminator + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed JSON-able value + """ + raise_if_has_tail_or_attrib(element) + raise_if_non_whitespace_text(element, "a discriminator element") + + discriminator = read_next_start_element( + iterator, + "a discriminator " + "(one of , , , or )", + ) + + result = _read_discriminator(discriminator, iterator) + + read_end_element(element, iterator) + + return result + + +#: Match a numeral of the ```` lexical space. +#: +#: This is the numeric part of the lexical space of ``xs:double``, and +#: deliberately not its three named literals -- ``INF``, ``-INF`` and ``NaN`` +#: -- since a JSON number can be none of them. +#: +#: Mind the explicit ``[0-9]``: ``\d`` would match a digit of any script, so +#: the Arabic-Indic ``۵`` would pass, and :py:func:`float` would read it +#: as 5. +#: +#: See: https://www.w3.org/TR/xmlschema-2/#double +_DOUBLE_RE = re.compile(r"(\+|-)?([0-9]+(\.[0-9]*)?|\.[0-9]+)([Ee](\+|-)?[0-9]+)?") + + +def _read_discriminator( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.JsonValue: + """ + Read :paramref:`element` as one of the five XML-RPC discriminators. + + The end element corresponding to :paramref:`element` will be read as well. + + :param element: start element of the discriminator + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed JSON-able value + """ + tag_wo_ns = parse_unqualified_element_tag(element) + + # NOTE (mristin): + # The discriminator is an element which we actually enter, so it is a step + # of the path. The one case which gets no step is the element which is no + # discriminator at all, raised below and outside of this ``try``: it is that + # very element which does not belong here, so naming it in the path as well + # as in the message would say nothing more. + try: + if tag_wo_ns == "boolean": + # NOTE (mristin): + # Real XML-RPC tooling writes and expects a strict ``1``/``0``, and not + # the ``true``/``false`` which ``xs:boolean`` and the xmlization use. + text = collapse_whitespace(read_text_from_element(element, iterator)) + if text == "1": + return True + if text == "0": + return False + + raise DeserializationException( + f'Expected "0" or "1" as the text of a element, ' + f"but got: {text!r}" + ) + + if tag_wo_ns == "double": + text = collapse_whitespace(read_text_from_element(element, iterator)) + + # NOTE (mristin): + # The lexical form is matched before the text is converted. ``float`` + # reads far more than we admit here: a hexadecimal significand, so + # "0x10" would come out as 16, an underscore separator, and + # the spellings "inf", "infinity" and "nan". + # + # Mind that the numeral excludes "INF", "-INF" and "NaN" on purpose, + # unlike ``xs:double``, which names all three. A carries + # a JSON number, and JSON knows neither an infinity nor + # a not-a-number, so there is no JSON-able value for such a text + # to de-serialize into. + if _DOUBLE_RE.fullmatch(text) is None: + raise DeserializationException( + f"Expected a number as the text of a element, " + f"but got: {text!r}" + ) + + number = float(text) + + # NOTE (mristin): + # A literal too large for a ``float`` gives an infinity, which is no + # JSON-able value either, so it is refused rather than rounded. + if not math.isfinite(number): + raise DeserializationException( + f"Expected a number representable as a JSON-able value as " + f"the text of a element, but got a value which " + f"rounds to an infinity: {text!r}" + ) + + return number + + if tag_wo_ns == "string": + # NOTE (mristin): + # ``xs:string`` is ``preserve`` and not ``collapse``, so a + # keeps its whitespace, unlike a or a . + return read_str_from_element_text(element, iterator) + + if tag_wo_ns == "array": + return read_array_body(element, iterator) + + if tag_wo_ns == "struct": + return read_struct_body(element, iterator) + except DeserializationException as exception: + exception.path._prepend(ElementSegment(element)) + raise + + raise DeserializationException( + f"Expected a discriminator element " + f"(one of , , , or ), " + f"but got: {tag_wo_ns!r}" + ) + + +def read_array_body( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.JsonArray: + """ + Read the content of :paramref:`element` as a ```` of ````'s. + + The end element corresponding to :paramref:`element` will be read as well. + + :param element: start element enclosing the ```` + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed JSON-able array + """ + raise_if_has_tail_or_attrib(element) + + raise_if_non_whitespace_text(element, "a element") + + data_element = read_next_start_element(iterator, "a element") + if parse_unqualified_element_tag(data_element) != "data": + raise DeserializationException( + f"Expected a start element , " f"but got element {data_element.tag!r}" + ) + + # NOTE (mristin): + # The element is a step of the path, as we enter it, and so is + # the position of an item. The item's own element is not: the index + # already names it, so a step of its own would say nothing more. + try: + raise_if_non_whitespace_text(data_element, " elements") + + result: List[Any] = [] + + while True: + # NOTE (mristin): + # We pull the next item element here instead of delegating it to + # a helper, as this loop runs once for every item of every array. + next_event_element = next(iterator, None) + if next_event_element is None: + raise DeserializationException( + f"Expected a element or the end element corresponding " + f"to {data_element.tag}, but got the end-of-input" + ) + + next_event, item_element = next_event_element + if next_event == "end" and item_element.tag == data_element.tag: + # We reached the end element enclosing the items. + break + + if next_event != "start": + raise DeserializationException( + f"Expected a start element corresponding to an item, " + f"but got event {next_event!r} " + f"and element {item_element.tag!r}" + ) + + try: + item = read_value_element(item_element, iterator) + except DeserializationException as exception: + exception.path._prepend(IndexSegment(item_element, len(result))) + raise + + result.append(item) + except DeserializationException as exception: + exception.path._prepend(ElementSegment(data_element)) + raise + + read_end_element(element, iterator) + + return result + + +def read_value_element( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.JsonValue: + """ + Read :paramref:`element`, which has to be a ````, as a JSON-able value. + + The end element corresponding to :paramref:`element` will be read as well. + + :param element: start element, expected to be a ```` + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed JSON-able value + """ + tag_wo_ns = parse_unqualified_element_tag(element) + if tag_wo_ns != "value": + raise DeserializationException( + f"Expected a start element , but got: {tag_wo_ns!r}" + ) + + return read_value_content(element, iterator) + + +def read_struct_body( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> our_types.JsonObject: + """ + Read the content of :paramref:`element` as a sequence of ````'s. + + The end element corresponding to :paramref:`element` will be read as well. + + :param element: start element enclosing the members + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: parsed JSON-able object + """ + raise_if_has_tail_or_attrib(element) + + raise_if_non_whitespace_text(element, " elements") + + result: Dict[str, Any] = {} + + while True: + next_event_element = next(iterator, None) + if next_event_element is None: + raise DeserializationException( + f"Expected a element or the end element corresponding " + f"to {element.tag}, but got the end-of-input" + ) + + next_event, member_element = next_event_element + if next_event == "end" and member_element.tag == element.tag: + break + + if ( + next_event != "start" + or parse_unqualified_element_tag(member_element) != "member" + ): + raise DeserializationException( + f"Expected a start element , but got " + f"event {next_event!r} and element {member_element.tag!r}" + ) + + key, value = _read_member(member_element, iterator) + + # NOTE (mristin): + # A repeated name is refused, just as a repeated property + # element is refused in the xmlization. Letting the later member win + # would silently accept a document which says two different things + # about the same key. + if key in result: + exception = DeserializationException("The member occurred more than once") + exception.path._prepend(KeySegment(member_element, key)) + raise exception + + result[key] = value + + return result + + +def _read_member( + element: Element, iterator: Iterator[Tuple[str, Element]] +) -> Tuple[str, our_types.JsonValue]: + """ + Read :paramref:`element`, a ````, as a key and a JSON-able value. + + The end element corresponding to :paramref:`element` will be read as well. + + :param element: start element of the ```` + :param iterator: + Input stream of ``(event, element)`` coming from + :py:func:`xml.etree.ElementTree.iterparse` with the argument + ``events=["start", "end"]`` + :raise: :py:class:`DeserializationException` if unexpected input + :return: the member's name and its parsed value + """ + raise_if_has_tail_or_attrib(element) + + raise_if_non_whitespace_text(element, "a and a element") + + name_element = read_next_start_element(iterator, "a element") + if parse_unqualified_element_tag(name_element) != "name": + raise DeserializationException( + f"Expected a start element , " f"but got element {name_element.tag!r}" + ) + + key = read_str_from_element_text(name_element, iterator) + + # NOTE (mristin): + # From here on the key is known, so every failure can name the member it + # belongs to. A carries the key of a member in a child + # element instead of in an attribute, so the key segment renders as + # a predicate on that child element, and the element itself gets + # no step of its own. + try: + value_element = read_next_start_element(iterator, "a element") + + try: + value = read_value_element(value_element, iterator) + except DeserializationException as exception: + exception.path._prepend(ElementSegment(value_element)) + raise + except DeserializationException as exception: + exception.path._prepend(KeySegment(element, key)) + raise + + read_end_element(element, iterator) + + return key, value + + +# endregion + + +# region Serialization + + +def write_discriminator(value: our_types.JsonValue, writer: Writer) -> None: + """ + Write :paramref:`value` as one of the five XML-RPC discriminators. + + :param value: to be serialized + :param writer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + # NOTE (mristin): + # A ``bool`` is an ``int`` in Python, so it has to be checked first -- + # otherwise every boolean would be written as a number. + if isinstance(value, bool): + # NOTE (mristin): + # Real XML-RPC tooling writes and expects a strict ``1``/``0``, and not + # the ``true``/``false`` which ``xs:boolean`` and the xmlization use. + writer.write_start_element_in_no_namespace("boolean") + writer.stream.write("1" if value else "0") + writer.write_end_element_in_no_namespace("boolean") + return + + if isinstance(value, int): + # NOTE (mristin): + # An ``int`` is written out as it stands, free of the fraction which + # a ``float`` carries. JSON knows a single numeric type, though, so + # it has to be one which a ``float`` can hold exactly -- otherwise + # a reader, which reads every as a ``float``, would get + # a different number back. + if our_common.try_to_convert_int_to_float(value) is None: + raise SerializationException( + f"Expected a JSON-able value, but got the integer {value}, " + f"which is not exactly representable as a JSON number" + ) + + writer.write_start_element_in_no_namespace("double") + writer.stream.write(str(value)) + writer.write_end_element_in_no_namespace("double") + return + + if isinstance(value, float): + # NOTE (mristin): + # JSON knows neither an infinity nor a not-a-number, so neither is + # a JSON-able value, and ``_read_discriminator`` refuses to read + # either back. + if not math.isfinite(value): + raise SerializationException( + f"Expected a JSON-able value, but got the number {value}, " + f"which is neither finite nor representable in JSON" + ) + + writer.write_start_element_in_no_namespace("double") + + # NOTE (mristin): + # ``str`` spells a negative zero as "-0.0", but only if the sign is + # looked at: ``value == 0`` holds for both zeroes. + if value == 0 and math.copysign(1.0, value) < 0.0: + writer.stream.write("-0.0") + else: + writer.stream.write(str(value)) + + writer.write_end_element_in_no_namespace("double") + return + + if isinstance(value, str): + writer.write_start_element_in_no_namespace("string") + writer.stream.write( + value.replace("&", "&").replace("<", "<").replace(">", ">") + ) + writer.write_end_element_in_no_namespace("string") + return + + if isinstance(value, (dict, collections.abc.Mapping)): + writer.write_start_element_in_no_namespace("struct") + write_struct_body(value, writer) + writer.write_end_element_in_no_namespace("struct") + return + + array_like = our_common.try_to_cast_to_array_like(value) + if array_like is not None: + writer.write_start_element_in_no_namespace("array") + write_array_body(array_like, writer) + writer.write_end_element_in_no_namespace("array") + return + + raise SerializationException( + f"Expected a JSON-able value (a boolean, a number, a string, an array " + f"or an object), but got: {type(value)}" + ) + + +def write_array_body(value: our_types.JsonArray, writer: Writer) -> None: + """ + Write the ```` of the JSON-able array :paramref:`value`. + + The path of a failure points into :paramref:`value`, and not into + the document, which is only half written when the failure is raised: it is + the value which the caller holds and can look at. + + :param value: to be serialized + :param writer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + writer.write_start_element_in_no_namespace("data") + for i, item in enumerate(value): + writer.write_start_element_in_no_namespace("value") + try: + write_discriminator(item, writer) + except SerializationException as exception: + exception._prepend_index(i) + raise + writer.write_end_element_in_no_namespace("value") + writer.write_end_element_in_no_namespace("data") + + +def write_struct_body(value: our_types.JsonObject, writer: Writer) -> None: + """ + Write the ````'s of the JSON-able object :paramref:`value`. + + The path of a failure points into :paramref:`value`, and not into + the document, which is only half written when the failure is raised: it is + the value which the caller holds and can look at. + + :param value: to be serialized + :param writer: to write to + :raise: :py:class:`SerializationException` if the value could not be written + """ + for key, item in value.items(): + if not isinstance(key, str): + # NOTE (mristin): + # A key which is no string names nothing which the path could + # descend into, so the path stops at the object which holds it. + raise SerializationException( + f"Expected only string keys in a JSON-able object, but got " + f"a key of type: {type(key)}" + ) + + writer.write_start_element_in_no_namespace("member") + + writer.write_start_element_in_no_namespace("name") + writer.stream.write( + key.replace("&", "&").replace("<", "<").replace(">", ">") + ) + writer.write_end_element_in_no_namespace("name") + + writer.write_start_element_in_no_namespace("value") + try: + write_discriminator(item, writer) + except SerializationException as exception: + exception._prepend_key(key) + raise + writer.write_end_element_in_no_namespace("value") + + writer.write_end_element_in_no_namespace("member") + + +# endregion diff --git a/dev/continuous_integration/__init__.py b/dev/continuous_integration/__init__.py new file mode 100644 index 0000000..9a7781b --- /dev/null +++ b/dev/continuous_integration/__init__.py @@ -0,0 +1 @@ +"""Provide scripts for the continuous integration.""" diff --git a/dev/continuous_integration/check_init_and_pyproject_toml_consistent.py b/dev/continuous_integration/check_init_and_pyproject_toml_consistent.py new file mode 100644 index 0000000..cf89699 --- /dev/null +++ b/dev/continuous_integration/check_init_and_pyproject_toml_consistent.py @@ -0,0 +1,91 @@ +"""Check that meta-data in ``pyproject.toml`` and ``__init__.py`` are consistent.""" + +import importlib +import sys +from typing import List + +import continuous_integration.common as continuous_integration_common + + +def main() -> None: + """Execute the main routine.""" + errors: List[str] = [] + + pyproject_data = continuous_integration_common.load_pyproject() + + module = importlib.import_module(continuous_integration_common.module_name()) + + init_version = module.__version__ + pyproject_version = pyproject_data["project"]["version"] + + # NOTE (mristin): + # We check for the version. + if init_version != pyproject_version: + errors.append( + f"Version mismatch: __init__.py has {init_version!r}, " + f"pyproject.toml has {pyproject_version!r}" + ) + + # NOTE (mristin): + # We check for the authors. + init_authors = [author.strip() for author in module.__author__.split(",")] + pyproject_authors = [ + author["name"] for author in pyproject_data["project"]["authors"] + ] + + if init_authors != pyproject_authors: + errors.append( + f"Authors mismatch: __init__.py has {init_authors!r}, " + f"pyproject.toml has {pyproject_authors!r}" + ) + + # NOTE (mristin): + # We check for the development status. + init_status = module.__status__ + pyproject_status = "" + + for classifier in pyproject_data["project"]["classifiers"]: + if classifier.startswith("Development Status"): + parts = classifier.split("::") + + if len(parts) >= 2: + status = parts[1].strip() + + # NOTE (mristin): + # We extract just the status part (*e.g.*, "5 - Production/Stable" -> + # "Production/Stable"). + + if " - " in status: + pyproject_status = status.split(" - ", 1)[1] + else: + pyproject_status = status + + break + + if init_status != pyproject_status: + errors.append( + f"Status mismatch: __init__.py has {init_status!r}, " + f"pyproject.toml classifiers have {pyproject_status!r}" + ) + + # NOTE (mristin): + # We check for the license. + init_license = module.__license__ + pyproject_license = pyproject_data["project"]["license"] + + if init_license != pyproject_license: + errors.append( + f"License mismatch: __init__.py has {init_license!r}, " + f"pyproject.toml has {pyproject_license!r}" + ) + + if len(errors) > 0: + errors_str = "\n".join(errors) + print(f"Meta-data consistency check failed:\n{errors_str}", file=sys.stderr) + sys.exit(1) + + print("All meta-data fields are consistent between __init__.py and pyproject.toml.") + + +if __name__ == "__main__": + main() diff --git a/dev/continuous_integration/common.py b/dev/continuous_integration/common.py new file mode 100644 index 0000000..0145cf3 --- /dev/null +++ b/dev/continuous_integration/common.py @@ -0,0 +1,65 @@ +"""Provide the settings shared among the continuous integration scripts.""" + +import os +import pathlib +import sys +from typing import Any, Final, Mapping + +from icontract import ensure + +if sys.version_info >= (3, 11): + import tomllib +else: + # noinspection PyUnreachableCode + import tomli as tomllib + +REPO_ROOT: Final[pathlib.Path] = pathlib.Path( + os.path.realpath(__file__) +).parent.parent.parent + +PYPROJECT_TOML_PATH: Final[pathlib.Path] = REPO_ROOT / "pyproject.toml" + + +def load_pyproject() -> Mapping[str, Any]: + """Load the ``pyproject.toml`` of the SDK.""" + with PYPROJECT_TOML_PATH.open("rb") as f: + return tomllib.load(f) + + +def module_name() -> str: + """ + Determine the name of the SDK module from ``pyproject.toml``. + + The continuous integration checks the package as it is shipped, so we take + the name from [tool.setuptools.packages.find] include. + """ + pyproject_data = load_pyproject() + + packages_find = ( + pyproject_data.get("tool", {}) + .get("setuptools", {}) + .get("packages", {}) + .get("find", {}) + ) + include_packages = packages_find.get("include", []) + + if len(include_packages) != 1: + raise AssertionError( + f"Expected exactly one package in [tool.setuptools.packages.find] include " + f"in {PYPROJECT_TOML_PATH}, but got: {include_packages}" + ) + + result = include_packages[0] + assert isinstance(result, str) + return result + + +@ensure(lambda result: not result.is_absolute()) +def module_dir() -> pathlib.Path: + """ + Determine the directory of the SDK module relative to the repo root. + + The module name can include parent modules (*e.g.*, + ``some.parent.aas_core3_2``), so we map it to nested directories. + """ + return pathlib.Path(*module_name().split(".")) diff --git a/dev/continuous_integration/mypy.ini b/dev/continuous_integration/mypy.ini new file mode 100644 index 0000000..f8b1844 --- /dev/null +++ b/dev/continuous_integration/mypy.ini @@ -0,0 +1 @@ +[mypy] diff --git a/dev/continuous_integration/precommit.py b/dev/continuous_integration/precommit.py new file mode 100755 index 0000000..33b141e --- /dev/null +++ b/dev/continuous_integration/precommit.py @@ -0,0 +1,291 @@ +#!/usr/bin/env python3 + +"""Run pre-commit checks on the repository.""" + +import argparse +import enum +import os +import pathlib +import shlex +import subprocess +import sys +from typing import Optional, Mapping, Sequence + +import continuous_integration.common as continuous_integration_common + + +class Step(enum.Enum): + """Enumerate different pre-commit steps.""" + + REFORMAT = "reformat" + MYPY = "mypy" + RUFF = "ruff" + TEST = "test" + DOCTEST = "doctest" + CHECK_INIT_AND_PYPROJECT_TOML_CONSISTENT = "check-init-and-pyproject-consistent" + + +def call_and_report( + verb: str, + cmd: Sequence[str], + cwd: Optional[pathlib.Path] = None, + env: Optional[Mapping[str, str]] = None, +) -> int: + """ + Wrap a subprocess call with the reporting to STDERR if it failed. + + Return 1 if there is an error and 0 otherwise. + """ + cmd_str = " ".join(shlex.quote(part) for part in cmd) + + if cwd is not None: + print(f"Executing from {cwd}: {cmd_str}") + else: + print(f"Executing: {cmd_str}") + + exit_code = subprocess.call(cmd, cwd=str(cwd) if cwd is not None else None, env=env) + + if exit_code != 0: + print( + f"Failed to {verb} with exit code {exit_code}: {cmd_str}", file=sys.stderr + ) + + return exit_code + + +def main() -> int: + """Execute entry_point routine.""" + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument( + "--overwrite", + help="Try to automatically fix the offending files (e.g., by re-formatting).", + action="store_true", + ) + parser.add_argument( + "--select", + help=( + "If set, only the selected steps are executed. " + "This is practical if some of the steps failed and you want to " + "fix them in isolation. " + "The steps are given as a space-separated list of: " + + " ".join(value.value for value in Step) + ), + metavar="", + nargs="+", + choices=[value.value for value in Step], + ) + parser.add_argument( + "--skip", + help=( + "If set, skips the specified steps. " + "This is practical if some of the steps passed and " + "you want to fix the remainder in isolation. " + "The steps are given as a space-separated list of: " + + " ".join(value.value for value in Step) + ), + metavar="", + nargs="+", + choices=[value.value for value in Step], + ) + + args = parser.parse_args() + + overwrite = bool(args.overwrite) + + selects = ( + [Step(value) for value in args.select] + if args.select is not None + else list(Step) + ) + skips = [Step(value) for value in args.skip] if args.skip is not None else [] + + repo_root = continuous_integration_common.REPO_ROOT + + module_dir = str(continuous_integration_common.module_dir()) + + if Step.REFORMAT in selects and Step.REFORMAT not in skips: + print("Re-formatting...") + reformat_targets = [ + module_dir, + "dev/continuous_integration", + "dev/tests", + "dev/dev_scripts", + ] + + reformat_exclude = "dev/dev_scripts/codegen" + + if overwrite: + exit_code = call_and_report( + verb="black", + cmd=[sys.executable, "-m", "black"] + + reformat_targets + + ["--exclude", reformat_exclude], + cwd=repo_root, + ) + if exit_code != 0: + return 1 + else: + exit_code = call_and_report( + verb="check with black", + cmd=[sys.executable, "-m", "black", "--check"] + + reformat_targets + + ["--exclude", reformat_exclude], + cwd=repo_root, + ) + if exit_code != 0: + return 1 + else: + print("Skipped re-formatting.") + + if Step.MYPY in selects and Step.MYPY not in skips: + print("Mypy'ing...") + mypy_targets = [ + module_dir, + "dev/tests", + "dev/continuous_integration", + "dev/dev_scripts", + ] + + mypy_exclude = "dev/dev_scripts/codegen" + + config_file = pathlib.Path("dev/continuous_integration/mypy.ini") + + exit_code = call_and_report( + verb="mypy", + cmd=[ + sys.executable, + "-m", + "mypy", + "--strict", + "--config-file", + str(config_file), + ] + + mypy_targets + + ["--exclude", mypy_exclude], + cwd=repo_root, + ) + if exit_code != 0: + return 1 + else: + print("Skipped mypy'ing.") + + if Step.RUFF in selects and Step.RUFF not in skips: + print("Ruff'ing...") + ruff_targets = [ + module_dir, + "dev/tests", + "dev/continuous_integration", + "dev/dev_scripts", + ] + + ruff_exclude = "dev/dev_scripts/codegen" + + config = pathlib.Path("dev/continuous_integration/ruff.toml") + + exit_code = call_and_report( + verb="ruff", + cmd=[sys.executable, "-m", "ruff", "check", f"--config={config}"] + + (["--fix"] if overwrite else []) + + ruff_targets + + [f"--extend-exclude={ruff_exclude}"], + cwd=repo_root, + ) + if exit_code != 0: + return 1 + else: + print("Skipped ruff'ing.") + + if Step.TEST in selects and Step.TEST not in skips: + print("Testing...") + env = os.environ.copy() + env["ICONTRACT_SLOW"] = "true" + + exit_code = call_and_report( + verb="execute unit tests", + cmd=[ + sys.executable, + "-m", + "coverage", + "run", + "--source", + module_dir, + "-m", + "unittest", + "discover", + "--start-directory", + "dev/tests", + ], + cwd=repo_root, + env=env, + ) + if exit_code != 0: + return 1 + + exit_code = call_and_report( + verb="report the coverage", + cmd=[sys.executable, "-m", "coverage", "report"], + cwd=repo_root, + ) + if exit_code != 0: + return 1 + else: + print("Skipped testing.") + + if Step.DOCTEST in selects and Step.DOCTEST not in skips: + print("Doctest'ing...") + + doc_files = sorted( + ["README.rst"] + + [str(path) for path in (repo_root / "docs" / "source").glob("**/*.rst")] + ) + + exit_code = call_and_report( + verb="doctest", + cmd=[sys.executable, "-m", "doctest"] + doc_files, + cwd=repo_root, + ) + if exit_code != 0: + return 1 + + for pth in (repo_root / module_dir).glob("**/*.py"): + if pth.name == "__main__.py": + continue + + # NOTE (mristin): + # The subprocess calls are expensive, call only if there is an actual + # doctest + text = pth.read_text(encoding="utf-8") + if ">>>" in text: + exit_code = call_and_report( + verb="doctest", + cmd=[sys.executable, "-m", "doctest", str(pth)], + cwd=repo_root, + ) + if exit_code != 0: + return 1 + else: + print("Skipped doctest'ing.") + + if ( + Step.CHECK_INIT_AND_PYPROJECT_TOML_CONSISTENT in selects + and Step.CHECK_INIT_AND_PYPROJECT_TOML_CONSISTENT not in skips + ): + print("Checking that __init__.py and pyproject.toml are consistent...") + exit_code = call_and_report( + verb="check that __init__.py and pyproject.toml are consistent", + cmd=[ + sys.executable, + "dev/continuous_integration/check_init_and_pyproject_toml_consistent.py", + ], + cwd=repo_root, + ) + if exit_code != 0: + return 1 + else: + print("Skipped checking that __init__.py and pyproject.toml are consistent.") + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/dev/continuous_integration/ruff.toml b/dev/continuous_integration/ruff.toml new file mode 100644 index 0000000..d99eefb --- /dev/null +++ b/dev/continuous_integration/ruff.toml @@ -0,0 +1,56 @@ +target-version = "py39" + +[lint] +select = [ + "ASYNC", "B", "C4", "DTZ", "E", "ERA", "EXE", "F", "FIX", "FLY", "FURB", "G", + "INT", "ISC", "LOG", "N", "PERF", "PGH", "PIE", "PLC", "PLE", "PLW", "PYI", + "RET", "RSE", "RUF", "SIM", "SLOT", "T10", "T20", "TC", "TD", "TID", "TRY", + "UP", "W", "YTT" +] + +# NOTE (mristin): +# We follow the configuration of the Python live tests in aas-core-codegen since +# most of the code is generated. The default rule set of ruff includes many +# stylistic rules, such as the PEP 585 annotations, which clash with the style +# of the generated code. We select the rule families which point to bugs and code +# smells instead. +# +# We ignore the rules which flag the code transpiled from the meta-model, such +# as ``not (x in y)``, ``-(-x)`` or ``range(0, n)``, since the transpiled code +# deliberately mirrors the meta-model. We also ignore the rules which go against +# the style of the generated code, such as the version blocks for Python 3.7. +ignore = [ + # Transpiled from the meta-model + "B002", "E713", "FURB110", "ISC003", "PERF401", "PERF402", "PIE808", + "SIM102", "SIM103", "SIM108", "SIM110", "SIM114", "SIM201", "SIM202", + "SIM208", "SIM300", "UP034", "UP037", + # Text from the meta-model + "RUF001", "RUF002", "RUF003", + # Black joins the implicitly concatenated strings of the generated code + "ISC001", + # Generated for Python 3.8, which lacks ``str.removeprefix`` + "FURB188", + # Style of the generated code + "E501", "N801", "N818", "PERF203", "RET503", "RET505", "TRY003", + "TRY004", "TRY300", "TRY301", "UP006", "UP035", "UP036", + # We concatenate the command lines, and black needs the formatter comments + # around the contracts. + "RUF005", "RUF028", +] + +[lint.per-file-ignores] +# NOTE (mristin): +# The verification imports everything the transpiled verification functions +# and the snippets might need, as we can not tell what the snippets use. +# The JSON and XML de/serialization and the types import everything their +# readers, writers, properties and methods might need, as which of them are +# generated depends on the meta-model. +"jsonization.py" = ["F401"] +"types.py" = ["F401"] +"verification.py" = ["F401"] +"xmlization.py" = ["F401"] + +# NOTE (mristin): +# The development scripts report their progress to the console. +"dev/continuous_integration/*" = ["T201"] +"dev/dev_scripts/*" = ["T201"] diff --git a/dev/dev_scripts/.python-version b/dev/dev_scripts/.python-version new file mode 100644 index 0000000..24ee5b1 --- /dev/null +++ b/dev/dev_scripts/.python-version @@ -0,0 +1 @@ +3.13 diff --git a/dev/dev_scripts/__init__.py b/dev/dev_scripts/__init__.py new file mode 100644 index 0000000..6842369 --- /dev/null +++ b/dev/dev_scripts/__init__.py @@ -0,0 +1 @@ +"""Provide scripts for the development of the SDK.""" diff --git a/dev/dev_scripts/codegen/meta_model.py b/dev/dev_scripts/codegen/meta_model.py new file mode 100644 index 0000000..27aad19 --- /dev/null +++ b/dev/dev_scripts/codegen/meta_model.py @@ -0,0 +1,12472 @@ +# Downloaded from: https://raw.githubusercontent.com/eclipse-aascw/aas-core-meta/2244c160abe5409a5171342e21a8d7f1cdd6f9c8/aas_core_meta/v3_2.py +""" +--- WORK IN PROGRESS --- +Provide an implementation of the Asset Administration Shell (AAS) V3.2. + +The presented version of the Metamodel is related to the work of +aas-core-works, which can be found here: https://github.com/aas-core-works. + +The presented content is neither related to the IDTA nor +Plattform Industrie 4.0 and does not represent an official publication. + +We diverge from the book in the following points. + +We did not implement the following constraints as they are too general and can not +be formalized as part of the core library, but affects external components such as +AAS registry or AAS server: + +* :constraintref:`AASd-022` + +We did not implement the following constraints since they depend on registry and +de-referencing of :class:`Reference` objects: + +* :constraintref:`AASd-006` +* :constraintref:`AASd-007` +* :constraintref:`AASc-3a-003` + +Some constraints are not enforceable as they depend on the wider context +such as language understanding, so we could not formalize them: + +* :constraintref:`AASd-012`: This constraint requires that the texts inside + ``Multi_language_property`` shall have the same meanings in the separate languages. + This cannot be tested. + +Furthermore, we diverge from the book in the following points regarding +the enumerations. We have to implement subsets of enumerations as sets as common +programming languages do not support inheritance of enumerations. The relationship +between the properties and the sets is defined through invariants. This causes +the following divergences: + +* We decided therefore to remove the enumeration ``DataTypeDefRDF`` + and keep only :class:`Data_type_def_XSD` as enumeration. Otherwise, we would have + to write redundant invariants all over the meta-model because ``DataTypeDefRDF`` + is actually never used in any type definition. + +* The enumeration :class:`AAS_submodel_elements` is used in two different contexts. + One context is the definition of key types in a reference. Another context is + the definition of element types in a :class:`Submodel_element_list`. + + To avoid confusion, we introduce two separate enumerations for the separate contexts. + Firstly, a set of :class:`Key_types`, :const:`AAS_submodel_elements_as_keys` to + represent the first context (key type in a reference). + Secondly, the enumeration :class:`AAS_submodel_elements` is kept as designator + for :attr:`Submodel_element_list.type_value_list_element`. + +* The specification introduces several types of ``Lang_string_set``. + These types differ between the allowed length of their text inside the singular + ``Lang_string`` objects. Since the native representation of ``Lang_string_set`` as + ``List`` of ``Lang_string`` is required by specification, it is impossible to + introduce separate ``Lang_string_set`` types. Therefore, the distinction is drawn here + between the ``Lang_string`` types. + + ``DefinitionTypeIEC61360`` is represented as a + ``List`` of :class:`Lang_string_definition_type_IEC_61360` + + ``MultiLanguageNameType`` is represented as a + ``List`` of :class:`Lang_string_name_type` + + ``PreferredNameTypeIEC61360`` is represented as a + ``List`` of :class:`Lang_string_preferred_name_type_IEC_61360` + + ``ShortNameTypeIEC61360`` is represented as a + ``List`` of :class:`Lang_string_short_name_type_IEC_61360` + + ``MultiLanguageTextType`` is represented as a + ``List`` of :class:`Lang_string_text_type` + + Furthermore, since ``Lang_string`` is not used anywhere, we rename it to + :class:`Abstract_lang_string`. + +Concerning the data specifications, we embed them within +:class:`Has_data_specification` instead of referencing them *via* an external reference. +The working group decided to change the rules for serialization *after* the book was +published. The data specifications are critical in applications, but there is no +possibility to access them through a data channel as they are not part of +an environment. +""" + +from enum import Enum +from re import match +from typing import ( + AbstractSet, + Annotated, + Final, + List, + Optional, + Sequence, + Set, + Tuple, + Union, +) + +from icontract import invariant, DBC, ensure + +from aas_core_meta.marker import ( + abstract, + serialization, + verification, + constant_set, + constant_str, + non_mutating, + json_name, + JSONObject, +) + +__version__ = "V3.2" + +__xml_namespace__ = "https://admin-shell.io/aas/3/2" + + +# region Verification + + +@verification +def matches_ID_short(text: str) -> bool: + """ + Check that :paramref:`text` is a valid short ID. + """ + pattern = f"^[a-zA-Z][a-zA-Z0-9_-]*[a-zA-Z0-9_]+$" + + return match(pattern, text) is not None + + +@verification +def matches_version_type(text: str) -> bool: + """ + Check that :paramref:`text` is a valid version string. + """ + pattern = f"^(0|[1-9][0-9]*)$" + + return match(pattern, text) is not None + + +@verification +def matches_revision_type(text: str) -> bool: + """ + Check that :paramref:`text` is a valid revision string. + """ + pattern = f"^(0|[1-9][0-9]*)$" + + return match(pattern, text) is not None + + +@verification +def matches_xs_date_time_UTC(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:dateTime``. + + The time zone must be fixed to UTC. We verify only that the ``text`` matches + a pre-defined pattern. We *do not* verify that the day of month is + correct nor do we check for leap seconds. + + See: https://www.w3.org/TR/xmlschema-2/#dateTime + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + digit = "[0-9]" + year_frag = f"-?(([1-9]{digit}{digit}{digit}+)|(0{digit}{digit}{digit}))" + month_frag = f"((0[1-9])|(1[0-2]))" + day_frag = f"((0[1-9])|([12]{digit})|(3[01]))" + hour_frag = f"(([01]{digit})|(2[0-3]))" + minute_frag = f"[0-5]{digit}" + second_frag = f"([0-5]{digit})(\\.{digit}+)?" + end_of_day_frag = "24:00:00(\\.0+)?" + timezone_frag = r"(Z|\+00:00|-00:00)" + date_time_lexical_rep = ( + f"{year_frag}-{month_frag}-{day_frag}" + f"T" + f"(({hour_frag}:{minute_frag}:{second_frag})|{end_of_day_frag})" + f"{timezone_frag}" + ) + pattern = f"^{date_time_lexical_rep}$" + + return match(pattern, text) is not None + + +@verification +def is_xs_date_time_UTC(text: str) -> bool: + """ + Check that :paramref:`text` is a ``xs:dateTime`` with time zone set to UTC. + + The ``text`` is assumed to match a pre-defined pattern for ``xs:dateTime`` with + the time zone set to UTC. In this function, we check for days of month (e.g., + February 29th). + + See: https://www.w3.org/TR/xmlschema-2/#dateTime + + :param text: Text to be checked + :returns: True if the :paramref:`text` is a valid ``xs:dateTime`` in UTC + """ + return matches_xs_date_time_UTC(text) and _is_prefix_valid_date(text) + + +@verification +def matches_MIME_type(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of MIME type. + + The definition has been taken from: + https://www.rfc-editor.org/rfc/rfc7231#section-3.1.1.1, + https://www.rfc-editor.org/rfc/rfc7230#section-3.2.3 and + https://www.rfc-editor.org/rfc/rfc7230#section-3.2.6. + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + tchar = "[!#$%&'*+\\-.^_`|~0-9a-zA-Z]" + token = f"({tchar})+" + type = f"{token}" + subtype = f"{token}" + ows = "[ \t]*" + obs_text = "[\\x80-\\xff]" + qd_text = f"([\t !#-\\[\\]-~]|{obs_text})" + quoted_pair = f"\\\\([\t !-~]|{obs_text})" + quoted_string = f'"({qd_text}|{quoted_pair})*"' + parameter = f"{token}=({token}|{quoted_string})" + media_type = f"^{type}/{subtype}({ows};{ows}{parameter})*$" + + return match(media_type, text) is not None + + +@verification +def matches_RFC_2396(text: str) -> bool: + """ + Check that :paramref:`text` matches to the URI pattern defined in RFC 2396 + + The definition has been taken from: + https://datatracker.ietf.org/doc/html/rfc2396 + + Note that RFX 2396 alone is not enough for specifying ``xs:anyURI`` for + XSD version 1.0, as that specifies URI together with the amendment of + RFC 2732. + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + alphanum = "[a-zA-Z0-9]" + mark = "[\\-_.!~*'()]" + unreserved = f"({alphanum}|{mark})" + hex = "([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])" + escaped = f"%{hex}{hex}" + pchar = f"({unreserved}|{escaped}|[:@&=+$,])" + param = f"({pchar})*" + segment = f"({pchar})*(;{param})*" + path_segments = f"{segment}(/{segment})*" + abs_path = f"/{path_segments}" + scheme = "[a-zA-Z][a-zA-Z0-9+\\-.]*" + userinfo = f"({unreserved}|{escaped}|[;:&=+$,])*" + domainlabel = f"({alphanum}|{alphanum}({alphanum}|-)*{alphanum})" + toplabel = f"([a-zA-Z]|[a-zA-Z]({alphanum}|-)*{alphanum})" + hostname = f"({domainlabel}\\.)*{toplabel}(\\.)?" + ipv4address = "[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+" + host = f"({hostname}|{ipv4address})" + port = "[0-9]*" + hostport = f"{host}(:{port})?" + server = f"(({userinfo}@)?{hostport})?" + reg_name = f"({unreserved}|{escaped}|[$,;:@&=+])+" + authority = f"({server}|{reg_name})" + net_path = f"//{authority}({abs_path})?" + reserved = "[;/?:@&=+$,]" + uric = f"({reserved}|{unreserved}|{escaped})" + query = f"({uric})*" + hier_part = f"({net_path}|{abs_path})(\\?{query})?" + uric_no_slash = f"({unreserved}|{escaped}|[;?:@&=+$,])" + opaque_part = f"{uric_no_slash}({uric})*" + absoluteuri = f"{scheme}:({hier_part}|{opaque_part})" + fragment = f"({uric})*" + rel_segment = f"({unreserved}|{escaped}|[;@&=+$,])+" + rel_path = f"{rel_segment}({abs_path})?" + relativeuri = f"({net_path}|{abs_path}|{rel_path})(\\?{query})?" + uri_reference = f"^({absoluteuri}|{relativeuri})?(\\#{fragment})?$" + return match(uri_reference, text) is not None + + +# noinspection SpellCheckingInspection +@verification +def matches_BCP_47(text: str) -> bool: + """ + Check that :paramref:`text` is a valid BCP 47 language tag. + + See: https://en.wikipedia.org/wiki/IETF_language_tag + """ + alphanum = "[a-zA-Z0-9]" + singleton = "[0-9A-WY-Za-wy-z]" + extension = f"{singleton}(-({alphanum}){{2,8}})+" + extlang = "[a-zA-Z]{3}(-[a-zA-Z]{3}){,2}" + irregular = ( + "(en-GB-oed|i-ami|i-bnn|i-default|i-enochian|i-hak|" + "i-klingon|i-lux|i-mingo|i-navajo|i-pwn|i-tao|i-tay|" + "i-tsu|sgn-BE-FR|sgn-BE-NL|sgn-CH-DE)" + ) + regular = ( + "(art-lojban|cel-gaulish|no-bok|no-nyn|zh-guoyu|zh-hakka|" + "zh-min|zh-min-nan|zh-xiang)" + ) + grandfathered = f"({irregular}|{regular})" + language = f"([a-zA-Z]{{2,3}}(-{extlang})?|[a-zA-Z]{{4}}|[a-zA-Z]{{5,8}})" + script = "[a-zA-Z]{4}" + region = "([a-zA-Z]{2}|[0-9]{3})" + variant = f"(({alphanum}){{5,8}}|[0-9]({alphanum}){{3}})" + privateuse = f"[xX](-({alphanum}){{1,8}})+" + langtag = ( + f"{language}(-{script})?(-{region})?(-{variant})*(-{extension})*(-" + f"{privateuse})?" + ) + language_tag = f"({langtag}|{privateuse}|{grandfathered})" + + pattern = f"^{language_tag}$" + return match(pattern, text) is not None + + +@verification +def lang_strings_have_unique_languages( + lang_strings: Sequence["Abstract_lang_string"], +) -> bool: + """ + Check that the :paramref:`lang_strings` do not have overlapping + :attr:`Abstract_lang_string.language`'s + """ + language_set: Set[str] = set() + for lang_string in lang_strings: + if lang_string.language in language_set: + return False + + language_set.add(lang_string.language) + + return True + + +@verification +def qualifier_types_are_unique(qualifiers: Sequence["Qualifier"]) -> bool: + """ + Check that :attr:`Qualifier.type`'s of :paramref:`qualifiers` are unique. + + :param qualifiers: to be checked + :return: True if all :attr:`Qualifier.type`'s are unique + """ + observed_types: Set[str] = set() + for qualifier in qualifiers: + if qualifier.type in observed_types: + return False + + observed_types.add(qualifier.type) + + return True + + +@verification +def matches_XML_serializable_string(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of the Constraint AASd-130. + + Ensures that encoding is possible and interoperability between different + serializations is possible. + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + # noinspection SpellCheckingInspection + pattern = r"^[\x09\x0A\x0D\x20-\uD7FF\uE000-\uFFFD\U00010000-\U0010FFFF]*$" + return match(pattern, text) is not None + + +# noinspection SpellCheckingInspection +@verification +def matches_xs_any_URI(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:anyURI``. + + See: https://www.w3.org/TR/xmlschema-2/#anyURI and + https://datatracker.ietf.org/doc/html/rfc2396 and + https://datatracker.ietf.org/doc/html/rfc2732 + + Note, that version 1.0 of the XSD specification defines ``xs:anyURI`` as + "defined by RFC 2396, as amended by RFC 2732". Therefore, we use a + pattern here that implements the amendments of RFC 2732. This should not + be confused with ``matches_RFC_2396``, which does not include those + amendments and is used in different parts of the specification. + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + alphanum = "[a-zA-Z0-9]" + mark = "[\\-_.!~*'()]" + unreserved = f"({alphanum}|{mark})" + hex = "([0-9]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF]|[aA]|[bB]|[cC]|[dD]|[eE]|[fF])" + escaped = f"%{hex}{hex}" + pchar = f"({unreserved}|{escaped}|[:@&=+$,])" + param = f"({pchar})*" + segment = f"({pchar})*(;{param})*" + path_segments = f"{segment}(/{segment})*" + abs_path = f"/{path_segments}" + scheme = "[a-zA-Z][a-zA-Z0-9+\\-.]*" + userinfo = f"({unreserved}|{escaped}|[;:&=+$,])*" + domainlabel = f"({alphanum}|{alphanum}({alphanum}|-)*{alphanum})" + toplabel = f"([a-zA-Z]|[a-zA-Z]({alphanum}|-)*{alphanum})" + hostname = f"({domainlabel}\\.)*{toplabel}(\\.)?" + ipv4address = "[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}" + hex4 = "[0-9A-Fa-f]{1,4}" + hexseq = f"{hex4}(:{hex4})*" + hexpart = f"({hexseq}|{hexseq}::({hexseq})?|::({hexseq})?)" + ipv6address = f"{hexpart}(:{ipv4address})?" + ipv6reference = f"\\[{ipv6address}\\]" + host = f"({hostname}|{ipv4address}|{ipv6reference})" + port = "[0-9]*" + hostport = f"{host}(:{port})?" + server = f"(({userinfo}@)?{hostport})?" + reg_name = f"({unreserved}|{escaped}|[$,;:@&=+])+" + authority = f"({server}|{reg_name})" + net_path = f"//{authority}({abs_path})?" + reserved = "[;/?:@&=+$,\\[\\]]" + uric = f"({reserved}|{unreserved}|{escaped})" + query = f"({uric})*" + hier_part = f"({net_path}|{abs_path})(\\?{query})?" + uric_no_slash = f"({unreserved}|{escaped}|[;?:@&=+$,])" + opaque_part = f"{uric_no_slash}({uric})*" + absoluteuri = f"{scheme}:({hier_part}|{opaque_part})" + fragment = f"({uric})*" + rel_segment = f"({unreserved}|{escaped}|[;@&=+$,])+" + rel_path = f"{rel_segment}({abs_path})?" + relativeuri = f"({net_path}|{abs_path}|{rel_path})(\\?{query})?" + uri_reference = f"^({absoluteuri}|{relativeuri})?(\\#{fragment})?$" + return match(uri_reference, text) is not None + + +# noinspection SpellCheckingInspection +@verification +def matches_xs_base_64_binary(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:base64Binary``. + + See: https://www.w3.org/TR/xmlschema-2/#base64Binary + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + # Base64 characters whose bit-string value ends in '0000' + b04_char = "[AQgw]" + b04 = f"{b04_char}\\x20?" + + # Base64 characters whose bit-string value ends in '00' + b16_char = "[AEIMQUYcgkosw048]" + b16 = f"{b16_char}\\x20?" + + b64_char = "[A-Za-z0-9+/]" + b64 = f"{b64_char}\\x20?" + + b64quad = f"({b64}{b64}{b64}{b64})" + + # b64_final_quad represents three octets of binary data without trailing space. + b64_final_quad = f"({b64}{b64}{b64}{b64_char})" + + # padded_8 represents a single octet at the end of the data. + padded_8 = f"{b64}{b04}=\x20?=" + + # padded_16 represents a two-octet at the end of the data. + padded_16 = f"{b64}{b64}{b16}=" + + b64final = f"({b64_final_quad}|{padded_16}|{padded_8})" + + base64_binary = f"({b64quad}*{b64final})?" + + pattern = f"^{base64_binary}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_boolean(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:boolean``. + + See: https://www.w3.org/TR/xmlschema-2/#boolean + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + pattern = "^(true|false|1|0)$" + return match(pattern, text) is not None + + +@verification +def matches_xs_date(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:date``. + + See: https://www.w3.org/TR/xmlschema-2/#date + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + digit = "[0-9]" + year_frag = f"-?(([1-9]{digit}{digit}{digit}+)|(0{digit}{digit}{digit}))" + month_frag = f"((0[1-9])|(1[0-2]))" + day_frag = f"((0[1-9])|([12]{digit})|(3[01]))" + minute_frag = f"[0-5]{digit}" + timezone_frag = rf"(Z|(\+|-)((0{digit}|1[0-3]):{minute_frag}|14:00))" + date_lexical_rep = f"{year_frag}-{month_frag}-{day_frag}{timezone_frag}?" + + pattern = f"^{date_lexical_rep}$" + return match(pattern, text) is not None + + +@verification +def _is_leap_year(year: str) -> bool: + """ + Check that the :paramref:`year` of an ``xs:date`` is a leap year. + + The :paramref:`year` is expected to be given as text, *i.e.*, as digits with + an optional minus prefix, as the year can be arbitrarily large. + + We consider the years B.C. to be one-off. See the note at + https://www.w3.org/TR/xmlschema-2/#dateTime: "'-0001' is the lexical + representation of the year 1 Before Common Era (1 BCE, sometimes written "1 BC")." + Hence, the year -1 in XML is the year 0 in astronomical years. + + :param year: Text of the year to be checked + :returns: True if the :paramref:`year` is a leap year + """ + # NOTE (mristin): + # Since 10000 is divisible by 400, the last four digits suffice to determine + # the leap year. This way, we never parse a number which does not fit into + # an integer. + remainder = int(year.lstrip("-")[-4:]) % 400 + + if year.startswith("-"): + # NOTE (mristin): + # We shift the years B.C. by one. We add 399 instead of subtracting 1 so + # that the remainder is never negative, as the modulo of negative numbers + # differs between the programming languages. + remainder = (remainder + 399) % 400 + + # See: https://en.wikipedia.org/wiki/Leap_year#Algorithm + return remainder % 4 == 0 and (remainder % 100 != 0 or remainder == 0) + + +@verification +def _is_day_of_month_valid(is_leap_year: bool, month: int, day: int) -> bool: + """ + Check that the :paramref:`day` exists in the :paramref:`month`. + + :param is_leap_year: True if February has 29 days + :param month: Month of the year, starting with 1 + :param day: Day of the month, starting with 1 + :returns: True if the :paramref:`day` exists in the :paramref:`month` + """ + if month < 1 or month > 12 or day < 1: + return False + + if month == 2: + if is_leap_year: + return day <= 29 + + return day <= 28 + + if month == 4 or month == 6 or month == 9 or month == 11: + return day <= 30 + + return day <= 31 + + +@verification +def _is_prefix_valid_date(text: str) -> bool: + """ + Check that the date at the start of :paramref:`text` is valid. + + The :paramref:`text` is expected to start with a date matching the pattern + ``-?YYYY-MM-DD``, where the year can have more than four digits. Whatever follows + the date, such as the time or the time zone, is ignored. + + :param text: Text to be checked + :returns: True if the date at the start of :paramref:`text` is valid + """ + # NOTE (mristin): + # We start searching from the second character so that we skip the minus + # of a year B.C. + month_start = text.find("-", 1) + 1 + + year = text[: month_start - 1] + + # We do not accept year zero, + # see the note at: https://www.w3.org/TR/xmlschema-2/#dateTime + if year.lstrip("-").lstrip("0") == "": + return False + + month = int(text[month_start : month_start + 2]) + day = int(text[month_start + 3 : month_start + 5]) + + return _is_day_of_month_valid(_is_leap_year(year), month, day) + + +@verification +def is_xs_date(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:date``. + + We check that the :paramref:`text` matches the pattern of ``xs:date``, and that + the day exists in the month (*e.g.*, February 29th only in leap years). + + See: https://www.w3.org/TR/xmlschema-2/#date + + :param text: Text to be checked + :returns: True if the :paramref:`text` is a valid ``xs:date`` + """ + return matches_xs_date(text) and _is_prefix_valid_date(text) + + +@verification +def matches_xs_date_time(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:dateTime``. + + See: https://www.w3.org/TR/xmlschema-2/#dateTime + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + digit = "[0-9]" + year_frag = f"-?(([1-9]{digit}{digit}{digit}+)|(0{digit}{digit}{digit}))" + month_frag = f"((0[1-9])|(1[0-2]))" + day_frag = f"((0[1-9])|([12]{digit})|(3[01]))" + hour_frag = f"(([01]{digit})|(2[0-3]))" + minute_frag = f"[0-5]{digit}" + second_frag = f"([0-5]{digit})(\\.{digit}+)?" + end_of_day_frag = "24:00:00(\\.0+)?" + timezone_frag = rf"(Z|(\+|-)((0{digit}|1[0-3]):{minute_frag}|14:00))" + date_time_lexical_rep = ( + f"{year_frag}-{month_frag}-{day_frag}" + f"T" + f"(({hour_frag}:{minute_frag}:{second_frag})|{end_of_day_frag})" + f"{timezone_frag}?" + ) + + pattern = f"^{date_time_lexical_rep}$" + return match(pattern, text) is not None + + +@verification +def is_xs_date_time(text: str) -> bool: + """ + Check that :paramref:`text` is a ``xs:dateTime``. + + The ``text`` is assumed to match a pre-defined pattern for ``xs:dateTime``. + In this function, we check for days of month (e.g., February 29th). + + See: https://www.w3.org/TR/xmlschema-2/#dateTime + + :param text: Text to be checked + :returns: True if the :paramref:`text` is a valid ``xs:dateTime`` + """ + return matches_xs_date_time(text) and _is_prefix_valid_date(text) + + +@verification +def _fraction_of_date_time_UTC(text: str) -> str: + """ + Get the digits of the fraction of a second in :paramref:`text`. + + The :paramref:`text` is expected to be a valid ``xs:dateTime`` with the time + zone fixed to UTC, *i.e.*, it ends with ``Z``, ``+00:00`` or ``-00:00``. + + :param text: Date-time to be parsed + :returns: The digits after the decimal point, or an empty text if there are none + """ + point = text.find(".") + if point == -1: + return "" + + if text.endswith("Z"): + return text[point + 1 : -1] + + return text[point + 1 : -6] + + +@verification +def _is_next_day(text: str, next_text: str) -> bool: + """ + Check that the date of :paramref:`next_text` is the day after the date of + :paramref:`text`. + + Both :paramref:`text` and :paramref:`next_text` are expected to start with + a valid date matching the pattern ``-?YYYY-MM-DD``, where the year can have + more than four digits, but has to fit into an integer. Whatever follows + the date, such as the time or the time zone, is ignored. + + :param text: Text starting with the date to be incremented + :param next_text: Text starting with the date expected to follow + :returns: True if the date of :paramref:`next_text` follows the date of + :paramref:`text` + """ + # NOTE (mristin): + # We start searching from the second character so that we skip the minus + # of a year B.C. + month_start = text.find("-", 1) + 1 + next_month_start = next_text.find("-", 1) + 1 + + year_text = text[: month_start - 1] + + year = int(year_text) + month = int(text[month_start : month_start + 2]) + day = int(text[month_start + 3 : month_start + 5]) + + next_year = int(next_text[: next_month_start - 1]) + next_month = int(next_text[next_month_start : next_month_start + 2]) + next_day = int(next_text[next_month_start + 3 : next_month_start + 5]) + + if _is_day_of_month_valid(_is_leap_year(year_text), month, day + 1): + return year == next_year and month == next_month and day + 1 == next_day + + if next_day != 1: + return False + + if month < 12: + return year == next_year and month + 1 == next_month + + # NOTE (mristin): + # There is no year zero, see the note at + # https://www.w3.org/TR/xmlschema-2/#dateTime, so the year 1 B.C., ``-0001``, + # is followed by the year 1, ``0001``. + return next_month == 1 and ( + next_year == year + 1 or (year == -1 and next_year == 1) + ) + + +@verification +def date_time_UTC_less(that: str, other: str) -> Optional[bool]: + """ + Check that the date-time :paramref:`that` is before :paramref:`other`. + + We compare the years as integers, and the rest of the texts part by part as + strings, since the fraction of a second can be arbitrarily long. + + We do not compare the years with more than 15 digits, as they do not safely fit + into an integer. Such years are valid in ``xs:dateTime``, but not realistic. + + The end of a day, ``24:00:00``, is the same instant as the start of the next day, + see the note at https://www.w3.org/TR/xmlschema-2/#dateTime. + + :param that: Date-time which is expected to come first + :param other: Date-time which is expected to come later + :returns: + True if :paramref:`that` is before :paramref:`other`, False if not, and + None if either of them is not a valid ``xs:dateTime`` in UTC, or if + either of their years has more than 15 digits + """ + if not is_xs_date_time_UTC(that) or not is_xs_date_time_UTC(other): + return None + + # NOTE (mristin): + # We start searching from the second character so that we skip the minus + # of a year B.C. + that_month_start = that.find("-", 1) + 1 + other_month_start = other.find("-", 1) + 1 + + that_year_text = that[: that_month_start - 1] + other_year_text = other[: other_month_start - 1] + + if len(that_year_text.lstrip("-")) > 15 or len(other_year_text.lstrip("-")) > 15: + return None + + # NOTE (mristin): + # The years B.C. are negative, so they are ordered as the integers, even + # though there is no year zero in between. + that_year = int(that_year_text) + other_year = int(other_year_text) + + # NOTE (mristin): + # The month, the day, the hours, the minutes and the whole seconds, given as + # ``MM-DDTHH:MM:SS``, are of fixed width, so they are ordered as the texts. + that_rest = that[that_month_start : that_month_start + 14] + other_rest = other[other_month_start : other_month_start + 14] + + that_fraction = _fraction_of_date_time_UTC(that).rstrip("0") + other_fraction = _fraction_of_date_time_UTC(other).rstrip("0") + + less = False + + if that_year != other_year: + less = that_year < other_year + + elif that_rest != other_rest: + less = that_rest < other_rest + + else: + # NOTE (mristin): + # The fractions are stripped of the trailing zeros, so they are ordered + # as the texts. + less = that_fraction < other_fraction + + # NOTE (mristin): + # The end of a day sorts after all the other times of the same day, and before + # all the times of the later days, which is correct except for the start of + # the next day, as the two are the same instant. If :paramref:`other` is + # the end of a day instead, it sorts correctly, as the start of the next day + # comes after all the times of that day. + if ( + less + and that[that_month_start + 6 : that_month_start + 8] == "24" + and other[other_month_start + 6 : other_month_start + 14] == "00:00:00" + and other_fraction == "" + ): + return not _is_next_day(that, other) + + return less + + +@verification +def date_time_UTC_less_or_invalid(that: str, other: str) -> bool: + """ + Check that the date-time :paramref:`that` is before :paramref:`other`, unless + either of them is invalid. + + The invalid date-times are reported by the invariants of + :class:`Date_time_UTC`, so that we do not report them twice. + See :func:`date_time_UTC_less`. + + :param that: Date-time which is expected to come first + :param other: Date-time which is expected to come later + :returns: + True if :paramref:`that` is before :paramref:`other`, or if either of + them is not a valid ``xs:dateTime`` in UTC + """ + less = date_time_UTC_less(that, other) + if less is None: + return True + + return less + + +# noinspection SpellCheckingInspection +@verification +def matches_xs_decimal(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:decimal``. + + See: https://www.w3.org/TR/xmlschema-2/#decimal + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + digit = "[0-9]" + unsigned_no_decimal_pt_numeral = f"{digit}+" + no_decimal_pt_numeral = rf"(\+|-)?{unsigned_no_decimal_pt_numeral}" + frac_frag = f"{digit}+" + unsigned_decimal_pt_numeral = ( + rf"({unsigned_no_decimal_pt_numeral}\.{frac_frag}|\.{frac_frag})" + ) + decimal_pt_numeral = rf"(\+|-)?{unsigned_decimal_pt_numeral}" + decimal_lexical_rep = f"({decimal_pt_numeral}|{no_decimal_pt_numeral})" + + pattern = f"^{decimal_lexical_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_double(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:double``. + + See: https://www.w3.org/TR/xmlschema-2/#double + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + # NOTE (mristin): + # See: https://www.w3.org/TR/xmlschema-2/#nt-doubleRep + double_rep = r"((\+|-)?([0-9]+(\.[0-9]*)?|\.[0-9]+)([Ee](\+|-)?[0-9]+)?|-?INF|NaN)" + + pattern = f"^{double_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_duration(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:duration``. + + See: https://www.w3.org/TR/xmlschema-2/#duration + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + # NOTE (mristin): + # See https://www.w3.org/TR/xmlschema-2/#nt-durationRep + + # fmt: off + duration_rep = ( +r"-?P((([0-9]+Y([0-9]+M)?([0-9]+D)?" + r"|([0-9]+M)([0-9]+D)?" + r"|([0-9]+D)" + r")" + r"(T(([0-9]+H)([0-9]+M)?([0-9]+(\.[0-9]+)?S)?" + r"|([0-9]+M)([0-9]+(\.[0-9]+)?S)?" + r"|([0-9]+(\.[0-9]+)?S)" + r")" + r")?" + r")" + r"|(T(([0-9]+H)([0-9]+M)?([0-9]+(\.[0-9]+)?S)?" + r"|([0-9]+M)([0-9]+(\.[0-9]+)?S)?" + r"|([0-9]+(\.[0-9]+)?S)" + r")" + r")" + r")" + ) + # fmt: on + + pattern = f"^{duration_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_float(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:float``. + + See: https://www.w3.org/TR/xmlschema-2/#float + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + float_rep = ( + r"((\+|-)?([0-9]+(\.[0-9]*)?|\.[0-9]+)([Ee](\+|-)?[0-9]+)?" r"|-?INF|NaN)" + ) + + pattern = f"^{float_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_g_day(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:gDay``. + + See: https://www.w3.org/TR/xmlschema-2/#gDay + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + # NOTE (mristin): + # See https://www.w3.org/TR/xmlschema-2/#nt-gDayRep + g_day_lexical_rep = ( + r"---(0[1-9]|[12][0-9]|3[01])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + ) + + pattern = f"^{g_day_lexical_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_g_month(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:gMonth``. + + See: https://www.w3.org/TR/xmlschema-2/#gMonth + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + # NOTE (mristin): + # See https://www.w3.org/TR/xmlschema-2/#nt-gMonthRep + g_month_lexical_rep = ( + r"--(0[1-9]|1[0-2])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + ) + + pattern = f"^{g_month_lexical_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_g_month_day(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:gMonthDay``. + + See: https://www.w3.org/TR/xmlschema-2/#gMonthDay + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + # NOTE (mristin): + # See https://www.w3.org/TR/xmlschema-2/#nt-gMonthDayRep + g_month_day_rep = ( + r"--(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])" + r"(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + ) + + pattern = f"^{g_month_day_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_g_year(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:gYear``. + + See: https://www.w3.org/TR/xmlschema-2/#gYear + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + # NOTE (mristin): + # See https://www.w3.org/TR/xmlschema-2/#nt-gYearRep + g_year_rep = ( + r"-?([1-9][0-9]{3,}|0[0-9]{3})(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + ) + + pattern = f"^{g_year_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_g_year_month(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:gYearMonth``. + + See: https://www.w3.org/TR/xmlschema-2/#gYearMonth + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + # NOTE (mristin): + # See https://www.w3.org/TR/xmlschema-2/#nt-gYearMonthRep + + g_year_month_rep = ( + r"-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])" + r"(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + ) + + pattern = f"^{g_year_month_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_hex_binary(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:hexBinary``. + + See: https://www.w3.org/TR/xmlschema-2/#hexBinary + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + # NOTE (mristin): + # See https://www.w3.org/TR/xmlschema-2/#nt-hexBinary + hex_binary = r"([0-9a-fA-F]{2})*" + + pattern = f"^{hex_binary}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_time(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:time``. + + See: https://www.w3.org/TR/xmlschema-2/#time + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + # NOTE (mristin): + # See https://www.w3.org/TR/xmlschema-2/#nt-timeRep + time_rep = ( + r"(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?|(24:00:00(\.0+)?))" + r"(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?" + ) + + pattern = f"^{time_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_integer(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:integer``. + + See: https://www.w3.org/TR/xmlschema-2/#integer + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + integer_rep = r"[\-+]?[0-9]+" + + pattern = f"^{integer_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_long(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:long``. + + See: https://www.w3.org/TR/xmlschema-2/#long + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + long_rep = r"[\-+]?0*[0-9]{1,20}" + + pattern = f"^{long_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_int(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:int``. + + See: https://www.w3.org/TR/xmlschema-2/#int + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + int_rep = r"[\-+]?0*[0-9]{1,10}" + + pattern = f"^{int_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_short(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:short``. + + See: https://www.w3.org/TR/xmlschema-2/#short + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + short_rep = r"[\-+]?0*[0-9]{1,5}" + + pattern = f"^{short_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_byte(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:byte``. + + See: https://www.w3.org/TR/xmlschema-2/#byte + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + byte_rep = r"[\-+]?0*[0-9]{1,3}" + + pattern = f"^{byte_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_non_negative_integer(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:nonNegativeInteger``. + + See: https://www.w3.org/TR/xmlschema-2/#nonNegativeInteger + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + non_negative_integer_rep = r"(-0|\+?[0-9]+)" + + pattern = f"^{non_negative_integer_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_positive_integer(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:positiveInteger``. + + See: https://www.w3.org/TR/xmlschema-2/#positiveInteger + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + positive_integer_rep = r"\+?0*[1-9][0-9]*" + + pattern = f"^{positive_integer_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_unsigned_long(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:unsignedLong``. + + See: https://www.w3.org/TR/xmlschema-2/#unsignedLong + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + unsigned_long_rep = r"(-0|\+?0*[0-9]{1,20})" + + pattern = f"^{unsigned_long_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_unsigned_int(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:unsignedInt``. + + See: https://www.w3.org/TR/xmlschema-2/#unsignedInt + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + unsigned_int_rep = r"(-0|\+?0*[0-9]{1,10})" + + pattern = f"^{unsigned_int_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_unsigned_short(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:unsignedShort``. + + See: https://www.w3.org/TR/xmlschema-2/#unsignedShort + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + unsigned_short_rep = r"(-0|\+?0*[0-9]{1,5})" + + pattern = f"^{unsigned_short_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_unsigned_byte(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:unsignedByte``. + + See: https://www.w3.org/TR/xmlschema-2/#unsignedByte + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + unsigned_byte_rep = r"(-0|\+?0*[0-9]{1,3})" + + pattern = f"^{unsigned_byte_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_non_positive_integer(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:nonPositiveInteger``. + + See: https://www.w3.org/TR/xmlschema-2/#nonPositiveInteger + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + non_positive_integer_rep = r"(\+0|0|-[0-9]+)" + + pattern = f"^{non_positive_integer_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_negative_integer(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:negativeInteger``. + + See: https://www.w3.org/TR/xmlschema-2/#negativeInteger + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + negative_integer_rep = r"(-0*[1-9][0-9]*)" + + pattern = f"^{negative_integer_rep}$" + return match(pattern, text) is not None + + +@verification +def matches_xs_string(text: str) -> bool: + """ + Check that :paramref:`text` conforms to the pattern of an ``xs:string``. + + See: https://www.w3.org/TR/xmlschema-2/#string + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + # From: https://www.w3.org/TR/xml11/#NT-Char + # Any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. + # noinspection SpellCheckingInspection + pattern = r"^[\x09\x0A\x0D\x20-\uD7FF\uE000-\uFFFD\U00010000-\U0010FFFF]*$" + return match(pattern, text) is not None + + +@verification +def _is_magnitude_at_most(digits: str, limit: str) -> bool: + """ + Check that the number given as :paramref:`digits` is at most :paramref:`limit`. + + Both :paramref:`digits` and :paramref:`limit` are expected to be decimal digits + without a sign and without leading zeros. An empty text represents zero. + + We compare the numbers as strings, since they might not fit into an integer. + The digits of numbers of equal length are ordered as the numbers themselves. + + :param digits: Number to be checked + :param limit: Largest allowed number + :returns: True if :paramref:`digits` is at most :paramref:`limit` + """ + if len(digits) != len(limit): + return len(digits) < len(limit) + + return digits <= limit + + +@verification +def _is_integer_in_range(text: str, max_negative: str, max_positive: str) -> bool: + """ + Check that the integer :paramref:`text` is within the given range. + + The :paramref:`text` is expected to consist of decimal digits with an optional + sign. + + :param text: Text to be checked + :param max_negative: Largest allowed magnitude of a negative number + :param max_positive: Largest allowed positive number + :returns: True if the :paramref:`text` is within the range + """ + digits = text.lstrip("+-").lstrip("0") + + if text.startswith("-"): + return _is_magnitude_at_most(digits, max_negative) + + return _is_magnitude_at_most(digits, max_positive) + + +Xs_double_overflow_threshold: Final[str] = constant_str( + value=( + "179769313486231580793728971405303415079934132710037826936173" + "778980444968292764750946649017977587207096330286416692887910" + "946555547851940402630657488671505820681908902000708383676273" + "854845817711531764475730270069855571366959622842914819860834" + "936475292719074168444365510704342711559699508093042880177904" + "174497792" + ), + description="""\ +Represent the smallest magnitude of a decimal which overflows an ``xs:double``. + +The decimals are rounded to the nearest double-precision floating-point number. +Hence, the decimals at or beyond the half-way between the largest double, +(2 - 2^-52) * 2^1023, and 2^1024 round to infinity. The half-way is the exact +integer 2^1024 - 2^970, given here in decimal digits.""", +) + +Xs_float_overflow_threshold: Final[str] = constant_str( + value="340282356779733661637539395458142568448", + description="""\ +Represent the smallest magnitude of a decimal which overflows an ``xs:float``. + +The decimals are rounded to the nearest single-precision floating-point number. +Hence, the decimals at or beyond the half-way between the largest float, +(2 - 2^-23) * 2^127, and 2^128 round to infinity. The half-way is the exact +integer 2^128 - 2^103, given here in decimal digits.""", +) + + +@verification +def _is_decimal_magnitude_below(text: str, limit: str) -> bool: + """ + Check that the magnitude of the decimal :paramref:`text` is below :paramref:`limit`. + + The :paramref:`text` is expected to match the pattern of a finite ``xs:double`` + or ``xs:float``, *i.e.*, a decimal with an optional sign, an optional point and + an optional exponent. The :paramref:`limit` is expected to be a positive integer + without leading zeros. + + We compare the numbers as strings, since they do not necessarily fit into + any native number, and parsing them to floating-point numbers would round them. + + :param text: Decimal to be checked + :param limit: Exclusive upper bound on the magnitude + :returns: True if the magnitude of :paramref:`text` is below :paramref:`limit` + """ + unsigned = text.lstrip("+-") + + exponent_start = unsigned.find("e") + if exponent_start == -1: + exponent_start = unsigned.find("E") + + mantissa = unsigned + exponent_text = "" + if exponent_start != -1: + mantissa = unsigned[:exponent_start] + exponent_text = unsigned[exponent_start + 1 :] + + point = mantissa.find(".") + + integer_part = mantissa + fraction_part = "" + if point != -1: + integer_part = mantissa[:point] + fraction_part = mantissa[point + 1 :] + + # NOTE (mristin): + # We represent the decimal as the significant digits ``0.d1 d2 ...`` times + # ten to the power of the magnitude. The significant digits are given by + # the ``head`` followed by the ``tail``. + head = integer_part.lstrip("0") + tail = fraction_part + shift: int = len(head) + + if head == "": + tail = fraction_part.lstrip("0") + if tail == "": + # The decimal is zero. + return True + + shift = len(tail) - len(fraction_part) + + exponent_digits = exponent_text.lstrip("+-").lstrip("0") + + # NOTE (mristin): + # An exponent with more than 15 digits does not safely fit into an integer. + # Its magnitude then dwarfs the number of the digits in any text, so its sign + # alone decides. + if len(exponent_digits) > 15: + return exponent_text.startswith("-") + + exponent: int = 0 + if len(exponent_digits) > 0: + exponent = int(exponent_digits) + + if exponent_text.startswith("-"): + exponent = -exponent + + magnitude = exponent + shift + + if magnitude != len(limit): + return magnitude < len(limit) + + # NOTE (mristin): + # Both the decimal and the limit have the same magnitude, so their significant + # digits are ordered as the numbers themselves. Trailing zeros do not affect + # the order: if the significant digits start with all the digits of the limit, + # the decimal is at least as large as the limit, and not below it. + return head + tail < limit + + +@verification +def is_xs_double(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:double``. + + We check that the :paramref:`text` matches the pattern of ``xs:double``, and + that it does not overflow, *i.e.*, that it does not round to infinity unless it + is ``INF`` or ``-INF``. See :const:`Xs_double_overflow_threshold`. + + See: https://www.w3.org/TR/xmlschema-2/#double + + :param text: Text to be checked + :returns: True if the :paramref:`text` is a valid ``xs:double`` + """ + if not matches_xs_double(text): + return False + + if text == "INF" or text == "-INF" or text == "NaN": + return True + + return _is_decimal_magnitude_below(text, Xs_double_overflow_threshold) + + +@verification +def is_xs_float(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:float``. + + We check that the :paramref:`text` matches the pattern of ``xs:float``, and + that it does not overflow, *i.e.*, that it does not round to infinity unless it + is ``INF`` or ``-INF``. See :const:`Xs_float_overflow_threshold`. + + See: https://www.w3.org/TR/xmlschema-2/#float + + :param text: Text to be checked + :returns: True if the :paramref:`text` is a valid ``xs:float`` + """ + if not matches_xs_float(text): + return False + + if text == "INF" or text == "-INF" or text == "NaN": + return True + + return _is_decimal_magnitude_below(text, Xs_float_overflow_threshold) + + +@verification +def is_xs_g_month_day(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:gMonthDay``. + + We check that the :paramref:`text` matches the pattern of ``xs:gMonthDay``, + and that the day exists in the month. February 29th is valid, as there is no + year to tell otherwise. + + See: https://www.w3.org/TR/xmlschema-2/#gMonthDay + + :param text: Text to be checked + :returns: True if the :paramref:`text` is a valid ``xs:gMonthDay`` + """ + return matches_xs_g_month_day(text) and _is_day_of_month_valid( + True, int(text[2:4]), int(text[5:7]) + ) + + +@verification +def is_xs_long(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:long``. + + We check that the :paramref:`text` matches the pattern of ``xs:long``, and + that the number is within the range of ``xs:long``. + + See: https://www.w3.org/TR/xmlschema-2/#long + + :param text: Text to be checked + :returns: True if the :paramref:`text` is a valid ``xs:long`` + """ + return matches_xs_long(text) and _is_integer_in_range( + text, "9223372036854775808", "9223372036854775807" + ) + + +@verification +def is_xs_int(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:int``. + + We check that the :paramref:`text` matches the pattern of ``xs:int``, and + that the number is within the range of ``xs:int``. + + See: https://www.w3.org/TR/xmlschema-2/#int + + :param text: Text to be checked + :returns: True if the :paramref:`text` is a valid ``xs:int`` + """ + return matches_xs_int(text) and _is_integer_in_range( + text, "2147483648", "2147483647" + ) + + +@verification +def is_xs_short(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:short``. + + We check that the :paramref:`text` matches the pattern of ``xs:short``, and + that the number is within the range of ``xs:short``. + + See: https://www.w3.org/TR/xmlschema-2/#short + + :param text: Text to be checked + :returns: True if the :paramref:`text` is a valid ``xs:short`` + """ + return matches_xs_short(text) and _is_integer_in_range(text, "32768", "32767") + + +@verification +def is_xs_byte(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:byte``. + + We check that the :paramref:`text` matches the pattern of ``xs:byte``, and + that the number is within the range of ``xs:byte``. + + See: https://www.w3.org/TR/xmlschema-2/#byte + + :param text: Text to be checked + :returns: True if the :paramref:`text` is a valid ``xs:byte`` + """ + return matches_xs_byte(text) and _is_integer_in_range(text, "128", "127") + + +@verification +def is_xs_unsigned_long(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:unsignedLong``. + + We check that the :paramref:`text` matches the pattern of ``xs:unsignedLong``, and + that the number is within the range of ``xs:unsignedLong``. + + See: https://www.w3.org/TR/xmlschema-2/#unsignedLong + + :param text: Text to be checked + :returns: True if the :paramref:`text` is a valid ``xs:unsignedLong`` + """ + return matches_xs_unsigned_long(text) and _is_integer_in_range( + text, "0", "18446744073709551615" + ) + + +@verification +def is_xs_unsigned_int(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:unsignedInt``. + + We check that the :paramref:`text` matches the pattern of ``xs:unsignedInt``, and + that the number is within the range of ``xs:unsignedInt``. + + See: https://www.w3.org/TR/xmlschema-2/#unsignedInt + + :param text: Text to be checked + :returns: True if the :paramref:`text` is a valid ``xs:unsignedInt`` + """ + return matches_xs_unsigned_int(text) and _is_integer_in_range( + text, "0", "4294967295" + ) + + +@verification +def is_xs_unsigned_short(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:unsignedShort``. + + We check that the :paramref:`text` matches the pattern of ``xs:unsignedShort``, and + that the number is within the range of ``xs:unsignedShort``. + + See: https://www.w3.org/TR/xmlschema-2/#unsignedShort + + :param text: Text to be checked + :returns: True if the :paramref:`text` is a valid ``xs:unsignedShort`` + """ + return matches_xs_unsigned_short(text) and _is_integer_in_range(text, "0", "65535") + + +@verification +def is_xs_unsigned_byte(text: str) -> bool: + """ + Check that :paramref:`text` is a valid ``xs:unsignedByte``. + + We check that the :paramref:`text` matches the pattern of ``xs:unsignedByte``, and + that the number is within the range of ``xs:unsignedByte``. + + See: https://www.w3.org/TR/xmlschema-2/#unsignedByte + + :param text: Text to be checked + :returns: True if the :paramref:`text` is a valid ``xs:unsignedByte`` + """ + return matches_xs_unsigned_byte(text) and _is_integer_in_range(text, "0", "255") + + +@verification +def value_consistent_with_XSD_type(value: str, value_type: "Data_type_def_XSD") -> bool: + """ + Check that the :paramref:`value` conforms to its :paramref:`value_type`. + + :param value: which needs to conform + :param value_type: pre-defined value type + :return: True if the :paramref:`value` conforms + """ + if value_type == Data_type_def_XSD.Any_URI: + return matches_xs_any_URI(value) + elif value_type == Data_type_def_XSD.Base_64_binary: + return matches_xs_base_64_binary(value) + elif value_type == Data_type_def_XSD.Boolean: + return matches_xs_boolean(value) + elif value_type == Data_type_def_XSD.Byte: + return is_xs_byte(value) + elif value_type == Data_type_def_XSD.Date: + return is_xs_date(value) + elif value_type == Data_type_def_XSD.Date_time: + return is_xs_date_time(value) + elif value_type == Data_type_def_XSD.Decimal: + return matches_xs_decimal(value) + elif value_type == Data_type_def_XSD.Double: + return is_xs_double(value) + elif value_type == Data_type_def_XSD.Duration: + return matches_xs_duration(value) + elif value_type == Data_type_def_XSD.Float: + return is_xs_float(value) + elif value_type == Data_type_def_XSD.G_day: + return matches_xs_g_day(value) + elif value_type == Data_type_def_XSD.G_month: + return matches_xs_g_month(value) + elif value_type == Data_type_def_XSD.G_month_day: + return is_xs_g_month_day(value) + elif value_type == Data_type_def_XSD.G_year: + return matches_xs_g_year(value) + elif value_type == Data_type_def_XSD.G_year_month: + return matches_xs_g_year_month(value) + elif value_type == Data_type_def_XSD.Hex_binary: + return matches_xs_hex_binary(value) + elif value_type == Data_type_def_XSD.Int: + return is_xs_int(value) + elif value_type == Data_type_def_XSD.Integer: + return matches_xs_integer(value) + elif value_type == Data_type_def_XSD.Long: + return is_xs_long(value) + elif value_type == Data_type_def_XSD.Negative_integer: + return matches_xs_negative_integer(value) + elif value_type == Data_type_def_XSD.Non_negative_integer: + return matches_xs_non_negative_integer(value) + elif value_type == Data_type_def_XSD.Non_positive_integer: + return matches_xs_non_positive_integer(value) + elif value_type == Data_type_def_XSD.Positive_integer: + return matches_xs_positive_integer(value) + elif value_type == Data_type_def_XSD.Short: + return is_xs_short(value) + elif value_type == Data_type_def_XSD.String: + return matches_xs_string(value) + elif value_type == Data_type_def_XSD.Time: + return matches_xs_time(value) + elif value_type == Data_type_def_XSD.Unsigned_byte: + return is_xs_unsigned_byte(value) + elif value_type == Data_type_def_XSD.Unsigned_int: + return is_xs_unsigned_int(value) + elif value_type == Data_type_def_XSD.Unsigned_long: + return is_xs_unsigned_long(value) + elif value_type == Data_type_def_XSD.Unsigned_short: + return is_xs_unsigned_short(value) + + # NOTE (mristin): + # We covered all the literals of :class:`Data_type_def_XSD` above. + return False + + +@verification +def is_model_reference_to(reference: "Reference", expected_type: "Key_types") -> bool: + """ + Check that the target of the model reference matches the :paramref:`expected_type`. + """ + # fmt: off + return ( + reference.type == Reference_types.Model_reference + and len(reference.keys) != 0 + and reference.keys[-1].type == expected_type + ) + # fmt: on + + +@verification +def is_model_reference_to_referable(reference: "Reference") -> bool: + """Check that the target of the reference matches a :const:`AAS_referables`.""" + # fmt: off + return ( + reference.type == Reference_types.Model_reference + and len(reference.keys) != 0 + and reference.keys[-1].type in AAS_referables + ) + # fmt: on + + +@verification +def ID_shorts_are_unique(referables: Sequence["Referable"]) -> bool: + """ + Check that the :attr:`Referable.ID_short`'s among the :paramref:`referables` are + unique in their namespace. + """ + id_short_set: Set[str] = set() + for referable in referables: + id_short = referable.ID_short + if id_short is None: + continue + + if id_short in id_short_set: + return False + + id_short_set.add(id_short) + + return True + + +@verification +def _collect_unique_ID_shorts_of_variables( + variables: Optional[Sequence["Operation_variable"]], id_short_set: Set[str] +) -> bool: + """ + Collect the :attr:`Referable.ID_short`'s of the :paramref:`variables` values. + + :param variables: Operation variables whose ID-shorts we collect + :param id_short_set: ID-shorts observed so far, extended in place + :returns: False if an ID-short has been already observed + """ + if variables is None: + return True + + for variable in variables: + id_short = variable.value.ID_short + if id_short is None: + continue + + if id_short in id_short_set: + return False + + id_short_set.add(id_short) + + return True + + +@verification +def ID_shorts_of_variables_are_unique( + input_variables: Optional[Sequence["Operation_variable"]], + output_variables: Optional[Sequence["Operation_variable"]], + inoutput_variables: Optional[Sequence["Operation_variable"]], +) -> bool: + """ + Check that the :attr:`Referable.ID_short`'s among all the + :paramref:`input_variables`, :paramref:`output_variables` + and :paramref:`inoutput_variables` are unique. + """ + id_short_set: Set[str] = set() + return ( + _collect_unique_ID_shorts_of_variables(input_variables, id_short_set) + and _collect_unique_ID_shorts_of_variables(output_variables, id_short_set) + and _collect_unique_ID_shorts_of_variables(inoutput_variables, id_short_set) + ) + + +@verification +def specific_asset_ID_name_matches_global_asset_ID(name: str) -> bool: + """Check whether :paramref:`name` is the reserved global asset ID key.""" + pattern = "^[gG][lL][oO][bB][aA][lL][aA][sS][sS][eE][tT][iI][dD]$" + return match(pattern, name) is not None + + +@verification +def submodel_element_has_template_qualifier_in_tree( + element: "Submodel_element", +) -> bool: + """Check whether :paramref:`element` or its descendants have template qualifiers.""" + if element.qualifiers is not None and any( + qualifier.kind_or_default() == Qualifier_kind.Template_qualifier + for qualifier in element.qualifiers + ): + return True + + if isinstance(element, Submodel_element_list): + return element.value is not None and any( + submodel_element_has_template_qualifier_in_tree(child) + for child in element.value + ) + + if isinstance(element, Submodel_element_collection): + return element.value is not None and any( + submodel_element_has_template_qualifier_in_tree(child) + for child in element.value + ) + + if isinstance(element, Entity): + return element.statements is not None and any( + submodel_element_has_template_qualifier_in_tree(child) + for child in element.statements + ) + + if isinstance(element, Annotated_relationship_element): + return element.annotations is not None and any( + submodel_element_has_template_qualifier_in_tree(child) + for child in element.annotations + ) + + if isinstance(element, Operation): + # NOTE (empwilli): + # According to AASd-129 child nodes of Operations are exempt from this rule. + pass + + return False + + +@verification +def submodel_elements_have_no_template_qualifiers( + elements: Sequence["Submodel_element"], +) -> bool: + """Check that :paramref:`elements` have no template qualifiers in their trees.""" + return all( + not submodel_element_has_template_qualifier_in_tree(element) + for element in elements + ) + + +@verification +def submodel_element_lists_have_exactly_one_element_in_tree( + element: "Submodel_element", +) -> bool: + """Recursively check that submodel element lists have exactly one child.""" + if isinstance(element, Submodel_element_list): + return ( + element.value is not None + and len(element.value) == 1 + and all( + submodel_element_lists_have_exactly_one_element_in_tree(child) + for child in element.value + ) + ) + + if isinstance(element, Submodel_element_collection): + return element.value is None or all( + submodel_element_lists_have_exactly_one_element_in_tree(child) + for child in element.value + ) + + if isinstance(element, Entity): + return element.statements is None or all( + submodel_element_lists_have_exactly_one_element_in_tree(child) + for child in element.statements + ) + + if isinstance(element, Annotated_relationship_element): + return element.annotations is None or all( + submodel_element_lists_have_exactly_one_element_in_tree(child) + for child in element.annotations + ) + + return True + + +@verification +def submodel_element_lists_in_submodel_elements_have_exactly_one_element( + elements: Sequence["Submodel_element"], +) -> bool: + """Check that all submodel element lists among :paramref:`elements` have one item.""" + return all( + submodel_element_lists_have_exactly_one_element_in_tree(element) + for element in elements + ) + + +@verification +def submodel_element_lists_in_operation_variables_have_exactly_one_element( + input_variables: Optional[Sequence["Operation_variable"]], + output_variables: Optional[Sequence["Operation_variable"]], + inoutput_variables: Optional[Sequence["Operation_variable"]], +) -> bool: + """Check that submodel element lists in operation variables have one item.""" + return ( + ( + input_variables is None + or all( + submodel_element_lists_have_exactly_one_element_in_tree(variable.value) + for variable in input_variables + ) + ) + and ( + output_variables is None + or all( + submodel_element_lists_have_exactly_one_element_in_tree(variable.value) + for variable in output_variables + ) + ) + and ( + inoutput_variables is None + or all( + submodel_element_lists_have_exactly_one_element_in_tree(variable.value) + for variable in inoutput_variables + ) + ) + ) + + +@verification +def extension_names_are_unique(extensions: Sequence["Extension"]) -> bool: + """Check that the extension names are unique.""" + name_set: Set[str] = set() + for extension in extensions: + if extension.name in name_set: + return False + + name_set.add(extension.name) + + return True + + +@verification +def submodel_elements_have_identical_semantic_IDs( + elements: Sequence["Submodel_element"], +) -> bool: + """Check that all semantic IDs are identical, if specified.""" + that_semantic_ID: Optional[Reference] = None + for element in elements: + this_semantic_ID = element.semantic_ID + if this_semantic_ID is None: + continue + + if that_semantic_ID is None: + that_semantic_ID = this_semantic_ID + elif not reference_key_values_equal(that_semantic_ID, this_semantic_ID): + return False + + return True + + +@verification +def submodel_element_is_of_type( + element: "Submodel_element", element_type: "AAS_submodel_elements" +) -> bool: + """ + Check that the run-time type of the :paramref:`element` coincides with + :paramref:`element_type`. + """ + if element_type == AAS_submodel_elements.Annotated_relationship_element: + return isinstance(element, Annotated_relationship_element) + elif element_type == AAS_submodel_elements.Basic_event_element: + return isinstance(element, Basic_event_element) + elif element_type == AAS_submodel_elements.Blob: + return isinstance(element, Blob) + elif element_type == AAS_submodel_elements.Capability: + return isinstance(element, Capability) + elif element_type == AAS_submodel_elements.Data_element: + return isinstance(element, Data_element) + elif element_type == AAS_submodel_elements.Entity: + return isinstance(element, Entity) + elif element_type == AAS_submodel_elements.Event_element: + return isinstance(element, Event_element) + elif element_type == AAS_submodel_elements.File: + return isinstance(element, File) + elif element_type == AAS_submodel_elements.Multi_language_property: + return isinstance(element, Multi_language_property) + elif element_type == AAS_submodel_elements.Operation: + return isinstance(element, Operation) + elif element_type == AAS_submodel_elements.Property: + return isinstance(element, Property) + elif element_type == AAS_submodel_elements.Range: + return isinstance(element, Range) + elif element_type == AAS_submodel_elements.Reference_element: + return isinstance(element, Reference_element) + elif element_type == AAS_submodel_elements.Relationship_element: + return isinstance(element, Relationship_element) + elif element_type == AAS_submodel_elements.Submodel_element: + return True + elif element_type == AAS_submodel_elements.Submodel_element_list: + return isinstance(element, Submodel_element_list) + elif element_type == AAS_submodel_elements.Submodel_element_collection: + return isinstance(element, Submodel_element_collection) + + # NOTE (mristin): + # We covered all the literals of :class:`AAS_submodel_elements` above. + return False + + +@verification +def properties_or_ranges_have_value_type( + elements: Sequence["Submodel_element"], value_type: "Data_type_def_XSD" +) -> bool: + """Check that all the :paramref:`elements` have the :paramref:`value_type`.""" + for element in elements: + if isinstance(element, Property) and element.value_type != value_type: + return False + + if isinstance(element, Range) and element.value_type != value_type: + return False + + return True + + +@verification +def reference_key_values_equal(that: "Reference", other: "Reference") -> bool: + """Check that the two references are equal by comparing their key values.""" + if len(that.keys) != len(other.keys): + return False + + for i in range(0, len(that.keys)): + if that.keys[i].value != other.keys[i].value: + return False + + return True + + +# endregion + + +@invariant( + lambda self: matches_XML_serializable_string(self), + "Constraint AASd-130: An attribute with data type 'string' shall consist " + "of these characters only: " + r"^[\x09\x0A\x0D\x20-\uD7FF\uE000-\uFFFD\U00010000-\U0010FFFF]*$.", +) +class XML_serializable_string(str, DBC): + r""" + Represent a string which must be serializable to XML. + + :constraint AASd-130: + + An attribute with data type "string" shall consist of these characters only: + ``^[\x09\x0A\x0D\x20-\uD7FF\uE000-\uFFFD\u00010000-\u0010FFFF]*$``. + """ + + +# fmt: off +@invariant( + lambda self: len(self) >= 1, + "The value must not be empty." +) +# fmt: on +class Non_empty_XML_serializable_string(XML_serializable_string, DBC): + """Represent an XML-serializable string with at least one character.""" + + +@invariant( + lambda self: is_xs_date_time_UTC(self), + "The value must represent a valid xs:dateTime with the time zone fixed to UTC.", +) +@invariant( + lambda self: matches_xs_date_time_UTC(self), + "The value must match the pattern of xs:dateTime with the time zone fixed to UTC.", +) +class Date_time_UTC(str, DBC): + """Represent an ``xs:dateTime`` with the time zone fixed to UTC.""" + + +@invariant( + lambda self: is_xs_date_time(self), + "The value must represent a valid xs:dateTime.", +) +@invariant( + lambda self: matches_xs_date_time(self), + "The value must match the pattern of xs:dateTime.", +) +class Date_time(str, DBC): + """Represent an ``xs:dateTime``.""" + + +@invariant( + lambda self: matches_xs_duration(self), + "The value must match the pattern of xs:duration.", +) +class Duration(str, DBC): + """Represent an ``xs:duration``.""" + + +class Blob_type(bytearray, DBC): + """Group of bytes to represent file content (binaries and non-binaries)""" + + +@invariant( + lambda self: len(self) <= 2048, + "Identifier shall have a maximum length of 2048 characters.", +) +class Identifier(Non_empty_XML_serializable_string, DBC): + """ + string + + .. note:: + + It is recommended to use existing standards, for example ID-Link + (IEC 61406) may be used for :attr:`Asset_information.global_asset_ID`. + + Typically, identifier strings do not contain blanks, emoticons or + carriage returns because they are not representable in existing systems. + """ + + +@invariant( + lambda self: len(self) <= 2048, + "Value type IEC 61360 shall have a maximum length of 2048 characters.", +) +class Value_type_IEC_61360(Non_empty_XML_serializable_string): + """ + string + """ + + +@invariant( + lambda self: len(self) <= 128, + "Name type shall have a maximum length of 128 characters.", +) +class Name_type(Non_empty_XML_serializable_string, DBC): + """ + string with length 128 maximum and 1 minimum + """ + + +@invariant( + lambda self: len(self) <= 4, + "Version type shall have a maximum length of 4 characters.", +) +@invariant( + lambda self: matches_version_type(self), + "Version type shall match the version pattern.", +) +class Version_type(Non_empty_XML_serializable_string): + """ + string with max 4 and min 1 characters + following the following regular expression: ``^([0-9]|[1-9][0-9]*)$`` + """ + + +@invariant( + lambda self: len(self) <= 4, + "Revision type shall have a maximum length of 4 characters.", +) +@invariant( + lambda self: matches_revision_type(self), + "Revision type shall match the revision pattern.", +) +class Revision_type(Non_empty_XML_serializable_string): + """ + string with max 4 and min 1 characters + following the following regular expression: ``^([0-9]|[1-9][0-9]*)$`` + """ + + +@invariant( + lambda self: len(self) <= 64, + "Label type shall have a maximum length of 64 characters.", +) +class Label_type(Non_empty_XML_serializable_string, DBC): + """ + string with max 64 and min 1 characters + """ + + +@invariant( + lambda self: len(self) <= 255, + "Message topic type shall have a maximum length of 255 characters.", +) +class Message_topic_type(Non_empty_XML_serializable_string, DBC): + """ + string with max 255 and min 1 characters + """ + + +# noinspection SpellCheckingInspection +@invariant( + lambda self: matches_BCP_47(self), + "The value must represent a value language tag conformant to BCP 47.", +) +class BCP_47_language_tag(str, DBC): + """ + Represent a language tag conformant to BCP 47. + + See: https://tools.ietf.org/rfc/bcp/bcp47.txt + """ + + +@invariant( + lambda self: matches_MIME_type(self), + "The value must represent a valid content MIME type according to RFC 2046.", +) +@invariant( + lambda self: len(self) <= 128, + "Content type shall have a maximum length of 128 characters.", +) +class Content_type(Non_empty_XML_serializable_string, DBC): + """ + string with max 128 and min 1 characters + + Any content type as specified in RFC2046. + + The content type should be registered by the Internet Assigned Numbers + Authority (IANA) as specified in RFC2048. + """ + + +@invariant( + lambda self: matches_RFC_2396(self), + "String with max 2048 and min 1 characters conformant to a URI as per RFC 2396.", +) +class Path_type(Identifier, DBC): + """ + Identifier + + string with max 2048 and min 1 characters + + conformant to a URI as per RFC 2396 + + .. note:: + + Values with this restriction are also conformant to the xsd datatype + anyURI. + + "A wide range of internationalized resource identifiers can be + specified when an anyURI is called for, and still be understood as + URIs per RFC 2396 and its successor(s)." + + Source: W3C XML Schema Definition Language (XSD) 1.0 Part 2: Datatypes + """ + + pass + + +class Qualifier_type(Name_type, DBC): + """ + NameType + """ + + +class Value_data_type(XML_serializable_string, DBC): + """ + any XSD atomic type as specified via :class:`Data_type_def_XSD` + """ + + +@invariant( + lambda self: matches_ID_short(self), + "AASd-002: ID-short of Referables shall consist of at least two characters " + "and shall only feature letters, digits, hyphen (``-``) and underscore (``_``); " + "starting mandatory with a letter, and not ending with a hyphen, " + "*I.e.* ``^[a-zA-Z][a-zA-Z0-9_-]*[a-zA-Z0-9_]+$``.", +) +class ID_short_type(Name_type, DBC): + """ + Represent a short ID of an :class:`Referable`. + + :constraint AASd-002: + + ID-short of :class:`Referable`'s shall consist of at least two characters + and shall only feature letters, digits, hyphen (``-``) and underscore + (``_``); starting mandatory with a letter, + and not ending with a hyphen, *I.e.* ``^[a-zA-Z][a-zA-Z0-9_-]*[a-zA-Z0-9_]+$``. + + :constraint AASd-117: + + :attr:`Referable.ID_short` of non-identifiable :class:`Referable`'s + not being a direct child of a :class:`Submodel_element_list` shall + be specified. + """ + + +@abstract +# fmt: off +@invariant( + lambda self: + not (self.supplemental_semantic_IDs is not None) + or ( + self.semantic_ID is not None + ), + "Constraint AASd-118: If there are supplemental semantic IDs defined " + "then there shall be also a main semantic ID." +) +@invariant( + lambda self: + not (self.supplemental_semantic_IDs is not None) + or len(self.supplemental_semantic_IDs) >= 1, + "Supplemental semantic IDs must be either not set or have at least one item." +) +# fmt: on +class Has_semantics(DBC): + """ + Element that can have a semantic definition plus some supplemental semantic + definitions. + + :constraint AASd-118: + + If there are ID :attr:`Has_semantics.supplemental_semantic_IDs` defined + then there shall be also a main semantic ID :attr:`Has_semantics.semantic_ID`. + """ + + semantic_ID: Optional["Reference"] + """ + Identifier of the semantic definition of the element. It is called semantic ID + of the element or also main semantic ID of the element. + """ + + supplemental_semantic_IDs: Optional[List["Reference"]] + """ + Identifier of a supplemental semantic definition of the element. + It is called supplemental semantic ID of the element. + """ + + def __init__( + self, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + ) -> None: + self.semantic_ID = semantic_ID + self.supplemental_semantic_IDs = supplemental_semantic_IDs + + +# fmt: off +@invariant( + lambda self: + not (self.value is not None) + or ( + value_consistent_with_XSD_type(self.value, self.value_type_or_default()) + ), + "The value must match the value type." +) +@invariant( + lambda self: + not (self.refers_to is not None) + or len(self.refers_to) >= 1, + "Refers-to must be either not set or have at least one item." +) +# fmt: on +class Extension(Has_semantics): + """ + Single extension of an element. + """ + + name: "Name_type" + """ + Name of the extension. + + :constraint AASd-077: + + The name of an extension (Extension/name) within :class:`Has_extensions` needs + to be unique. + """ + + value_type: Optional["Data_type_def_XSD"] + """ + Data type of the :attr:`value` attribute of the extension. + + Default: :attr:`Data_type_def_XSD.String` + """ + + @non_mutating + def value_type_or_default(self) -> "Data_type_def_XSD": + if self.value_type is not None: + return self.value_type + + return Data_type_def_XSD.String + + value: Optional["Value_data_type"] + """ + Value of the extension + """ + + refers_to: Optional[List["Reference"]] + """ + Reference to an element the extension refers to. + """ + + def __init__( + self, + name: "Name_type", + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + value_type: Optional["Data_type_def_XSD"] = None, + value: Optional["Value_data_type"] = None, + refers_to: Optional[List["Reference"]] = None, + ) -> None: + Has_semantics.__init__( + self, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + ) + + self.name = name + self.value_type = value_type + self.value = value + self.refers_to = refers_to + + +# fmt: off +@abstract +@invariant( + lambda self: + not (self.extensions is not None) or extension_names_are_unique(self.extensions), + "Constraint AASd-077: The name of an extension within " + "Has-Extensions needs to be unique." +) +@invariant( + lambda self: + not (self.extensions is not None) + or len(self.extensions) >= 1, + "Extensions must be either not set or have at least one item." +) +# fmt: on +class Has_extensions(DBC): + """ + Element that can be extended by proprietary extensions. + + .. note:: + + Extensions are proprietary, i.e. they do not support global interoperability. + """ + + extensions: Optional[List["Extension"]] + """ + An extension of the element. + """ + + def __init__(self, extensions: Optional[List["Extension"]] = None) -> None: + self.extensions = extensions + + +# fmt: off +@abstract +@invariant( + lambda self: + not (self.display_name is not None) + or lang_strings_have_unique_languages(self.display_name), + "Display name must specify unique languages." +) +@invariant( + lambda self: + not (self.display_name is not None) + or len(self.display_name) >= 1, + "Display name must be either not set or have at least one item." +) +@invariant( + lambda self: + not (self.description is not None) + or lang_strings_have_unique_languages(self.description), + "Description must specify unique languages." +) +@invariant( + lambda self: + not (self.description is not None) + or len(self.description) >= 1, + "Description must be either not set or have at least one item." +) +@serialization(with_model_type=True) +# fmt: on +class Referable(Has_extensions): + """ + Element that is referable by its :attr:`ID_short`. + + This ID is not globally unique. + This ID is unique within the name space of the element. + + :constraint AASd-022: + + :attr:`Referable.ID_short` of non-identifiable referables + within the same name space shall be unique (case-sensitive). + """ + + category: Optional[Name_type] + """ + The category is a value that gives further meta information + w.r.t. the class of the element. + It affects the expected existence of attributes and the applicability of + constraints. + + .. note:: + + The category is not identical to the semantic definition + (:class:`Has_semantics`) of an element. The category could e.g. denote that + the element is a measurement value, whereas the semantic definition of + the element would denote that it is the measured temperature. + + .. note:: + + Deprecated. + """ + + ID_short: Optional["ID_short_type"] + """ + In case of identifiables, this attribute is a short name of the element. + In case of a referable, this ID is an identifying string of the element within + its name space. + + .. note:: + + In case the element is a property and the property has a semantic definition + (:attr:`Has_semantics.semantic_ID`) conformant to IEC61360 + the :attr:`ID_short` is typically identical to the short name in English, + if available. + """ + + display_name: Optional[List["Lang_string_name_type"]] + """ + Display name. Can be provided in several languages. + """ + + description: Optional[List["Lang_string_text_type"]] + """ + Description or comments on the element. + + The description can be provided in several languages. + + If no description is defined, the definition of the concept + description that defines the semantics of the element is used. + + Additional information can be provided, e.g., if the element is + qualified and which qualifier types can be expected in which + context or which additional data specification templates. + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional["ID_short_type"] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + ) -> None: + Has_extensions.__init__(self, extensions=extensions) + + self.ID_short = ID_short + self.display_name = display_name + self.category = category + self.description = description + + +@abstract +class Identifiable(Referable): + """An element that has a globally unique identifier.""" + + administration: Optional["Administrative_information"] + """ + Administrative information of an identifiable element. + + .. note:: + + Some of the administrative information like the version number might need to + be part of the identification. + """ + + ID: "Identifier" + """The globally unique identification of the element.""" + + def __init__( + self, + ID: "Identifier", + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + administration: Optional["Administrative_information"] = None, + ) -> None: + Referable.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + ) + + self.ID = ID + self.administration = administration + + +class Modelling_kind(Enum): + """Enumeration for denoting whether an element is a template or an instance.""" + + Template = "Template" + """ + Specification of the common features of a structured element in sufficient detail + that such an instance can be instantiated using it + """ + + Instance = "Instance" + """ + Concrete, clearly identifiable element instance. Its creation and validation + may be guided by a corresponding element template. + """ + + +@abstract +class Has_kind(DBC): + """ + An element with a kind is an element that can either represent a template or an + instance. + + Default for an element is that it is representing an instance. + """ + + kind: Optional["Modelling_kind"] + """ + Kind of the element: either template or instance. + + Default: :attr:`Modelling_kind.Instance` + """ + + @non_mutating + def kind_or_default(self) -> "Modelling_kind": + if self.kind is not None: + return self.kind + + return Modelling_kind.Instance + + def __init__(self, kind: Optional["Modelling_kind"] = None) -> None: + self.kind = kind + + +# fmt: off +@abstract +@invariant( + lambda self: + not (self.embedded_data_specifications is not None) + or len(self.embedded_data_specifications) >= 1, + "Embedded data specifications must be either not set or have at least one item." +) +# fmt: on +class Has_data_specification(DBC): + """ + Element that can be extended by using data specification templates. + + A data specification template defines a named set of additional attributes an + element may or shall have. The data specifications used are explicitly specified + with their global ID. + """ + + embedded_data_specifications: Optional[List["Embedded_data_specification"]] + """Embedded data specification.""" + + def __init__( + self, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + ) -> None: + self.embedded_data_specifications = embedded_data_specifications + + +# fmt: off +@invariant( + lambda self: + not (self.revision is not None) or self.version is not None, + "Constraint AASd-005: If version is not specified, revision shall also be " + "unspecified. This means that a revision requires a version. If there is " + "no version, there is no revision. Revision is optional." +) +@invariant( + lambda self: + not (self.created_at is not None and self.updated_at is not None) + or date_time_UTC_less_or_invalid(self.created_at, self.updated_at), + "Created-at must be before updated-at." +) +# fmt: on +class Administrative_information(Has_data_specification): + """ + Administrative metainformation for an element. + + :constraint AASd-005: + + If :attr:`version` is not specified, :attr:`revision` shall also be + unspecified. This means that a revision requires a version. If there is + no version, there is no revision. Revision is optional. + """ + + version: Optional[Version_type] + """Version of the element.""" + + revision: Optional[Revision_type] + """Revision of the element.""" + + creator: Optional["Reference"] + """The subject ID of the subject responsible for making the element.""" + + created_at: Optional["Date_time_UTC"] + """date of creation.""" + + updated_at: Optional["Date_time_UTC"] + """date of update.""" + + template_ID: Optional["Identifier"] + """ + Identifier of the template that guided the creation of the element. + + .. note:: + + So far, :attr:`template_ID` is only applicable for :class:`Submodel`'s, + since template specifications are standardized for Submodels only. + + .. note:: + + In case of a submodel, the :attr:`template_ID` is the identifier + of the submodel template that guided the creation of the submodel + + .. note:: + + The :attr:`template_ID` is not relevant for validation in Submodels. + For validation the :attr:`Submodel.semantic_ID` shall be used. + + .. note:: + + Usage of :attr:`template_ID` is not restricted to submodel instances. So also + the creation of submodel templates can be guided by another submodel template. + """ + + def __init__( + self, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + version: Optional[Version_type] = None, + revision: Optional[Revision_type] = None, + creator: Optional["Reference"] = None, + created_at: Optional["Date_time_UTC"] = None, + updated_at: Optional["Date_time_UTC"] = None, + template_ID: Optional["Identifier"] = None, + ) -> None: + Has_data_specification.__init__( + self, embedded_data_specifications=embedded_data_specifications + ) + + self.version = version + self.revision = revision + self.creator = creator + self.created_at = created_at + self.updated_at = updated_at + self.template_ID = template_ID + + +# fmt: off +@abstract +@invariant( + lambda self: + not (self.qualifiers is not None) + or qualifier_types_are_unique(self.qualifiers), + "Constraint AASd-021: Every qualifiable shall only have one qualifier with " + "the same type." +) +@invariant( + lambda self: + not (self.qualifiers is not None) + or len(self.qualifiers) >= 1, + "Qualifiers must be either not set or have at least one item." +) +@serialization(with_model_type=True) +# fmt: on +class Qualifiable(DBC): + """ + A qualifiable element may be further qualified by one or more + qualifiers. + + :constraint AASd-119: + + If any :attr:`Qualifier.kind` value of :attr:`Qualifiable.qualifiers` is + equal to :attr:`Qualifier_kind.Template_qualifier` and the qualified element + inherits from :class:`Has_kind` then the qualified element shall be of + kind Template (:attr:`Has_kind.kind` = :attr:`Modelling_kind.Template`). + + .. note:: + + This constraint is checked at :class:`Submodel`. + """ + + qualifiers: Optional[List["Qualifier"]] + """ + Additional qualification of a qualifiable element. + + :constraint AASd-021: + + Every qualifiable shall only have one qualifier with the same + :attr:`Qualifier.type`. + """ + + def __init__(self, qualifiers: Optional[List["Qualifier"]] = None) -> None: + self.qualifiers = qualifiers + + +class Qualifier_kind(Enum): + """ + Enumeration for kinds of qualifiers. + + .. note:: + + This element is experimental and therefore may be subject to change or may be + removed completely in future versions of the meta-model. + """ + + Value_qualifier = "ValueQualifier" + """ + qualifies the value of the element; the corresponding qualifier value can + change over time. + + Value qualifiers are only applicable to elements with kind + :attr:`Modelling_kind.Instance`. + """ + + Concept_qualifier = "ConceptQualifier" + """ + qualifies the semantic definition (:attr:`Has_semantics.semantic_ID`) the + element is referring to; the corresponding qualifier value is static. + """ + + Template_qualifier = "TemplateQualifier" + """ + qualifies the elements within a specific submodel on concept level; the + corresponding qualifier value is static. + + Template qualifiers are only applicable to elements with kind + :attr:`Modelling_kind.Template`. + """ + + +# fmt: off +@invariant( + lambda self: + not (self.value is not None) + or value_consistent_with_XSD_type(self.value, self.value_type), + "Constraint AASd-020: The value shall be consistent with the data type as defined " + "in value type.", +) +# fmt: on +class Qualifier(Has_semantics): + """ + A qualifier is essentially a type-value-pair. Depending on the kind of + qualifier, it makes additional statements: + + * w.r.t. the value of the qualified element, + * w.r.t. the concept, i.e. semantic definition of the qualified element, + * w.r.t. existence and other meta information of the qualified element type. + + :constraint AASd-006: + + If both the :attr:`value` and the :attr:`value_ID` of + a :class:`Qualifier` are present then the :attr:`value` needs + to be identical to the value of the referenced coded value + in :attr:`value_ID`. + + :constraint AASd-020: + + The value of :attr:`value` shall be consistent with the data type as + defined in :attr:`value_type`. + """ + + kind: Optional["Qualifier_kind"] + """ + The qualifier kind describes the kind of qualifier that is applied to the + element. + + Default: :attr:`Qualifier_kind.Concept_qualifier` + """ + + @non_mutating + def kind_or_default(self) -> "Qualifier_kind": + if self.kind is not None: + return self.kind + + return Qualifier_kind.Concept_qualifier + + type: "Qualifier_type" + """ + The qualifier *type* describes the type of qualifier that is applied to + the element. + """ + + value_type: "Data_type_def_XSD" + """ + Data type of the qualifier value. + """ + + value: Optional["Value_data_type"] + """ + The qualifier value is the value of the qualifier. + """ + + value_ID: Optional["Reference"] + """ + Reference to the global unique ID of a coded value. + """ + + def __init__( + self, + type: "Qualifier_type", + value_type: "Data_type_def_XSD", + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + kind: Optional["Qualifier_kind"] = None, + value: Optional["Value_data_type"] = None, + value_ID: Optional["Reference"] = None, + ) -> None: + Has_semantics.__init__( + self, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + ) + + self.type = type + self.value_type = value_type + self.kind = kind + self.value = value + self.value_ID = value_ID + + +# fmt: off +@invariant( + lambda self: + not (self.submodels is not None) + or ( + all( + is_model_reference_to(reference, Key_types.Submodel) + for reference in self.submodels + ) + ), + "All submodels must be model references to a submodel." +) +@invariant( + lambda self: + not (self.derived_from is not None) + or ( + is_model_reference_to( + self.derived_from, + Key_types.Asset_administration_shell + ) + ), + "Derived-from must be a model reference to an asset administration shell." +) +@invariant( + lambda self: + not (self.submodels is not None) + or len(self.submodels) >= 1, + "Submodels must be either not set or have at least one item." +) +# fmt: on +class Asset_administration_shell(Identifiable, Has_data_specification): + """An Asset Administration Shell.""" + + derived_from: Optional["Reference"] + """ + The reference to the Asset Administration Shell, which the Asset + Administration Shell was derived from. + """ + + asset_information: "Asset_information" + """ + Meta information about the asset, the Asset Administration Shell is + representing. + """ + + submodels: Optional[List["Reference"]] + """ + References to submodels of the Asset Administration Shell. + + A submodel is a description of an aspect of the asset, the Asset + Administration Shell is representing. + + The asset of an Asset Administration Shell is typically described by one or + more submodels. + + Temporarily, no submodel might be assigned to the Asset Administration Shell. + """ + + def __init__( + self, + ID: Identifier, + asset_information: "Asset_information", + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + administration: Optional["Administrative_information"] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + derived_from: Optional["Reference"] = None, + submodels: Optional[List["Reference"]] = None, + ) -> None: + Identifiable.__init__( + self, + ID=ID, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + administration=administration, + ) + + Has_data_specification.__init__( + self, embedded_data_specifications=embedded_data_specifications + ) + + self.derived_from = derived_from + self.asset_information = asset_information + self.submodels = submodels + + +# fmt: off +@invariant( + lambda self: + not (self.specific_asset_IDs is not None) + or len(self.specific_asset_IDs) >= 1, + "Specific asset IDs must be either not set or have at least one item." +) +@invariant( + lambda self: + ( + self.global_asset_ID is not None + or self.specific_asset_IDs is not None + ) and ( + not (self.specific_asset_IDs is not None) + or len(self.specific_asset_IDs) >= 1 + ), + "Constraint AASd-131: Either the global asset ID shall be defined or at least one " + "specific asset ID." +) +@invariant( + lambda self: + not (self.specific_asset_IDs is not None) + or ( + all( + not ( + specific_asset_ID_name_matches_global_asset_ID( + specific_asset_ID.name + ) + ) or ( + self.global_asset_ID is not None + and specific_asset_ID.value == self.global_asset_ID + ) + for specific_asset_ID in self.specific_asset_IDs + ) + ), + "Constraint AASd-116: ``globalAssetId`` (case-insensitive) is a reserved key. " + "If used as value for the name of specific asset ID then the value of specific " + "asset ID shall be identical to the global asset ID with semantics as defined in " + "https://admin-shell.io/aas/3/x/AssetInformation/globalAssetId, " + "x being the minor version of the used specification." +) +# fmt: on +class Asset_information(DBC): + """ + In :class:`Asset_information` identifying metadata of the asset that is + represented by an Asset Administration Shell is defined. + + Several asset kinds are distinguished like for example type assets and + instance assets. + + The asset has a globally unique identifier, plus – if needed – additional + domain-specific (proprietary) identifiers. However, to support the corner case + of very first phase of life cycle where a stabilized/constant global asset + identifier does not already exist, the corresponding attribute + :attr:`global_asset_ID` is optional. + + :constraint AASd-116: + + ``globalAssetId`` (case-insensitive) is a reserved key for + :attr:`Specific_asset_ID.name` with the semantics as defined in + ``https://admin-shell.io/aas/3/x/AssetInformation/globalAssetId`` + where ``x`` is the minor version. + + .. note:: + + :constraintref:`AASd-116` is important to enable a generic search across + global and specific asset IDs (e.g. in IDTA-01002-3-0 discovery + operations like GetAllAssetLinksById). In the future the constraint + might become more strict in stating that the name ``globalAssetId`` + shall not be used as :attr:`Specific_asset_ID.name`. + + .. note:: + + The comparison against ``globalAssetId`` is ASCII case-insensitive. + + :constraint AASd-131: + + For :class:`Asset_information` either the :attr:`global_asset_ID` shall be + defined or at least one item in :attr:`specific_asset_IDs`. + + + """ + + asset_kind: "Asset_kind" + """ + Denotes whether the Asset is of kind :attr:`Asset_kind.Type`, + :attr:`Asset_kind.Instance`, :attr:`Asset_kind.Batch`, :attr:`Asset_kind.Role`, + or :attr:`Asset_kind.Not_applicable`. + """ + + global_asset_ID: Optional["Identifier"] + """ + Identifier of the asset, the Asset Administration Shell is representing. + + This attribute is required as soon as the Asset Administration Shell is + exchanged via partners in the life cycle of the asset. In a first phase of the + life cycle, the asset might not yet have a global asset ID but already an + internal identifier. The internal identifier would be modelled via + :attr:`specific_asset_IDs`. + """ + + specific_asset_IDs: Optional[List["Specific_asset_ID"]] + """ + Additional domain-specific, typically proprietary identifier for the asset like + serial number, manufacturer part ID, customer part IDs, etc. + """ + + asset_type: Optional["Identifier"] + """ + In case :attr:`asset_kind` is not :attr:`Asset_kind.Not_applicable` the + :attr:`asset_type` is the asset ID of the type asset of the asset under + consideration as identified by :attr:`global_asset_ID`. + + .. note:: + + In case :attr:`asset_kind` is "Instance" then the :attr:`asset_type` denotes + which "Type" the asset is of. But it is also possible + to have an :attr:`asset_type` of an asset of kind "Type". + + """ + + default_thumbnail: Optional["Resource"] + """ + Thumbnail of the asset represented by the Asset Administration Shell. + + Used as default. + """ + + def __init__( + self, + asset_kind: "Asset_kind", + global_asset_ID: Optional["Identifier"] = None, + specific_asset_IDs: Optional[List["Specific_asset_ID"]] = None, + asset_type: Optional["Identifier"] = None, + default_thumbnail: Optional["Resource"] = None, + ) -> None: + self.asset_kind = asset_kind + self.global_asset_ID = global_asset_ID + self.specific_asset_IDs = specific_asset_IDs + self.asset_type = asset_type + self.default_thumbnail = default_thumbnail + + +class Resource(DBC): + """ + Resource represents an address to a file (a locator). The value is a URI that + can represent an absolute or relative path. + """ + + path: "Path_type" + """ + Path and name of the resource (with file extension). + + The path can be absolute or relative. + """ + + content_type: Optional["Content_type"] + """ + Content type of the content of the file. + + A single content type (MIME type) can have multiple file extensions + associated with it. + """ + + def __init__( + self, + path: "Path_type", + content_type: Optional["Content_type"] = None, + ) -> None: + self.path = path + self.content_type = content_type + + +class Asset_kind(Enum): + """ + Enumeration for denoting whether an asset is a type asset or an instance + asset or a batch asset or is a role or whether this kind of classification + is not applicable. + """ + + Type = "Type" + """ + Type asset + """ + + Instance = "Instance" + """ + Instance asset + """ + + Batch = "Batch" + """ + Batch asset + """ + + Role = "Role" + """ + Role asset + """ + + Not_applicable = "NotApplicable" + """ + None of the other asset kinds + """ + + +@invariant( + lambda self: not (self.external_subject_ID is not None) + or (self.external_subject_ID.type == Reference_types.External_reference), + "Constraint AASd-133: External subject ID shall be an external reference.", +) +class Specific_asset_ID(Has_semantics): + """ + A specific asset ID describes a generic supplementary identifying attribute of the + asset. + + The specific asset ID is not necessarily globally unique. + + :constraint AASd-133: + + :attr:`external_subject_ID` shall be an external reference, + i.e. :attr:`Reference.type` = :attr:`Reference_types.External_reference`. + """ + + name: Label_type + """Name of the asset identifier.""" + + value: Identifier + """The value of the specific asset identifier with the corresponding name.""" + + external_subject_ID: Optional["Reference"] + """ + The unique ID of the (external) subject the specific asset ID value belongs + to or has meaning to. + + .. note:: + + This is an external reference. + """ + + def __init__( + self, + name: Label_type, + value: Identifier, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + external_subject_ID: Optional["Reference"] = None, + ) -> None: + Has_semantics.__init__( + self, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + ) + self.name = name + self.value = value + self.external_subject_ID = external_subject_ID + + +# fmt: off +@invariant( + lambda self: + not (self.qualifiers is not None) + or ( + not any( + qualifier.kind_or_default() == Qualifier_kind.Template_qualifier + for qualifier in self.qualifiers + ) or ( + self.kind_or_default() == Modelling_kind.Template + ) + ), + "Constraint AASd-119: If any qualifier kind value of a qualifiable qualifier is " + "equal to template qualifier and the qualified element has kind then the qualified " + "element shall be of kind template." +) +@invariant( + lambda self: + not (self.submodel_elements is not None) + or ( + not (self.kind_or_default() != Modelling_kind.Template) + or ( + submodel_elements_have_no_template_qualifiers( + self.submodel_elements + ) + ) + ), + "Constraint AASd-129: If any kind value of a qualifier " + "(attribute qualifier inherited via Qualifiable) is equal to TemplateQualifier, " + "the submodel element shall be part of a submodel template, i.e. a submodel with " + "kind (attribute kind inherited via Has-Kind) value equal to Template. " + "Exception: the submodel element is part of an operation variable." +) +@invariant( + lambda self: + not ( + self.kind_or_default() == Modelling_kind.Template + ) + or ( + self.submodel_elements is not None + and submodel_element_lists_in_submodel_elements_have_exactly_one_element( + self.submodel_elements + ) + ), + "Constraint AASd-138: A submodel element list within a submodel of kind " + "Template or as part of an operation variable shall have exactly one element." +) +@invariant( + lambda self: + not (self.submodel_elements is not None) + or (ID_shorts_are_unique(self.submodel_elements)), + "Constraint AASd-022: ID-short of non-identifiable referables " + "within the same name space shall be unique (case-sensitive)." +) +@invariant( + lambda self: + not (self.submodel_elements is not None) + or all( + item.ID_short is not None + for item in self.submodel_elements + ), + "ID-shorts need to be defined for all the items of submodel elements according to " + "AASd-117 (ID-short of non-identifiable Referables not being a direct child of " + "a Submodel element list shall be specified)." +) +@invariant( + lambda self: + not (self.submodel_elements is not None) + or len(self.submodel_elements) >= 1, + "Submodel elements must be either not set or have at least one item." +) +# fmt: on +class Submodel( + Identifiable, Has_kind, Has_semantics, Qualifiable, Has_data_specification +): + """ + A submodel defines a specific aspect of the asset represented by the Asset + Administration Shell. + + A submodel is used to structure the digital representation and technical + functionality of an Administration Shell into distinguishable parts. Each submodel + refers to a well-defined domain or subject. Submodels can become standardized + and, in turn, submodel templates. + """ + + submodel_elements: Optional[List["Submodel_element"]] + """Submodel elements contained in the submodel.""" + + def __init__( + self, + ID: Identifier, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + administration: Optional["Administrative_information"] = None, + kind: Optional["Modelling_kind"] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + submodel_elements: Optional[List["Submodel_element"]] = None, + ) -> None: + Identifiable.__init__( + self, + ID=ID, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + administration=administration, + ) + + Has_kind.__init__(self, kind=kind) + + Has_semantics.__init__( + self, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + ) + + Qualifiable.__init__(self, qualifiers=qualifiers) + + Has_data_specification.__init__( + self, embedded_data_specifications=embedded_data_specifications + ) + + self.submodel_elements = submodel_elements + + +@abstract +class Submodel_element(Referable, Has_semantics, Qualifiable, Has_data_specification): + """ + A submodel element is an element suitable for the description and differentiation of + assets. + + It is recommended to add a :attr:`Has_semantics.semantic_ID` to a submodel element. + + :constraint AASd-129: + + If any :attr:`Qualifier.kind` value of :attr:`qualifiers` (attribute qualifier + inherited via Qualifiable) is equal to :attr:`Qualifier_kind.Template_qualifier`, + the submodel element shall be part of a submodel template, i.e. + a submodel with :attr:`Submodel.kind` (attribute kind inherited via + :class:`Has_kind`) value equal to :attr:`Modelling_kind.Template`. + Exception: the submodel element is part of an :class:`Operation_variable`. + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + ) -> None: + Referable.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + ) + + Has_semantics.__init__( + self, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + ) + + Qualifiable.__init__(self, qualifiers=qualifiers) + + Has_data_specification.__init__( + self, embedded_data_specifications=embedded_data_specifications + ) + + +class Relationship_element(Submodel_element): + """ + A relationship element is used to define a relationship between two elements + being either referable (model reference) or external (external reference). + """ + + first: Optional["Reference"] + """ + Reference to the first element in the relationship taking the role of the subject. + """ + + second: Optional["Reference"] + """ + Reference to the second element in the relationship taking the role of the object. + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + first: Optional["Reference"] = None, + second: Optional["Reference"] = None, + ) -> None: + Submodel_element.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + self.first = first + self.second = second + + +class AAS_submodel_elements(Enum): + """ + Enumeration of Submodel Element types including abstract Submodel Element types. + """ + + Annotated_relationship_element = "AnnotatedRelationshipElement" + Basic_event_element = "BasicEventElement" + Blob = "Blob" + Capability = "Capability" + + Data_element = "DataElement" + """ + Data element. + + .. note:: + + Data Element is abstract, *i.e.* if a key uses :attr:`Data_element` + the reference may be a :class:`Property`, a :class:`File` etc. + """ + + Entity = "Entity" + + Event_element = "EventElement" + """ + Event. + + .. note:: + + :class:`Event_element` is abstract. + """ + + File = "File" + + Multi_language_property = "MultiLanguageProperty" + """Property with a value that can be provided in multiple languages""" + + Operation = "Operation" + Property = "Property" + + Range = "Range" + """Range with min and max""" + + Reference_element = "ReferenceElement" + """ + Reference + """ + + Relationship_element = "RelationshipElement" + """ + Relationship + """ + + Submodel_element = "SubmodelElement" + """ + Submodel Element + + .. note:: + + Submodel Element is abstract, *i.e.* if a key uses :attr:`Submodel_element` + the reference may be a :class:`Property`, an :class:`Operation` etc. + """ + + Submodel_element_list = "SubmodelElementList" + """ + List of Submodel Elements + """ + + Submodel_element_collection = "SubmodelElementCollection" + """ + Struct of Submodel Elements + """ + + +# fmt: off +@invariant( + lambda self: + not (self.value is not None) + or ID_shorts_are_unique(self.value), + "ID-shorts of the value must be unique." +) +@invariant( + lambda self: + not ( + self.value is not None + and ( + self.type_value_list_element == AAS_submodel_elements.Property + or self.type_value_list_element == AAS_submodel_elements.Range + ) + ) or ( + self.value_type_list_element is not None + and properties_or_ranges_have_value_type( + self.value, + self.value_type_list_element + ) + ), + "Constraint AASd-109: If type value list element is equal to " + "Property or Range value type list element shall be set " + "and all first level child elements shall have the value type as specified in " + "value type list element." +) +@invariant( + lambda self: + not (self.value is not None) + or all( + submodel_element_is_of_type(element, self.type_value_list_element) + for element in self.value + ), + "Constraint AASd-108: All first level child elements shall have " + "the same submodel element type as specified in type value list element." +) +@invariant( + lambda self: + not (self.value is not None) + or submodel_elements_have_identical_semantic_IDs(self.value), + "Constraint AASd-114: If two first level child elements " + "have a semantic ID then they shall be identical." +) +@invariant( + lambda self: + not ( + self.value is not None + and self.semantic_ID_list_element is not None + ) or ( + all( + not (child.semantic_ID is not None) + or reference_key_values_equal( + child.semantic_ID, + self.semantic_ID_list_element) + for child in self.value + ) + ), + "Constraint AASd-107: If a first level child element has a semantic ID " + "it shall be identical to semantic ID list element." +) +@invariant( + lambda self: + not (self.value is not None) + or len(self.value) >= 1, + "Value must be either not set or have at least one item." +) +# fmt: on +class Submodel_element_list(Submodel_element): + """ + A submodel element list is an ordered list of submodel elements. + + .. note:: + + The list is ordered although the ordering might not be relevant + (see :attr:`order_relevant`). + + The numbering starts with zero (0). + + :constraint AASd-107: + + If a first level child element in a :class:`Submodel_element_list` has + a :attr:`Has_semantics.semantic_ID` it + shall be identical to :attr:`Submodel_element_list.semantic_ID_list_element`. + + :constraint AASd-114: + + If two first level child elements in a :class:`Submodel_element_list` have + a :attr:`Has_semantics.semantic_ID` then they shall be identical. + + :constraint AASd-115: + + If a first level child element in a :class:`Submodel_element_list` does not + specify a :attr:`Has_semantics.semantic_ID` then the value is assumed to be + identical to :attr:`Submodel_element_list.semantic_ID_list_element`. + + :constraint AASd-108: + + All first level child elements in a :class:`Submodel_element_list` shall have + the same submodel element type as specified in :attr:`type_value_list_element`. + + :constraint AASd-109: + + If :attr:`type_value_list_element` is equal to + :attr:`AAS_submodel_elements.Property` or + :attr:`AAS_submodel_elements.Range` + :attr:`value_type_list_element` shall be set and all first + level child elements in the :class:`Submodel_element_list` shall have + the value type as specified in :attr:`value_type_list_element`. + + :constraint AASd-138: + + A :class:`Submodel_element_list` within a :class:`Submodel` of + :attr:`Has_kind.kind` = :attr:`Modelling_kind.Template` or as part of + an :class:`Operation_variable` shall have exactly one element. + + .. note:: + + This constraint is checked at :class:`Submodel` and :class:`Operation`. + """ + + order_relevant: Optional["bool"] + """ + Defines whether order in list is relevant. If :attr:`order_relevant` = ``False`` + then the list is representing a set or a bag. + + Default: ``True`` + """ + + @non_mutating + def order_relevant_or_default(self) -> bool: + if self.order_relevant is not None: + return self.order_relevant + + return True + + semantic_ID_list_element: Optional["Reference"] + """ + Semantic ID the submodel elements contained in the list match to. + """ + + type_value_list_element: "AAS_submodel_elements" + """ + The submodel element type of the submodel elements contained in the list. + """ + + value_type_list_element: Optional["Data_type_def_XSD"] + """ + The value type of the submodel element contained in the list. + """ + + value: Optional[List["Submodel_element"]] + """ + Submodel element contained in the list. + """ + + def __init__( + self, + type_value_list_element: "AAS_submodel_elements", + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + order_relevant: Optional["bool"] = None, + semantic_ID_list_element: Optional["Reference"] = None, + value_type_list_element: Optional["Data_type_def_XSD"] = None, + value: Optional[List["Submodel_element"]] = None, + ) -> None: + Submodel_element.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + self.type_value_list_element = type_value_list_element + self.order_relevant = order_relevant + self.semantic_ID_list_element = semantic_ID_list_element + self.value_type_list_element = value_type_list_element + self.value = value + + +# fmt: off +@invariant( + lambda self: + not (self.value is not None) + or ID_shorts_are_unique(self.value), + "ID-shorts of the value must be unique." +) +@invariant( + lambda self: + not (self.value is not None) + or all( + item.ID_short is not None + for item in self.value + ), + "ID-shorts need to be defined for all the items of value according to AASd-117 " + "(ID-short of non-identifiable Referables not being a direct child of a Submodel " + "element list shall be specified)." +) +@invariant( + lambda self: + not (self.value is not None) + or len(self.value) >= 1, + "Value must be either not set or have at least one item." +) +# fmt: on +class Submodel_element_collection(Submodel_element): + """ + A submodel element collection is a kind of struct, i.e. a logical encapsulation + of multiple named values. + """ + + value: Optional[List["Submodel_element"]] + """ + Submodel element contained in the collection. + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + value: Optional[List["Submodel_element"]] = None, + ) -> None: + Submodel_element.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + self.value = value + + +# fmt: off +@abstract +# fmt: on +class Data_element(Submodel_element): + """ + A data element is a submodel element that is not further composed of + other submodel elements. + + A data element is a submodel element that has a value. The type of value differs + for different subtypes of data elements. + + .. note:: + + Categories are deprecated and should no longer be used. + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List[Qualifier]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + ) -> None: + Submodel_element.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + +# fmt: off +@invariant( + lambda self: + not (self.value is not None) + or value_consistent_with_XSD_type(self.value, self.value_type), + "Value must be consistent with the value type." +) +# fmt: on +class Property(Data_element): + """ + A property is a data element that has a single value. + + :constraint AASd-007: + + If both, the :attr:`value` and the :attr:`value_ID` are + present then the value of :attr:`value` needs to be identical to + the value of the referenced coded value in :attr:`value_ID`. + """ + + value_type: "Data_type_def_XSD" + """ + Data type of the :attr:`value` attribute. + """ + + value: Optional["Value_data_type"] + """ + The value of the property instance. + """ + + value_ID: Optional["Reference"] + """ + Reference to the global unique ID of a coded value. + """ + + def __init__( + self, + value_type: "Data_type_def_XSD", + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List[Qualifier]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + value: Optional["Value_data_type"] = None, + value_ID: Optional["Reference"] = None, + ) -> None: + Data_element.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + self.value_type = value_type + self.value = value + self.value_ID = value_ID + + +# fmt: off +@invariant( + lambda self: + not (self.value is not None) + or len(self.value) >= 1, + "Value must be either not set or have at least one item." +) +@invariant( + lambda self: + not (self.value is not None) + or lang_strings_have_unique_languages(self.value), + "Value must specify unique languages." +) +# fmt: on +class Multi_language_property(Data_element): + """ + A property is a data element that has a multi-language value. + + :constraint AASd-012: + If both the :attr:`value` and the :attr:`value_ID` are present then for each + string in a specific language the meaning must be the same as specified in + :attr:`value_ID`. + """ + + value: Optional[List["Lang_string_text_type"]] + """ + The value of the property instance. + """ + + value_ID: Optional["Reference"] + """ + Reference to the global unique ID of a coded value. + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List[Qualifier]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + value: Optional[List["Lang_string_text_type"]] = None, + value_ID: Optional["Reference"] = None, + ) -> None: + Data_element.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + self.value = value + self.value_ID = value_ID + + +# fmt: off +@invariant( + lambda self: + not (self.min is not None) + or value_consistent_with_XSD_type(self.min, self.value_type), + "Min must be consistent with the value type." +) +@invariant( + lambda self: + not (self.max is not None) + or value_consistent_with_XSD_type(self.max, self.value_type), + "Max must be consistent with the value type." +) +# fmt: on +class Range(Data_element): + """ + A range data element is a data element that defines a range with min and max. + + .. note:: + + This element is experimental and therefore may be subject to change or may be + removed completely in future versions of the meta-model. + """ + + value_type: "Data_type_def_XSD" + """ + Data type of the :attr:`min` und :attr:`max` attributes + """ + + min: Optional["Value_data_type"] + """ + The minimum value of the range. + """ + + max: Optional["Value_data_type"] + """ + The maximum value of the range. + """ + + def __init__( + self, + value_type: "Data_type_def_XSD", + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List[Qualifier]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + min: Optional["Value_data_type"] = None, + max: Optional["Value_data_type"] = None, + ) -> None: + Data_element.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + self.value_type = value_type + self.min = min + self.max = max + + +class Reference_element(Data_element): + """ + A reference element is a data element that defines a logical reference to another + element within the same or another Asset Administration Shell or a reference to + an external object or entity. + """ + + value: Optional["Reference"] + """ + External reference to an external object or entity or a logical reference to + another element within the same or another Asset Administration Shell (i.e. a + model reference to a Referable). + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List[Qualifier]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + value: Optional["Reference"] = None, + ) -> None: + Data_element.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + self.value = value + + +class Blob(Data_element): + """ + A :class:`Blob` is a data element that represents a file that is contained in the + :attr:`value` attribute with its source code. + """ + + value: Optional["Blob_type"] + """ + The value of the :class:`Blob` instance of a blob data element. + + .. note:: + + In contrast to the file property the file content is stored directly as value + in the :class:`Blob` data element. + """ + + content_type: Optional[Content_type] + """ + Content type of the content of the :class:`Blob`. + + The content type (MIME type) states which file extensions the file can have. + + Valid values are content types like ``application/json``, ``application/xls``, + ``image/jpg``. + + The allowed values are defined as in RFC2046. + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List[Qualifier]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + value: Optional["Blob_type"] = None, + content_type: Optional[Content_type] = None, + ) -> None: + Data_element.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + self.content_type = content_type + self.value = value + + +class File(Data_element): + """ + A file is a data element that represents an address to a file (a locator). + + The value is a URI that can represent an absolute or relative path. + """ + + value: Optional["Path_type"] + """ + Path and name of the file (with file extension). + + The path can be absolute or relative. + """ + + content_type: Optional["Content_type"] + """ + Content type of the content of the file. + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List[Qualifier]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + value: Optional["Path_type"] = None, + content_type: Optional["Content_type"] = None, + ) -> None: + Data_element.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + self.content_type = content_type + self.value = value + + +# fmt: off +@invariant( + lambda self: + not (self.annotations is not None) + or all( + item.ID_short is not None + for item in self.annotations + ), + "ID-shorts need to be defined for all the items of annotations according to " + "AASd-117 (ID-short of non-identifiable Referables not being a direct child of " + "a Submodel element list shall be specified)." +) +@invariant( + lambda self: + not (self.annotations is not None) + or len(self.annotations) >= 1, + "Annotations must be either not set or have at least one item." +) +# fmt: on +class Annotated_relationship_element(Relationship_element): + """ + An annotated relationship element is a relationship element that can be annotated + with additional data elements. + """ + + annotations: Optional[List[Data_element]] + """ + A data element that represents an annotation that holds for the relationship + between the two elements + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List[Qualifier]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + first: Optional["Reference"] = None, + second: Optional["Reference"] = None, + annotations: Optional[List[Data_element]] = None, + ) -> None: + Relationship_element.__init__( + self, + first=first, + second=second, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + self.annotations = annotations + + +# fmt: off +@invariant( + lambda self: + not (self.specific_asset_IDs is not None) + or len(self.specific_asset_IDs) >= 1, + "Specific asset IDs must be either not set or have at least one item." +) +@invariant( + lambda self: + not (self.entity_type is not None) + or ( + not (self.entity_type == Entity_type.Self_managed_entity) + or ( + ( + self.global_asset_ID is not None + and self.specific_asset_IDs is None + ) or ( + self.global_asset_ID is None + and self.specific_asset_IDs is not None + and len(self.specific_asset_IDs) >= 1 + ) + ) + ), + "Constraint AASd-014: Either the attribute global asset ID or " + "specific asset ID must be set if Entity/entityType is set to :attr:`Entity_type.Self_managed_entity`." +) +@invariant( + lambda self: + not (self.statements is not None) + or all( + item.ID_short is not None + for item in self.statements + ), + "ID-shorts need to be defined for all the items of statements according to " + "AASd-117 (ID-short of non-identifiable Referables not being a direct child of " + "a Submodel element list shall be specified)." +) +@invariant( + lambda self: + not (self.statements is not None) + or len(self.statements) >= 1, + "Statements must be either not set or have at least one item." +) +# fmt: on +class Entity(Submodel_element): + """ + An entity is a submodel element that is used to model entities. + + :constraint AASd-014: + + Either the attribute :attr:`global_asset_ID` or :attr:`specific_asset_IDs` + of an :class:`Entity` must be set if Entity/entityType is set to :attr:`Entity_type.Self_managed_entity`. + """ + + statements: Optional[List["Submodel_element"]] + """ + Statement applicable to the entity, each statement described by a + :class:`Submodel_element` - typically with a qualified value. + """ + + entity_type: Optional["Entity_type"] + """ + Describes whether the entity is a co-managed entity or a self-managed entity. + """ + + global_asset_ID: Optional["Identifier"] + """ + Global identifier of the asset the entity is representing. + """ + + specific_asset_IDs: Optional[List["Specific_asset_ID"]] + """ + Reference to a specific asset ID representing a supplementary identifier + of the asset represented by the Asset Administration Shell. + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + statements: Optional[List["Submodel_element"]] = None, + entity_type: Optional["Entity_type"] = None, + global_asset_ID: Optional["Identifier"] = None, + specific_asset_IDs: Optional[List["Specific_asset_ID"]] = None, + ) -> None: + Submodel_element.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + self.statements = statements + self.entity_type = entity_type + self.global_asset_ID = global_asset_ID + self.specific_asset_IDs = specific_asset_IDs + + +class Entity_type(Enum): + """ + Enumeration for denoting whether an entity is a self-managed entity or a co-managed + entity. + """ + + Co_managed_entity = "CoManagedEntity" + """ + There is no separate Asset Administration Shell for co-managed entities. + Co-managed entities need to be part of a self-managed entity. + """ + + Self_managed_entity = "SelfManagedEntity" + """ + Self-managed entities have their own Asset Administration Shell but can be part + of another composite self-managed entity. + + The asset represented by an Asset Administration Shell is a self-managed entity + per definition. + """ + + +class Direction(Enum): + """ + Direction + + .. note:: + + This element is experimental and therefore may be subject to change or may be + removed completely in future versions of the meta-model. + """ + + Input = "input" + """ + Input direction + """ + + Output = "output" + """ + Output direction + """ + + +class State_of_event(Enum): + """ + State of an event + + .. note:: + + This element is experimental and therefore may be subject to change or may be + removed completely in future versions of the meta-model. + """ + + On = "on" + """ + Event is on + """ + + Off = "off" + """ + Event is off + """ + + +# fmt: off +@invariant( + lambda self: + is_model_reference_to_referable(self.observable_reference), + "Observable reference must be a model reference to a referable." +) +@invariant( + lambda self: + ( + is_model_reference_to(self.source, Key_types.Event_element) + or is_model_reference_to(self.source, Key_types.Basic_event_element) + ), + "Source must be a model reference to an Event element." +) +# fmt: on +class Event_payload(DBC): + """ + Defines the necessary information of an event instance sent out or received. + + .. note:: + + This element is experimental and therefore may be subject to change or may be + removed completely in future versions of the meta-model. + """ + + source: "Reference" + """ + Reference to the source event element. + """ + + source_semantic_ID: Optional["Reference"] + """ + :attr:`Has_semantics.semantic_ID` of the source event element, if available + + .. note:: + + It is recommended to use an external reference. + """ + + observable_reference: "Reference" + """ + Reference to the referable, which defines the scope of the event. + """ + + observable_semantic_ID: Optional["Reference"] + """ + :attr:`Has_semantics.semantic_ID` of the referable which defines the scope of + the event, if available. + + .. note:: + + It is recommended to use an external reference. + """ + + topic: Optional["Message_topic_type"] + """ + Information for the outer message infrastructure to schedule the event for + the respective communication channel. + """ + + subject_ID: Optional["Reference"] + """ + Subject, who/which initiated the creation. + + .. note:: + + This is an external reference. + """ + + time_stamp: "Date_time_UTC" + """ + Timestamp in UTC, when this event was triggered. + """ + + payload: Optional["Blob_type"] + """ + Event-specific payload. + """ + + def __init__( + self, + source: "Reference", + observable_reference: "Reference", + time_stamp: "Date_time_UTC", + source_semantic_ID: Optional["Reference"] = None, + observable_semantic_ID: Optional["Reference"] = None, + topic: Optional["Message_topic_type"] = None, + subject_ID: Optional["Reference"] = None, + payload: Optional["Blob_type"] = None, + ) -> None: + self.source = source + self.observable_reference = observable_reference + self.time_stamp = time_stamp + self.source_semantic_ID = source_semantic_ID + self.observable_semantic_ID = observable_semantic_ID + self.topic = topic + self.subject_ID = subject_ID + self.payload = payload + + +@abstract +class Event_element(Submodel_element): + """ + An event element. + + .. note:: + + This element is experimental and therefore may be subject to change or may be + removed completely in future versions of the meta-model. + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List[Qualifier]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + ) -> None: + Submodel_element.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + +# fmt: off +@invariant( + lambda self: + not (self.message_broker is not None) + or is_model_reference_to_referable(self.message_broker), + "Message broker must be a model reference to a referable." +) +@invariant( + lambda self: + is_model_reference_to_referable(self.observed), + "Observed must be a model reference to a referable." +) +@invariant( + lambda self: + not (self.direction == Direction.Input) + or self.max_interval is None, + "Max. interval is not applicable for input direction." +) +# fmt: on +class Basic_event_element(Event_element): + """ + A basic event element. + + .. note:: + + This element is experimental and therefore may be subject to change or may be + removed completely in future versions of the meta-model. + """ + + observed: "Reference" + """ + Reference to a referable, e.g., a data element or + a submodel, that is being observed. + """ + + direction: "Direction" + """ + Direction of event. + + Can be ``{ Input, Output }``. + """ + + state: "State_of_event" + """ + State of event. + + Can be ``{ On, Off }``. + """ + + message_topic: Optional["Message_topic_type"] + """ + Information for the outer message infrastructure to schedule the event for the + respective communication channel. + """ + + message_broker: Optional["Reference"] + """ + Information about which outer message infrastructure shall handle messages for + the :class:`Event_element`. Refers to a :class:`Submodel`, + :class:`Submodel_element_list`, :class:`Submodel_element_collection` or + :class:`Entity`, which contains :class:`Data_element`'s describing + the proprietary specification for the message broker. + + .. note:: + + This proprietary specification could be standardized by using respective + :class:`Submodel`'s for different message infrastructure, e.g., OPC UA, + MQTT or AMQP. + """ + + last_update: Optional["Date_time_UTC"] + """ + Timestamp in UTC, when the last event was received (input direction) or sent + (output direction). + """ + + min_interval: Optional["Duration"] + """ + For input direction reports on the maximum frequency, the software entity behind + the respective :class:`Referable` can handle input events. + + For output events, the maximum frequency of outputting this event to an outer + infrastructure is specified. + + Might be not specified, i.e. if there is no minimum interval. + """ + + max_interval: Optional["Duration"] + """ + Not applicable for input direction. + + For output direction: maximum interval in time, the respective :class:`Referable` + shall send an update of the status of the event, even if no other trigger + condition for the event was not met. + + Might not be specified, i.e. if there is no maximum interval. + """ + + def __init__( + self, + observed: "Reference", + direction: "Direction", + state: "State_of_event", + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List[Qualifier]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + message_topic: Optional["Message_topic_type"] = None, + message_broker: Optional["Reference"] = None, + last_update: Optional["Date_time_UTC"] = None, + min_interval: Optional["Duration"] = None, + max_interval: Optional["Duration"] = None, + ) -> None: + Event_element.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + self.observed = observed + self.direction = direction + self.state = state + self.message_topic = message_topic + self.message_broker = message_broker + self.last_update = last_update + self.min_interval = min_interval + self.max_interval = max_interval + + +# fmt: off +@invariant( + lambda self: + not (self.inoutput_variables is not None) + or len(self.inoutput_variables) >= 1, + "Inoutput variables must be either not set or have at least one item." +) +@invariant( + lambda self: + not (self.output_variables is not None) + or len(self.output_variables) >= 1, + "Output variables must be either not set or have at least one item." +) +@invariant( + lambda self: + not (self.input_variables is not None) + or len(self.input_variables) >= 1, + "Input variables must be either not set or have at least one item." +) +@invariant( + lambda self: + ID_shorts_of_variables_are_unique( + self.input_variables, + self.output_variables, + self.inoutput_variables + ), + "Constraint AASd-134: For an Operation the ID-short of all values of " + "input, output and in/output variables shall be unique." +) +@invariant( + lambda self: + submodel_element_lists_in_operation_variables_have_exactly_one_element( + self.input_variables, + self.output_variables, + self.inoutput_variables, + ), + "Constraint AASd-138: A submodel element list within a submodel of kind Template " + "or as part of an operation variable shall have exactly one element." +) +# fmt: on +class Operation(Submodel_element): + """ + An operation is a submodel element with input and output variables. + + :constraint AASd-134: + For an :class:`Operation` the :attr:`Referable.ID_short` of all + :attr:`Operation_variable.value`'s in + :attr:`input_variables`, :attr:`output_variables` + and :attr:`inoutput_variables` shall be unique. + """ + + input_variables: Optional[List["Operation_variable"]] + """ + Input parameter of the operation. + """ + + output_variables: Optional[List["Operation_variable"]] + """ + Output parameter of the operation. + """ + + inoutput_variables: Optional[List["Operation_variable"]] + """ + Parameter that is input and output of the operation. + + .. note:: + + In embedded systems inoutput variables are variables that can be read but + that are also written by the system. Typically, this is implemented via a + pointer (i.e. 'by reference' instead of 'by value'). + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + input_variables: Optional[List["Operation_variable"]] = None, + output_variables: Optional[List["Operation_variable"]] = None, + inoutput_variables: Optional[List["Operation_variable"]] = None, + ) -> None: + Submodel_element.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + self.input_variables = input_variables + self.output_variables = output_variables + self.inoutput_variables = inoutput_variables + + +# fmt: off +@invariant( + lambda self: + self.value.ID_short is not None, + "Value must have the ID-short specified according to Constraint AASd-117 " + "(ID-short of non-identifiable Referables not being a direct child of a Submodel " + "element list shall be specified)." +) +# fmt: on +class Operation_variable(DBC): + """ + The value of an operation variable is a submodel element that is used as input + and/or output variable of an operation. + + Specification of operations in a :class:`Submodel` with + :attr:`Has_kind.kind` = :attr:`Modelling_kind.Instance` are handled + identical to operations in Submodel templates (:class:`Submodel` with + :attr:`Has_kind.kind` = :attr:`Modelling_kind.Template`). + + .. note:: + + An operation can be invoked via an API call (``InvokeOperationSync`` + and ``InvokeOperationAsync``). For further explanation see Part 2 + (IDTA-01002). + + .. note:: + + :class:`Operation_variable` is introduced as a separate class to + enable future extensions, *e.g.* for adding a default value or + cardinality (optional/mandatory). + """ + + value: "Submodel_element" + """ + Describes an argument or result of an operation via a submodel element + """ + + def __init__(self, value: "Submodel_element") -> None: + self.value = value + + +class Capability(Submodel_element): + """ + A capability is the implementation-independent description of the potential of an + asset to achieve a certain effect in the physical or virtual world. + + .. note:: + + The :attr:`semantic_ID` of a capability is typically an ontology, which + enables reasoning on capabilities. The mapping to one or more skills + implementing the capability is done via a relationship element with the + corresponding semantics. A skill is typically a property or an operation. + In more complex cases, the mapping can also be a collection or a complete + submodel. + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + ) -> None: + Submodel_element.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + +@verification +def data_specification_IEC_61360s_for_property_or_value_have_appropriate_data_type( + embedded_data_specifications: Sequence["Embedded_data_specification"], +) -> bool: + """ + Check that the :attr:`Data_specification_IEC_61360.data_type` is defined + appropriately for all data specifications whose content is given as IEC 61360. + """ + return all( + not ( + isinstance( + data_specification.data_specification_content, + Data_specification_IEC_61360, + ) + ) + or ( + data_specification.data_specification_content.data_type is not None + and ( + data_specification.data_specification_content.data_type + in Data_type_IEC_61360_for_property_or_value + ) + ) + for data_specification in embedded_data_specifications + ) + + +@verification +def data_specification_IEC_61360s_for_reference_have_appropriate_data_type( + embedded_data_specifications: Sequence["Embedded_data_specification"], +) -> bool: + """ + Check that the :attr:`Data_specification_IEC_61360.data_type` is defined + appropriately for all data specifications whose content is given as IEC 61360. + """ + return all( + not ( + isinstance( + data_specification.data_specification_content, + Data_specification_IEC_61360, + ) + ) + or ( + data_specification.data_specification_content.data_type is not None + and ( + data_specification.data_specification_content.data_type + in Data_type_IEC_61360_for_reference + ) + ) + for data_specification in embedded_data_specifications + ) + + +@verification +def data_specification_IEC_61360s_for_document_have_appropriate_data_type( + embedded_data_specifications: Sequence["Embedded_data_specification"], +) -> bool: + """ + Check that the :attr:`Data_specification_IEC_61360.data_type` is defined + appropriately for all data specifications whose content is given as IEC 61360. + """ + return all( + not ( + isinstance( + data_specification.data_specification_content, + Data_specification_IEC_61360, + ) + ) + or ( + data_specification.data_specification_content.data_type is not None + and ( + data_specification.data_specification_content.data_type + in Data_type_IEC_61360_for_document + ) + ) + for data_specification in embedded_data_specifications + ) + + +@verification +def data_specification_IEC_61360s_have_data_type( + embedded_data_specifications: Sequence["Embedded_data_specification"], +) -> bool: + """ + Check that the :attr:`Data_specification_IEC_61360.data_type` is defined for all + data specifications whose content is given as IEC 61360. + """ + return all( + not ( + isinstance( + data_specification.data_specification_content, + Data_specification_IEC_61360, + ) + ) + or (data_specification.data_specification_content.data_type is not None) + for data_specification in embedded_data_specifications + ) + + +@verification +def data_specification_IEC_61360s_have_value( + embedded_data_specifications: Sequence["Embedded_data_specification"], +) -> bool: + """ + Check that the :attr:`Data_specification_IEC_61360.value` is defined + for all data specifications whose content is given as IEC 61360. + """ + return all( + not ( + isinstance( + data_specification.data_specification_content, + Data_specification_IEC_61360, + ) + ) + or (data_specification.data_specification_content.value is not None) + for data_specification in embedded_data_specifications + ) + + +@verification +def data_specification_IEC_61360s_have_definition_at_least_in_english( + embedded_data_specifications: Sequence["Embedded_data_specification"], +) -> bool: + """ + Check that the :attr:`Data_specification_IEC_61360.definition` is defined + for all data specifications whose content is given as IEC 61360 at least in English. + """ + for data_specification in embedded_data_specifications: + content = data_specification.data_specification_content + if not isinstance(content, Data_specification_IEC_61360): + continue + + definition = content.definition + if definition is None: + return False + + if not any( + is_BCP_47_for_english(lang_string.language) for lang_string in definition + ): + return False + + return True + + +# fmt: off +@invariant( + lambda self: + not ( + self.category is not None + and (self.category == "PROPERTY" or self.category == "VALUE") + and self.embedded_data_specifications is not None + ) or ( + data_specification_IEC_61360s_for_property_or_value_have_appropriate_data_type( + self.embedded_data_specifications) + ), + "Constraint AASc-3a-004: For a concept description with category PROPERTY or VALUE " + "using data specification IEC 61360, the data type of the data specification is " + "mandatory and shall be one of: DATE, STRING, STRING_TRANSLATABLE, " + "INTEGER_MEASURE, INTEGER_COUNT, INTEGER_CURRENCY, REAL_MEASURE, REAL_COUNT, " + "REAL_CURRENCY, BOOLEAN, RATIONAL, RATIONAL_MEASURE, TIME, TIMESTAMP." +) +@invariant( + lambda self: + not ( + self.category is not None + and (self.category == "REFERENCE") + and self.embedded_data_specifications is not None + ) or ( + data_specification_IEC_61360s_for_reference_have_appropriate_data_type( + self.embedded_data_specifications) + ), + "Constraint AASc-3a-005: For a concept description with category REFERENCE " + "using data specification IEC 61360, the data type of the data specification " + "shall be one of: STRING, IRI, IRDI." +) +@invariant( + lambda self: + not ( + self.category is not None + and (self.category == "DOCUMENT") + and self.embedded_data_specifications is not None + ) or ( + data_specification_IEC_61360s_for_document_have_appropriate_data_type( + self.embedded_data_specifications + ) + ), + "Constraint AASc-3a-006: For a concept description with category DOCUMENT " + "using data specification IEC 61360, the data type of the data specification " + "shall be one of: FILE, BLOB, HTML." +) +@invariant( + lambda self: + not ( + self.category is not None + and (self.category == "QUALIFIER_TYPE") + and self.embedded_data_specifications is not None + ) or ( + data_specification_IEC_61360s_have_data_type(self.embedded_data_specifications) + ), + "Constraint AASc-3a-007: For a concept description with category QUALIFIER_TYPE " + "using data specification IEC 61360, the data type of the data specification is " + "mandatory and shall be defined." +) +@invariant( + lambda self: + not ( + self.embedded_data_specifications is not None + ) or ( + ( + data_specification_IEC_61360s_have_definition_at_least_in_english( + self.embedded_data_specifications + ) + ) or ( + data_specification_IEC_61360s_have_value(self.embedded_data_specifications) + ) + ), + "Constraint AASc-3a-008: For a concept description " + "using data specification template IEC 61360, the definition " + "is mandatory and shall be defined at least in English. " + "Exception: The concept description describes a value." +) +@invariant( + lambda self: + not (self.is_case_of is not None) + or len(self.is_case_of) >= 1, + "Is-case-of must be either not set or have at least one item." +) +# fmt: on +class Concept_description(Identifiable, Has_data_specification): + """ + The semantics of a property or other elements that may have a semantic description + is defined by a concept description. + + The description of the concept should follow a standardized schema (realized as + data specification template). + + :constraint AASc-3a-004: + + For a :class:`Concept_description` with :attr:`category` ``PROPERTY`` or + ``VALUE`` using data specification IEC61360, + the :attr:`Data_specification_IEC_61360.data_type` is mandatory and shall be + one of: ``DATE``, ``STRING``, ``STRING_TRANSLATABLE``, ``INTEGER_MEASURE``, + ``INTEGER_COUNT``, ``INTEGER_CURRENCY``, ``REAL_MEASURE``, ``REAL_COUNT``, + ``REAL_CURRENCY``, ``BOOLEAN``, ``RATIONAL``, ``RATIONAL_MEASURE``, + ``TIME``, ``TIMESTAMP``. + + .. note:: + + Note: categories are deprecated since V3.0 of Part 1a of the document series + "Details of the Asset Administration Shell". + + :constraint AASc-3a-005: + For a :class:`Concept_description` with :attr:`category` ``REFERENCE`` + using data specification template IEC61360, + the :attr:`Data_specification_IEC_61360.data_type` shall be + one of: ``STRING``, ``IRI``, ``IRDI``. + + .. note:: + + Note: categories are deprecated since V3.0 of Part 1a of the document series + "Details of the Asset Administration Shell". + + :constraint AASc-3a-006: + For a :class:`Concept_description` with :attr:`category` ``DOCUMENT`` + using data specification IEC61360, + the :attr:`Data_specification_IEC_61360.data_type` shall be one of ``FILE``, + ``BLOB``, ``HTML`` + + .. note:: + + Categories are deprecated since V3.0 of Part 1a of the document series + "Details of the Asset Administration Shell". + + :constraint AASc-3a-007: + For a :class:`Concept_description` with :attr:`category` ``QUALIFIER_TYPE`` + using data specification IEC61360, + the :attr:`Data_specification_IEC_61360.data_type` is mandatory and shall be + defined. + + .. note:: + + Categories are deprecated since V3.0 of Part 1a of the document series + "Details of the Asset Administration Shell". + + :constraint AASc-3a-008: + For a :class:`Concept_description` using data specification template IEC61360, + :attr:`Data_specification_IEC_61360.definition` is mandatory and shall be + defined at least in English. + + Exception: The concept description describes a value, i.e. + :attr:`Data_specification_IEC_61360.value` is defined. + + :constraint AASc-3a-003: + For a :class:`Concept_description` using data specification template IEC61360, + referenced via :attr:`Data_specification_IEC_61360.value_list` + :attr:`Value_reference_pair.value_ID` + the :attr:`Data_specification_IEC_61360.value` shall be set. + """ + + is_case_of: Optional[List["Reference"]] + """ + Reference to an external definition the concept is compatible to or was derived + from. + + .. note:: + + Compare with is-case-of relationship in ISO 13584-32 & IEC EN 61360 + """ + + def __init__( + self, + ID: Identifier, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + administration: Optional["Administrative_information"] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + is_case_of: Optional[List["Reference"]] = None, + ) -> None: + Identifiable.__init__( + self, + ID=ID, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + administration=administration, + ) + + Has_data_specification.__init__( + self, embedded_data_specifications=embedded_data_specifications + ) + + self.is_case_of = is_case_of + + +class Reference_types(Enum): + """ + Enumeration for denoting whether an element is an external or model reference. + """ + + External_reference = "ExternalReference" + """ + External reference. + """ + + Model_reference = "ModelReference" + """ + Model reference. + """ + + +# fmt: off +@invariant( + lambda self: + not ( + self.type == Reference_types.Model_reference + and len(self.keys) > 2 + ) or ( + all( + not (self.keys[i].type == Key_types.Submodel_element_list) + or matches_xs_non_negative_integer(self.keys[i + 1].value) + for i in range(0, len(self.keys) - 1) + ) + ), + "Constraint AASd-128: For model references, the value of a key preceded by a key " + "with type Submodel element list is an integer number denoting the position in " + "the array of the submodel element list." +) +# NOTE (mristin): +# We can write AASd-127 in this simpler form assuming that AASd-126 ensures that +# only the last key can be a fragment reference. +@invariant( + lambda self: + not ( + self.type == Reference_types.Model_reference + and len(self.keys) > 1 + and self.keys[-1].type == Key_types.Fragment_reference + ) or ( + self.keys[-2].type == Key_types.File + or self.keys[-2].type == Key_types.Blob + ), + "Constraint AASd-127: For model references, with more than one key " + "in keys a key with type Fragment Reference shall be preceded " + "by a key with type File or Blob." +) +@invariant( + lambda self: + not ( + self.type == Reference_types.Model_reference + and len(self.keys) > 1 + ) + or ( + all( + not (self.keys[i].type in Generic_fragment_keys) + for i in range(0, len(self.keys) - 1) + ) + ), + "Constraint AASd-126: For model references with more than one key " + "in keys the value of type of the last key " + "in the reference key chain may be one of Generic Fragment Keys or " + "no key at all shall have a value out of Generic Fragment Keys." +) +@invariant( + lambda self: + not (self.type == Reference_types.Model_reference and len(self.keys) > 1) + or ( + all( + self.keys[i].type in Fragment_keys + for i in range(1, len(self.keys)) + ) + ), + "Constraint AASd-125: For model references with more than one key in keys " + "the value of type of each of the keys following the first key " + "of keys shall be one of Fragment Keys." +) +@invariant( + lambda self: + not ( + self.type == Reference_types.External_reference + and len(self.keys) >= 1 + ) + or ( + self.keys[-1].type in Generic_globally_identifiables + or self.keys[-1].type in Generic_fragment_keys + ), + "Constraint AASd-124: For external references the last key of keys " + "shall be either one of Generic Globally Identifiables or " + "one of Generic Fragment Keys." +) +@invariant( + lambda self: + not (self.type == Reference_types.External_reference) + or ( + all( + not (key.type in AAS_referables) + for key in self.keys + ) + ), + "Constraint AASd-137: For external references, i.e. References with " + "Reference/type = ExternalReference, the value of Key/type of any key in " + "Reference/keys shall not be one of AAS referables." +) +@invariant( + lambda self: + not ( + self.type == Reference_types.Model_reference + and len(self.keys) >= 1 + ) + or self.keys[0].type in AAS_identifiables, + "Constraint AASd-123: For model references the value of type of the first key " + "of keys shall be one of AAS identifiables." +) +@invariant( + lambda self: + not ( + self.type == Reference_types.External_reference + and len(self.keys) >= 1 + ) + or self.keys[0].type in Generic_globally_identifiables, + "Constraint AASd-122: For external references the value of type " + "of the first key of keys shall be one of Generic Globally Identifiables." +) +@invariant( + lambda self: + not (len(self.keys) >= 1) + or self.keys[0].type in Globally_identifiables, + "Constraint AASd-121: For References the value of type of the first key of " + "keys shall be one of Globally Identifiables." +) +@invariant( + lambda self: len(self.keys) >= 1, + "Keys must contain at least one item." +) +# fmt: on +class Reference(DBC): + """ + Reference to either a model element of the same or another Asset Administration + Shell or to an external entity. + + A model reference is an ordered list of keys, each key referencing an element. The + complete list of keys may for example be concatenated to a path that gives + unique access to an element. + + An external reference is a reference to an external entity. + + :constraint AASd-121: + + For :class:`Reference`'s the value of :attr:`Key.type` of the first key of " + :attr:`keys` shall be one of :const:`Globally_identifiables`. + + :constraint AASd-122: + + For external references, i.e. :class:`Reference`'s with + :attr:`Reference.type` = :attr:`Reference_types.External_reference`, the value + of :attr:`Key.type` of the first key of :attr:`Reference.keys` shall be one of + :const:`Generic_globally_identifiables`. + + :constraint AASd-123: + + For model references, i.e. :class:`Reference`'s with + :attr:`Reference.type` = :attr:`Reference_types.Model_reference`, the value + of :attr:`Key.type` of the first key of :attr:`Reference.keys` shall be one of + :const:`AAS_identifiables`. + + :constraint AASd-124: + + For external references, i.e. :class:`Reference`'s with + :attr:`Reference.type` = :attr:`Reference_types.External_reference`, the last + key of :attr:`Reference.keys` shall be either one of + :const:`Generic_globally_identifiables` or one of + :const:`Generic_fragment_keys`. + + :constraint AASd-137: + + For external references, i.e. :class:`Reference`'s with + :attr:`Reference.type` = :attr:`Reference_types.External_reference`, + the value of :attr:`Key.type` of any key in :attr:`Reference.keys` + shall not be one of :const:`AAS_referables`. + + :constraint AASd-125: + + For model references, i.e. :class:`Reference`'s with + :attr:`Reference.type` = :attr:`Reference_types.Model_reference`, with more + than one key in :attr:`Reference.keys` the value of :attr:`Key.type` + of each of the keys following the first + key of :attr:`Reference.keys` shall be one of :const:`Fragment_keys`. + + .. note:: + + :constraintref:`AASd-125` ensures that the shortest path is used. + + :constraint AASd-126: + + For model references, i.e. :class:`Reference`'s with + :attr:`Reference.type` = :attr:`Reference_types.Model_reference`, with more + than one key in :attr:`Reference.keys` the value of :attr:`Key.type` + of the last key in the reference key chain may be + one of :const:`Generic_fragment_keys` or no key at all + shall have a value out of :const:`Generic_fragment_keys`. + + :constraint AASd-127: + + For model references, i.e. :class:`Reference`'s with + :attr:`Reference.type` = :attr:`Reference_types.Model_reference`, with more + than one key in :attr:`Reference.keys` a key with :attr:`Key.type` + :attr:`Key_types.Fragment_reference` shall be preceded by a key with + :attr:`Key.type` :attr:`Key_types.File` or :attr:`Key_types.Blob`. All other + AAS fragments, i.e. :attr:`Key.type` values + out of :const:`AAS_submodel_elements_as_keys`, do not support fragments. + + .. note:: + + Which kind of fragments are supported depends on the content type and the + specification of allowed fragment identifiers for the corresponding resource + being referenced via the reference. + + :constraint AASd-128: + + For model references, i.e. :class:`Reference`'s with + :attr:`Reference.type` = :attr:`Reference_types.Model_reference`, the + :attr:`Key.value` of a :class:`Key` preceded by a :class:`Key` with + :attr:`Key.type` = :attr:`Key_types.Submodel_element_list` is an integer + number denoting the position in the array of the submodel element list. + """ + + type: "Reference_types" + """ + Type of the reference. + + Denotes whether the reference is an external reference or a model reference. + """ + + referred_semantic_ID: Optional["Reference"] + """ + Expected :attr:`Has_semantics.semantic_ID` of the referenced model element + (:attr:`Reference.type` = :attr:`Reference_types.Model_reference`); there + typically is no semantic ID for the referenced object of external references + (:attr:`Reference.type` = :attr:`Reference_types.External_reference`). + + .. note:: + + If :attr:`referred_semantic_ID` is defined, the + :attr:`Has_semantics.semantic_ID` of the model element referenced should + have a matching semantic ID. If this is not the case, a validator should + raise a warning. + """ + + keys: List["Key"] + """ + Unique references in their name space. + """ + + def __init__( + self, + type: Reference_types, + keys: List["Key"], + referred_semantic_ID: Optional["Reference"] = None, + ) -> None: + self.type = type + self.keys = keys + self.referred_semantic_ID = referred_semantic_ID + + +class Key(DBC): + """A key is a reference to an element by its ID.""" + + type: "Key_types" + """ + Denotes which kind of entity is referenced. + + If :attr:`type` = :attr:`Key_types.Global_reference`, + the key represents a reference to a source that can be globally identified. + + If :attr:`type` = :attr:`Key_types.Fragment_reference` the key represents + a bookmark or a similar local identifier within its parent element as specified + by the key that precedes this key. + + In all other cases, the key references a model element of the same or another + Asset Administration Shell. + The name of the model element is explicitly listed. + """ + + value: "Identifier" + """ + The key value, for example an IRDI or a URI or the ID-short or any other + fragment value + """ + + def __init__(self, type: "Key_types", value: "Identifier") -> None: + self.type = type + self.value = value + + +class Key_types(Enum): + """Enumeration of different key value types within a key.""" + + Annotated_relationship_element = "AnnotatedRelationshipElement" + Asset_administration_shell = "AssetAdministrationShell" + Basic_event_element = "BasicEventElement" + Blob = "Blob" + Capability = "Capability" + Concept_description = "ConceptDescription" + + Data_element = "DataElement" + """ + Data element. + + .. note:: + + Data elements are abstract, *i.e.* if a key uses :attr:`Data_element` + the reference may be a property, file, etc. + """ + + Entity = "Entity" + Event_element = "EventElement" + """ + Event. + + .. note:: + + :class:`Event_element` is abstract. + """ + + File = "File" + + Fragment_reference = "FragmentReference" + """ + Bookmark or a similar local identifier of a subordinate part of + a primary resource + """ + + Global_reference = "GlobalReference" + + Identifiable = "Identifiable" + """ + Identifiable. + + .. note:: + + Identifiable is abstract, i.e. if a key uses "Identifiable" the reference + may be an :class:`Asset_administration_shell`, a :class:`Submodel` or + a :class:`Concept_description`. + """ + + Multi_language_property = "MultiLanguageProperty" + """Property with a value that can be provided in multiple languages""" + + Operation = "Operation" + Property = "Property" + Range = "Range" + """Range with min and max""" + Referable = "Referable" + + Reference_element = "ReferenceElement" + """ + Reference + """ + + Relationship_element = "RelationshipElement" + """ + Relationship + """ + Submodel = "Submodel" + Submodel_element = "SubmodelElement" + """ + Submodel Element + + .. note:: + + Submodel Element is abstract, *i.e.* if a key uses :attr:`Submodel_element` + the reference may be a :class:`Property`, a :class:`Submodel_element_list`, + an :class:`Operation` etc. + """ + Submodel_element_collection = "SubmodelElementCollection" + """ + Struct of :class:`Submodel_element`'s + """ + + Submodel_element_list = "SubmodelElementList" + """ + List of :class:`Submodel_element`'s + """ + + +Generic_fragment_keys: Final[AbstractSet[Key_types]] = constant_set( + values=[ + Key_types.Fragment_reference, + ], + description="""\ +Enumeration of all identifiable elements within an asset administration shell.""", +) + +assert Key_types.Fragment_reference in Generic_fragment_keys, ( + "We assume that fragment reference is in the generic fragment keys so that " + "AASd-126 ensures that a key of type Fragment reference can only be the last key " + "in the reference. This is necessary for our simpler formulation of AASd-127." +) + +Generic_globally_identifiables: Final[AbstractSet[Key_types]] = constant_set( + values=[ + Key_types.Global_reference, + ], + description="Enumeration of different key value types within a key.", +) + +AAS_identifiables: Final[AbstractSet[Key_types]] = constant_set( + values=[ + Key_types.Asset_administration_shell, + Key_types.Concept_description, + Key_types.Identifiable, + Key_types.Submodel, + ], + description="Enumeration of different key value types within a key.", +) + +AAS_submodel_elements_as_keys: Final[AbstractSet[Key_types]] = constant_set( + values=[ + Key_types.Annotated_relationship_element, + Key_types.Basic_event_element, + Key_types.Blob, + Key_types.Capability, + Key_types.Data_element, + Key_types.Entity, + Key_types.Event_element, + Key_types.File, + Key_types.Multi_language_property, + Key_types.Operation, + Key_types.Property, + Key_types.Range, + Key_types.Reference_element, + Key_types.Relationship_element, + Key_types.Submodel_element, + Key_types.Submodel_element_collection, + Key_types.Submodel_element_list, + ], + description="""\ +Enumeration of all submodel elements within an asset administration shell.""", +) + +AAS_referable_non_identifiables: Final[AbstractSet[Key_types]] = constant_set( + values=[ + Key_types.Annotated_relationship_element, + Key_types.Basic_event_element, + Key_types.Blob, + Key_types.Capability, + Key_types.Data_element, + Key_types.Entity, + Key_types.Event_element, + Key_types.File, + Key_types.Multi_language_property, + Key_types.Operation, + Key_types.Property, + Key_types.Range, + Key_types.Reference_element, + Key_types.Relationship_element, + Key_types.Submodel_element, + Key_types.Submodel_element_collection, + Key_types.Submodel_element_list, + ], + description="Enumeration of different fragment key value types within a key.", + superset_of=[AAS_submodel_elements_as_keys], +) + +AAS_referables: Final[AbstractSet[Key_types]] = constant_set( + values=[ + Key_types.Asset_administration_shell, + Key_types.Concept_description, + Key_types.Identifiable, + Key_types.Submodel, + Key_types.Annotated_relationship_element, + Key_types.Basic_event_element, + Key_types.Blob, + Key_types.Capability, + Key_types.Data_element, + Key_types.Entity, + Key_types.Event_element, + Key_types.File, + Key_types.Multi_language_property, + Key_types.Operation, + Key_types.Property, + Key_types.Range, + Key_types.Reference_element, + Key_types.Referable, + Key_types.Relationship_element, + Key_types.Submodel_element, + Key_types.Submodel_element_collection, + Key_types.Submodel_element_list, + ], + description="Enumeration of referables. " + "We need this to check that model references refer to a Referable. " + "For example, the observed attribute of the " + "Basic Event Element object must be a model reference to a Referable.", + superset_of=[AAS_referable_non_identifiables, AAS_identifiables], +) + +Globally_identifiables: Final[AbstractSet[Key_types]] = constant_set( + values=[ + Key_types.Global_reference, + Key_types.Asset_administration_shell, + Key_types.Concept_description, + Key_types.Identifiable, + Key_types.Submodel, + ], + description="""\ +Enumeration of all referable elements within an asset administration shell""", + superset_of=[AAS_identifiables, Generic_globally_identifiables], +) + +Fragment_keys: Final[AbstractSet[Key_types]] = constant_set( + values=[ + Key_types.Annotated_relationship_element, + Key_types.Basic_event_element, + Key_types.Blob, + Key_types.Capability, + Key_types.Data_element, + Key_types.Entity, + Key_types.Event_element, + Key_types.File, + Key_types.Fragment_reference, + Key_types.Multi_language_property, + Key_types.Operation, + Key_types.Property, + Key_types.Range, + Key_types.Reference_element, + Key_types.Relationship_element, + Key_types.Submodel_element, + Key_types.Submodel_element_collection, + Key_types.Submodel_element_list, + ], + description="Enumeration of different key value types within a key.", + superset_of=[AAS_referable_non_identifiables, Generic_fragment_keys], +) + + +class Data_type_def_XSD(Enum): + """ + Enumeration listing selected XSD anySimpleTypes of XML Schema 1.0. + + See: https://www.w3.org/TR/xmlschema-2/#built-in-primitive-datatypes + + .. note:: + + RDF uses XML Schema Built-in data types from Version 1.1 but recommends + to use only a subset of XSD data types. That is why they are excluded + from the allowed data types in :class:`Data_type_def_XSD`. + + * XSD BuildIn List types are not supported (``ENTITIES``, ``IDREFS`` + and ``NMTOKENS``). + * XSD string BuildIn types are not supported (``normalizedString``, + ``token``, ``language``, ``NCName``, ``ENTITY``, ``ID``, ``IDREF``). + * The following XSD primitive types are not supported: ``NOTATION``, + ``QName``. + + .. note:: + + Additionally, the following RDF types are not supported in + :class:`Data_type_def_XSD`: ``HTML`` and ``XMLLiteral``. + + .. note:: + + Numeric data types in XML Schema are based on the definitions of + IEEE 754 with slight adoptions. For instance, :attr:`Float` and + :attr:`Double` use different exponent ranges. In any case, solely + the XML Schema data type definitions are applicable for AAS values. + """ + + Any_URI = "xs:anyURI" + Base_64_binary = "xs:base64Binary" + Boolean = "xs:boolean" + Byte = "xs:byte" + Date = "xs:date" + Date_time = "xs:dateTime" + Decimal = "xs:decimal" + Double = "xs:double" + Duration = "xs:duration" + Float = "xs:float" + G_day = "xs:gDay" + G_month = "xs:gMonth" + G_month_day = "xs:gMonthDay" + G_year = "xs:gYear" + G_year_month = "xs:gYearMonth" + Hex_binary = "xs:hexBinary" + Int = "xs:int" + Integer = "xs:integer" + Long = "xs:long" + Negative_integer = "xs:negativeInteger" + Non_negative_integer = "xs:nonNegativeInteger" + Non_positive_integer = "xs:nonPositiveInteger" + Positive_integer = "xs:positiveInteger" + Short = "xs:short" + String = "xs:string" + Time = "xs:time" + Unsigned_byte = "xs:unsignedByte" + Unsigned_int = "xs:unsignedInt" + Unsigned_long = "xs:unsignedLong" + Unsigned_short = "xs:unsignedShort" + + +@abstract +class Abstract_lang_string(DBC): + """Strings with language tags""" + + language: BCP_47_language_tag + """Language tag conforming to BCP 47""" + + text: Non_empty_XML_serializable_string + """Text in the :attr:`language`""" + + def __init__( + self, language: BCP_47_language_tag, text: Non_empty_XML_serializable_string + ) -> None: + self.language = language + self.text = text + + +@invariant( + lambda self: len(self.text) <= 128, + "String shall have a maximum length of 128 characters.", +) +class Lang_string_name_type(Abstract_lang_string, DBC): + """String with length 128 maximum and minimum 1 characters and with language tags""" + + def __init__( + self, language: BCP_47_language_tag, text: Non_empty_XML_serializable_string + ) -> None: + Abstract_lang_string.__init__(self, language=language, text=text) + + +@invariant( + lambda self: len(self.text) <= 1023, + "String shall have a maximum length of 1023 characters.", +) +class Lang_string_text_type(Abstract_lang_string, DBC): + """ + String with length 1023 maximum and minimum 1 characters and with language tags + """ + + def __init__( + self, language: BCP_47_language_tag, text: Non_empty_XML_serializable_string + ) -> None: + Abstract_lang_string.__init__(self, language=language, text=text) + + +# fmt: off +@invariant( + lambda self: + not (self.asset_administration_shells is not None) + or len(self.asset_administration_shells) >= 1, + "Asset administration shells must be either not set or have at least one item." +) +@invariant( + lambda self: + not (self.submodels is not None) + or len(self.submodels) >= 1, + "Submodels must be either not set or have at least one item." +) +@invariant( + lambda self: + not (self.concept_descriptions is not None) + or len(self.concept_descriptions) >= 1, + "Concept descriptions must be either not set or have at least one item." +) +# fmt: on +class Environment: + """ + Container for the sets of different identifiables. + + .. note:: + + Environment is not an identifiable or referable element. It is introduced + to enable file transfer as well as serialization. + """ + + asset_administration_shells: Optional[List[Asset_administration_shell]] + """ + Asset Administration Shell + """ + + submodels: Optional[List[Submodel]] + """ + Submodel + """ + + concept_descriptions: Optional[List[Concept_description]] + """ + Concept description + """ + + def __init__( + self, + asset_administration_shells: Optional[List[Asset_administration_shell]] = None, + submodels: Optional[List[Submodel]] = None, + concept_descriptions: Optional[List[Concept_description]] = None, + ) -> None: + self.asset_administration_shells = asset_administration_shells + self.submodels = submodels + self.concept_descriptions = concept_descriptions + + +# region Data specifications + + +@abstract +@serialization(with_model_type=True) +class Data_specification_content: + """ + Data specification content is part of a data specification template and defines + which additional attributes shall be added to the element instance that references + the data specification template and meta information about the template itself. + + :constraint AASc-3a-050: + If the :class:`Data_specification_IEC_61360` is used + for an element, the value of + :attr:`Has_data_specification.embedded_data_specifications` + shall contain the global reference to the IRI of the corresponding + data specification template + https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0 + + """ + + +class Embedded_data_specification: + """Embed the content of a data specification.""" + + data_specification: Reference + """Reference to the data specification""" + + data_specification_content: Data_specification_content + """Actual content of the data specification""" + + def __init__( + self, + data_specification: Reference, + data_specification_content: Data_specification_content, + ) -> None: + self.data_specification = data_specification + self.data_specification_content = data_specification_content + + +class Data_type_IEC_61360(Enum): + Date = "DATE" + """ + values containing a calendar date, conformant to ISO 8601:2004 Format yyyy-mm-dd + Example from IEC 61360-1:2017: "1999-05-31" is the [DATE] representation of: + "31 May 1999". + """ + + String = "STRING" + """ + values consisting of sequence of characters but cannot be translated into other + languages + """ + + String_translatable = "STRING_TRANSLATABLE" + """ + values containing string but shall be represented as different string in different + languages + """ + + Integer_measure = "INTEGER_MEASURE" + """ + values containing values that are measure of type INTEGER. In addition such a value + comes with a physical unit. + """ + + Integer_count = "INTEGER_COUNT" + """ + values containing values of type INTEGER but are no currencies or measures + """ + + Integer_currency = "INTEGER_CURRENCY" + """ + values containing values of type INTEGER that are currencies + """ + + Real_measure = "REAL_MEASURE" + """ + values containing values that are measures of type REAL. In addition such a value + comes with a physical unit. + """ + + Real_count = "REAL_COUNT" + """ + values containing numbers that can be written as a terminating or non-terminating + decimal; a rational or irrational number but are no currencies or measures + """ + + Real_currency = "REAL_CURRENCY" + """ + values containing values of type REAL that are currencies + """ + + Boolean = "BOOLEAN" + """ + values representing truth of logic or Boolean algebra (TRUE, FALSE) + """ + + IRI = "IRI" + """ + values containing values of type STRING conformant to Rfc 3987 + + .. note:: + + In IEC61360-1 (2017) only URI is supported. + An IRI type allows in particular to express an URL or an URI. + """ + + IRDI = "IRDI" + """ + values conforming to ISO/IEC 11179 series global identifier sequences + + IRDI can be used instead of the more specific data types ICID or ISO29002_IRDI. + + ICID values are value conformant to an IRDI, where the delimiter between RAI and ID + is “#” while the delimiter between DI and VI is confined to “##” + + ISO29002_IRDI values are values containing a global identifier that identifies an + administrated item in a registry. The structure of this identifier complies with + identifier syntax defined in ISO/TS 29002-5. The identifier shall fulfil the + requirements specified in ISO/TS 29002-5 for an "international registration data + identifier" (IRDI). + """ + + Rational = "RATIONAL" + """ + values containing values of type rational + """ + + Rational_measure = "RATIONAL_MEASURE" + """ + values containing values of type rational. In addition such a value comes with a + physical unit. + """ + + Time = "TIME" + """ + values containing a time, conformant to ISO 8601:2004 but restricted to what is + allowed in the corresponding type in xml. + + Format hh:mm (ECLASS) + + Example from IEC 61360-1:2017: "13:20:00-05:00" is the [TIME] representation of: + 1.20 p.m. for Eastern Standard Time, which is 5 hours behind Coordinated + Universal Time (UTC). + """ + + Timestamp = "TIMESTAMP" + """ + values containing a time, conformant to ISO 8601:2004 but restricted to what is + allowed in the corresponding type in xml. + + Format yyyy-mm-dd hh:mm (ECLASS) + """ + + File = "FILE" + """ + values containing an address to a file. The values are of type URI and can represent + an absolute or relative path. + + .. note:: + + IEC61360 does not support the file type. + """ + + HTML = "HTML" + """ + Values containing string with any sequence of characters, using the syntax of HTML5 + (see W3C Recommendation 28:2014) + """ + + Blob = "BLOB" + """ + values containing the content of a file. Values may be binaries. + + HTML conformant to HTML5 is a special blob. + + In IEC61360 binary is for a sequence of bits, each bit being represented by “0” and + “1” only. A binary is a blob but a blob may also contain other source code. + """ + + +Data_type_IEC_61360_for_property_or_value: Final[AbstractSet[Data_type_IEC_61360]] = ( + constant_set( + values=[ + Data_type_IEC_61360.Date, + Data_type_IEC_61360.String, + Data_type_IEC_61360.String_translatable, + Data_type_IEC_61360.Integer_measure, + Data_type_IEC_61360.Integer_count, + Data_type_IEC_61360.Integer_currency, + Data_type_IEC_61360.Real_measure, + Data_type_IEC_61360.Real_count, + Data_type_IEC_61360.Real_currency, + Data_type_IEC_61360.Boolean, + Data_type_IEC_61360.Rational, + Data_type_IEC_61360.Rational_measure, + Data_type_IEC_61360.Time, + Data_type_IEC_61360.Timestamp, + ], + description=( + "IEC 61360 data types for concept descriptions categorized " + "with PROPERTY or VALUE." + ), + ) +) + +Data_type_IEC_61360_for_reference: Final[AbstractSet[Data_type_IEC_61360]] = ( + constant_set( + values=[ + Data_type_IEC_61360.String, + Data_type_IEC_61360.IRI, + Data_type_IEC_61360.IRDI, + ], + description=( + "IEC 61360 data types for concept descriptions categorized " + "with REFERENCE." + ), + ) +) + +Data_type_IEC_61360_for_document: Final[AbstractSet[Data_type_IEC_61360]] = ( + constant_set( + values=[ + Data_type_IEC_61360.File, + Data_type_IEC_61360.Blob, + Data_type_IEC_61360.HTML, + ], + description=( + "IEC 61360 data types for concept descriptions categorized " + "with DOCUMENT." + ), + ) +) + + +class Level_type(DBC): + """ + Value represented by up to four variants of a numeric value in a specific role: + ``MIN``, ``NOM``, ``TYP`` and ``MAX``. True means that the value is available, + false means the value is not available. + + EXAMPLE from [IEC61360-1]: In the case of having a property which is + of the LEVEL_TYPE min/max − expressing a range − only those two values + need to be provided. + + .. note:: + + This is how AAS deals with the following combinations of level types: + + - Either all attributes are false. In this case the concept is mapped + to a :class:`Property` and level type is ignored. + - At most one of the attributes is set to true. In this case + the concept is mapped to a :class:`Property`. + - Min and max are set to true. In this case the concept is mapped + to a :class:`Range`. + - More than one attribute is set to true but not min and max only + (see second case). In this case the concept is mapped + to a :class:`Submodel_element_collection` with the corresponding + number of Properties. + Example: If attribute :attr:`min` and :attr:`nom` are set to true + then the concept is mapped to a :class:`Submodel_element_collection` + with two Properties within: min and nom. + The data type of both Properties is the same. + + .. note:: + + In the cases 2. and 4. the :attr:`Property.semantic_ID` of the Property + or Properties within the :class:`Submodel_element_collection` needs to include + information about the level type. Otherwise, the semantics is not described + in a unique way. Please refer to the specification. + + """ + + min: "bool" + """Minimum of the value""" + + nom: "bool" + """Nominal value (value as designated)""" + + typ: "bool" + """Value as typically present""" + + max: "bool" + """Maximum of the value""" + + def __init__( + self, + min: "bool", + nom: "bool", + typ: "bool", + max: "bool", + ) -> None: + self.min = min + self.nom = nom + self.typ = typ + self.max = max + + +class Value_reference_pair(DBC): + """ + A value reference pair within a value list. Each value has a global unique id + defining its semantic. + """ + + value: Value_type_IEC_61360 + """ + The value of the referenced concept definition of the value in :attr:`value_ID`. + """ + + value_ID: Optional["Reference"] + """ + Global unique id of the value. + + .. note:: + + It is recommended to use a global reference. + + """ + + def __init__( + self, + value: Value_type_IEC_61360, + value_ID: Optional["Reference"] = None, + ) -> None: + self.value = value + self.value_ID = value_ID + + +# fmt: off +@invariant( + lambda self: + len(self.value_reference_pairs) >= 1, + "Value reference pair types must contain at least one item." +) +# fmt: on +class Value_list(DBC): + """ + A set of value reference pairs. + """ + + value_reference_pairs: List["Value_reference_pair"] + """ + A pair of a value together with its global unique id. + """ + + def __init__(self, value_reference_pairs: List["Value_reference_pair"]) -> None: + self.value_reference_pairs = value_reference_pairs + + +IEC_61360_data_types_with_unit: Final[AbstractSet[Data_type_IEC_61360]] = constant_set( + values=[ + Data_type_IEC_61360.Integer_measure, + Data_type_IEC_61360.Real_measure, + Data_type_IEC_61360.Rational_measure, + Data_type_IEC_61360.Integer_currency, + Data_type_IEC_61360.Real_currency, + ], + description="""\ +These data types imply that the unit is defined in the data specification.""", +) + + +@invariant( + lambda self: len(self.text) <= 255, + "String shall have a maximum length of 255 characters.", +) +class Lang_string_preferred_name_type_IEC_61360(Abstract_lang_string, DBC): + """ + String with length 255 maximum and minimum 1 characters and with language tags + + .. note:: + + It is advised to keep the length of the name limited to 35 characters. + + """ + + def __init__( + self, language: BCP_47_language_tag, text: Non_empty_XML_serializable_string + ) -> None: + Abstract_lang_string.__init__(self, language=language, text=text) + + +@invariant( + lambda self: len(self.text) <= 18, + "String shall have a maximum length of 18 characters.", +) +class Lang_string_short_name_type_IEC_61360(Abstract_lang_string, DBC): + """ + String with length 18 maximum and minimum 1 characters and with language tags + """ + + def __init__( + self, language: BCP_47_language_tag, text: Non_empty_XML_serializable_string + ) -> None: + Abstract_lang_string.__init__(self, language=language, text=text) + + +@invariant( + lambda self: len(self.text) <= 1023, + "String shall have a maximum length of 1023 characters.", +) +class Lang_string_definition_type_IEC_61360(Abstract_lang_string, DBC): + """ + String with length 1023 maximum and minimum 1 characters and with language tags + """ + + def __init__( + self, language: BCP_47_language_tag, text: Non_empty_XML_serializable_string + ) -> None: + Abstract_lang_string.__init__(self, language=language, text=text) + + +@invariant( + lambda self: len(self.text) <= 256, + "String shall have a maximum length of 256 characters.", +) +class Lang_string_uom(Abstract_lang_string, DBC): + """ + String with length 256 maximum and minimum 1 characters and with language tags. + """ + + def __init__( + self, language: BCP_47_language_tag, text: Non_empty_XML_serializable_string + ) -> None: + Abstract_lang_string.__init__(self, language=language, text=text) + + +@invariant( + lambda self: len(self.text) <= 2048, + "String shall have a maximum length of 2048 characters.", +) +class Definition_type_uom(Abstract_lang_string, DBC): + """ + String with length 2048 maximum and minimum 1 characters and with language tags. + """ + + def __init__( + self, language: BCP_47_language_tag, text: Non_empty_XML_serializable_string + ) -> None: + Abstract_lang_string.__init__(self, language=language, text=text) + + +@invariant( + lambda self: len(self) <= 256, + "String UoM shall have a maximum length of 256 characters.", +) +class String_uom(Non_empty_XML_serializable_string, DBC): + """ + String with a minimum length of 1 and a maximum length of 256 characters. + """ + + +@invariant( + lambda self: len(self) <= 2048, + "Identifier UoM shall have a maximum length of 2048 characters.", +) +class Identifier_uom(Non_empty_XML_serializable_string, DBC): + """ + Identifier with a minimum length of 1 and a maximum length of 2048 characters. + """ + + +@verification +def is_BCP_47_for_english(text: str) -> bool: + """Check that the :paramref:`text` corresponds to a BCP47 code for english.""" + pattern = f"^(en|EN)(-.*)?$" + + return match(pattern, text) is not None + + +@invariant( + lambda self: lang_strings_have_unique_languages(self.preferred_name), + "Preferred name must specify unique languages.", +) +@invariant( + lambda self: len(self.preferred_name) >= 1, + "Preferred name must have at least one item.", +) +@invariant( + lambda self: not (self.definition is not None) + or lang_strings_have_unique_languages(self.definition), + "Definition must specify unique languages.", +) +@invariant( + lambda self: not (self.definition is not None) or len(self.definition) >= 1, + "Definition must be either not set or have at least one item.", +) +@invariant( + lambda self: not (self.preferred_name_quantity is not None) + or lang_strings_have_unique_languages(self.preferred_name_quantity), + "Preferred name quantity must specify unique languages.", +) +@invariant( + lambda self: not (self.preferred_name_quantity is not None) + or len(self.preferred_name_quantity) >= 1, + "Preferred name quantity must be either not set or have at least one item.", +) +@serialization(with_model_type=True) +class Data_specification_uom(Data_specification_content): + """ + Content of data specification template for concept descriptions for Units of + Measurement. + """ + + preferred_name: List["Lang_string_uom"] + """ + Preferred name of the unit in different languages as defined by the + classification system. + """ + + symbol: "String_uom" + """ + Symbol of the unit. + """ + + specific_unit_ID: Optional["String_uom"] + """ + ID of the unit defined by the classification system. + + .. note:: + + This is relevant if the classification system references the unit differently + from the concept description ID. + """ + + definition: Optional[List["Definition_type_uom"]] + """ + Definition of the unit in different languages. + """ + + preferred_name_quantity: Optional[List["Lang_string_uom"]] + """ + Preferred name of the unit's quantity in different languages as defined by the + classification system. + + .. note:: + + :attr:`preferred_name_quantity` and :attr:`quantity_ID` must be consistent if + both attributes are set. + + .. note:: + + If the classification system lists multiple quantities for the unit, exactly + one of those quantities must be selected in accordance with the properties + purpose. + """ + + quantity_ID: Optional["Identifier_uom"] + """ + ID of the unit's quantity. + + .. note:: + + :attr:`preferred_name_quantity` and :attr:`quantity_ID` must be consistent if + both attributes are set. + """ + + classification_system: Optional["String_uom"] + """ + Name of the classification system used for the definition of units and quantities. + + .. note:: + + The most prominent classification systems should be denoted as follows: "ECLASS", + "IEC CDD", "UNECE Rec 20", "UNECE Rec 21", "BIPM", "OPC UA", "SAMM". + + This list is not exclusive. + """ + + classification_system_version: Optional["String_uom"] + """ + Version of the classification system used for the definition of units and + quantities. + + .. note:: + + The version shshould be denoted exactly as provided by the classification system. + """ + + def __init__( + self, + preferred_name: List["Lang_string_uom"], + symbol: "String_uom", + specific_unit_ID: Optional["String_uom"] = None, + definition: Optional[List["Definition_type_uom"]] = None, + preferred_name_quantity: Optional[List["Lang_string_uom"]] = None, + quantity_ID: Optional["Identifier_uom"] = None, + classification_system: Optional["String_uom"] = None, + classification_system_version: Optional["String_uom"] = None, + ) -> None: + self.preferred_name = preferred_name + self.symbol = symbol + self.specific_unit_ID = specific_unit_ID + self.definition = definition + self.preferred_name_quantity = preferred_name_quantity + self.quantity_ID = quantity_ID + self.classification_system = classification_system + self.classification_system_version = classification_system_version + + +# fmt: off +@invariant( + lambda self: + any( + is_BCP_47_for_english(lang_string.language) + for lang_string in self.preferred_name + ), + "Constraint AASc-002: preferred name shall be provided at least in English." +) +@invariant( + lambda self: + lang_strings_have_unique_languages(self.preferred_name), + "Preferred name must specify unique languages." +) +@invariant( + lambda self: + len(self.preferred_name) >= 1, + "Preferred name must have at least one item." +) +@invariant( + lambda self: + not (self.short_name is not None) + or lang_strings_have_unique_languages(self.short_name), + "Short name must specify unique languages." +) +@invariant( + lambda self: + not (self.short_name is not None) + or len(self.short_name) >= 1, + "Short name must be either not set or have at least one item." +) +@invariant( + lambda self: + not (self.definition is not None) + or lang_strings_have_unique_languages(self.definition), + "Definition must specify unique languages." +) +@invariant( + lambda self: + not (self.definition is not None) + or len(self.definition) >= 1, + "Definition must be either not set or have at least one item." +) +@invariant( + lambda self: + not ( + self.data_type is not None + and self.data_type in IEC_61360_data_types_with_unit + ) or ( + self.unit is not None or self.unit_ID is not None + ), + "Constraint AASc-3a-009: If data type is a an integer, real or rational with " + "a measure or currency, unit or unit ID shall be defined." +) +@invariant( + lambda self: + not ( + self.value is not None + and self.value_list is not None + ), + "Constraint AASc-3a-010: If value is not empty then value list shall be empty and " + "vice versa." +) +@serialization(with_model_type=True) +# fmt: on +class Data_specification_IEC_61360(Data_specification_content): + """ + Content of data specification template for concept descriptions for properties, + values and value lists conformant to IEC 61360. + + .. note:: + + IEC61360 requires also a globally unique identifier for a concept + description. This ID is not part of the data specification template. + Instead the :attr:`Concept_description.ID` as inherited via + :class:`Identifiable` is used. Same holds for administrative + information like the version and revision. + + .. note:: + + :attr:`Concept_description.ID_short` and :attr:`short_name` are very + similar. However, in this case the decision was to add + :attr:`short_name` explicitly to the data specification. Same holds for + :attr:`Concept_description.display_name` and + :attr:`preferred_name`. Same holds for + :attr:`Concept_description.description` and :attr:`definition`. + + :constraint AASc-3a-010: + If :attr:`value` is not empty then :attr:`value_list` shall be empty + and vice versa. + + .. note:: + + It is also possible that both :attr:`value` and :attr:`value_list` are + empty. This is the case for concept descriptions that define the semantics + of a property but do not have an enumeration (:attr:`value_list`) as + data type. + + .. note:: + + Although it is possible to define a :class:`Concept_description` for a + :attr:´value_list`, + it is not possible to reuse this :attr:`value_list`. + It is only possible to directly add a :attr:`value_list` as data type + to a specific semantic definition of a property. + + :constraint AASc-3a-009: + If :attr:`data_type` one of: + :attr:`Data_type_IEC_61360.Integer_measure`, + :attr:`Data_type_IEC_61360.Real_measure`, + :attr:`Data_type_IEC_61360.Rational_measure`, + :attr:`Data_type_IEC_61360.Integer_currency`, + :attr:`Data_type_IEC_61360.Real_currency`, then :attr:`unit` or + :attr:`unit_ID` shall be defined. + """ + + preferred_name: List["Lang_string_preferred_name_type_IEC_61360"] + """ + Preferred name + + .. note:: + + It is advised to keep the length of the name limited to 35 characters. + + :constraint AASc-3a-002: + :attr:`preferred_name` shall be provided at least in English. + """ + + short_name: Optional[List["Lang_string_short_name_type_IEC_61360"]] + """ + Short name + """ + + unit: Optional[Non_empty_XML_serializable_string] + """ + Unit + """ + + unit_ID: Optional["Reference"] + """ + Unique unit id + + :attr:`unit` and :attr:`unit_ID` need to be consistent if both attributes + are set + + .. note:: + + It is recommended to use an external reference ID. + + """ + + source_of_definition: Optional[Non_empty_XML_serializable_string] + """ + Source of definition + """ + + symbol: Optional[Non_empty_XML_serializable_string] + """ + Symbol + """ + + data_type: Optional["Data_type_IEC_61360"] + """ + Data Type + """ + + definition: Optional[List["Lang_string_definition_type_IEC_61360"]] + """ + Definition in different languages + """ + + value_format: Optional[Non_empty_XML_serializable_string] + """ + Value Format + + .. note:: + + The value format is based on ISO 13584-42 and IEC 61360-2. + + """ + + value_list: Optional["Value_list"] + """ + List of allowed values + """ + + value: Optional[Value_type_IEC_61360] + """ + Value + """ + + level_type: Optional["Level_type"] + """ + Set of levels. + """ + + def __init__( + self, + preferred_name: List["Lang_string_preferred_name_type_IEC_61360"], + short_name: Optional[List["Lang_string_short_name_type_IEC_61360"]] = None, + unit: Optional[Non_empty_XML_serializable_string] = None, + unit_ID: Optional["Reference"] = None, + source_of_definition: Optional[Non_empty_XML_serializable_string] = None, + symbol: Optional[Non_empty_XML_serializable_string] = None, + data_type: Optional["Data_type_IEC_61360"] = None, + definition: Optional[List["Lang_string_definition_type_IEC_61360"]] = None, + value_format: Optional[Non_empty_XML_serializable_string] = None, + value_list: Optional["Value_list"] = None, + value: Optional[Value_type_IEC_61360] = None, + level_type: Optional["Level_type"] = None, + ) -> None: + self.preferred_name = preferred_name + self.short_name = short_name + self.unit = unit + self.unit_ID = unit_ID + self.source_of_definition = source_of_definition + self.symbol = symbol + self.data_type = data_type + self.definition = definition + self.value_format = value_format + self.value_list = value_list + self.value = value + self.level_type = level_type + + +# region Part 2 + + +# region API Interfaces + + +class Serialization_format(Enum): + """ + Determines the format of serialization, for example JSON or XML. + + The values are media types conformant to RFC 2046 and registered as + described in RFC 6838 (IANA). + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces.html#SerializationFormat + """ + + JSON = "application/json" + """ + JSON serialization of the requested data object inside an AAS + Environment structure + """ + + XML = "application/xml" + """ + XML serialization of the requested data object inside an AAS Environment + structure. + """ + + AASX = "application/aasx+xml" + """AASX-Package (binary data) containing the requested data object""" + + +# endregion API Interfaces + + +# region Data Types For Payload + + +@abstract +# fmt: off +@invariant( + lambda self: + not (self.extensions is not None) + or extension_names_are_unique(self.extensions), + "The name of an extension needs to be unique." +) +@invariant( + lambda self: + not (self.extensions is not None) + or len(self.extensions) >= 1, + "Extensions must be either not set or have at least one item." +) +@invariant( + lambda self: + not (self.display_name is not None) + or lang_strings_have_unique_languages(self.display_name), + "Display name must specify unique languages." +) +@invariant( + lambda self: + not (self.display_name is not None) + or len(self.display_name) >= 1, + "Display name must be either not set or have at least one item." +) +@invariant( + lambda self: + not (self.description is not None) + or lang_strings_have_unique_languages(self.description), + "Description must specify unique languages." +) +@invariant( + lambda self: + not (self.description is not None) + or len(self.description) >= 1, + "Description must be either not set or have at least one item." +) +# fmt: on +class Descriptor(DBC): + """ + The self-describing information of a network resource. + + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#Descriptor + """ + + description: Optional[List["Lang_string_text_type"]] + """ + Description or comments on the element. + + The description can be provided in several languages. + """ + + display_name: Optional[List["Lang_string_name_type"]] + """Display name. Can be provided in several languages.""" + + extensions: Optional[List["Extension"]] + """ + An extension of the element. + + .. note:: + + Extensions are proprietary, i.e. they do not support global interoperability. + """ + + def __init__( + self, + description: Optional[List["Lang_string_text_type"]] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + extensions: Optional[List["Extension"]] = None, + ) -> None: + self.description = description + self.display_name = display_name + self.extensions = extensions + + +# fmt: off +@invariant( + lambda self: + not (self.submodel_descriptors is not None) + or len(self.submodel_descriptors) >= 1, + "Submodel descriptors must be either not set or have at least one item." +) +@invariant( + lambda self: + not (self.specific_asset_IDs is not None) + or len(self.specific_asset_IDs) >= 1, + "Specific asset IDs must be either not set or have at least one item." +) +@invariant( + lambda self: + not (self.endpoints is not None) + or len(self.endpoints) >= 1, + "Endpoints must be either not set or have at least one item." +) +# fmt: on +class Asset_administration_shell_descriptor(Descriptor): + """ + Descriptor of an Asset Administration Shell. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#AssetAdministrationShellDescriptor + """ + + ID: "Identifier" + """Globally unique identification of the Asset Administration Shell.""" + + administration: Optional["Administrative_information"] + """Administrative information of the Asset Administration Shell.""" + + asset_kind: Optional["Asset_kind"] + """ + Denotes whether the asset of the described Asset Administration Shell is of + kind :attr:`Asset_kind.Type`, :attr:`Asset_kind.Instance`, + :attr:`Asset_kind.Role`, or :attr:`Asset_kind.Not_applicable`. + """ + + asset_type: Optional["Identifier"] + """ + The type of the asset described by the Asset Administration Shell of this + descriptor. + + See :attr:`Asset_information.asset_type` for further information. + """ + + endpoints: Optional[List["Endpoint"]] + """ + Endpoint of the network resource. + + .. note:: + + The cardinality restriction for :attr:`endpoints` allows a provider to skip + the declaration of the location of an Asset Administration Shell and directly + point to the endpoints of the contained submodels through + :attr:`submodel_descriptors`' :attr:`Submodel_descriptor.endpoints`. + A client, therefore, might decide to skip the lookup on the Asset + Administration Shell. + Nevertheless, in case the information contained in the + :class:`Asset_administration_shell_descriptor` deviates from the + related :class:`Asset_administration_shell`, or attributes are missing, + the :class:`Asset_administration_shell` is always the source of truth. + """ + + global_asset_ID: Optional["Identifier"] + """Global reference to the asset the Asset Administration Shell is representing.""" + + ID_short: Optional["Name_type"] + """Short name of the Asset Administration Shell.""" + + specific_asset_IDs: Optional[List["Specific_asset_ID"]] + """Specific asset identifier.""" + + submodel_descriptors: Optional[List["Submodel_descriptor"]] + """Descriptor of a submodel of the Asset Administration Shell.""" + + def __init__( + self, + ID: "Identifier", + description: Optional[List["Lang_string_text_type"]] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + extensions: Optional[List["Extension"]] = None, + administration: Optional["Administrative_information"] = None, + asset_kind: Optional["Asset_kind"] = None, + asset_type: Optional["Identifier"] = None, + endpoints: Optional[List["Endpoint"]] = None, + global_asset_ID: Optional["Identifier"] = None, + ID_short: Optional["Name_type"] = None, + specific_asset_IDs: Optional[List["Specific_asset_ID"]] = None, + submodel_descriptors: Optional[List["Submodel_descriptor"]] = None, + ) -> None: + Descriptor.__init__( + self, + description=description, + display_name=display_name, + extensions=extensions, + ) + + self.ID = ID + self.administration = administration + self.asset_kind = asset_kind + self.asset_type = asset_type + self.endpoints = endpoints + self.global_asset_ID = global_asset_ID + self.ID_short = ID_short + self.specific_asset_IDs = specific_asset_IDs + self.submodel_descriptors = submodel_descriptors + + +# fmt: off +@invariant( + lambda self: len(self.endpoints) >= 1, + "Endpoints must contain at least one item.", +) +@invariant( + lambda self: + not (self.supplemental_semantic_IDs is not None) + or (self.semantic_ID is not None), + "If there are supplemental semantic IDs defined then there shall be also " + "a main semantic ID." +) +@invariant( + lambda self: + not (self.supplemental_semantic_IDs is not None) + or len(self.supplemental_semantic_IDs) >= 1, + "Supplemental semantic IDs must be either not set or have at least one item." +) +# fmt: on +class Submodel_descriptor(Descriptor): + """ + A descriptor of a submodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#SubmodelDescriptor + """ + + endpoints: List["Endpoint"] + """Endpoint of the network resource.""" + + ID: "Identifier" + """Globally unique identification of the Submodel.""" + + administration: Optional["Administrative_information"] + """Administrative information of the Submodel.""" + + ID_short: Optional["Name_type"] + """Short name of the Submodel.""" + + semantic_ID: Optional["Reference"] + """ + Identifier of the semantic definition of the Submodel. + """ + + supplemental_semantic_IDs: Optional[List["Reference"]] + """ + Identifier of a supplemental semantic definition of the element called supplemental + semantic ID of the element. + """ + + def __init__( + self, + endpoints: List["Endpoint"], + ID: "Identifier", + description: Optional[List["Lang_string_text_type"]] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + extensions: Optional[List["Extension"]] = None, + administration: Optional["Administrative_information"] = None, + ID_short: Optional["Name_type"] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + ) -> None: + Descriptor.__init__( + self, + description=description, + display_name=display_name, + extensions=extensions, + ) + + self.endpoints = endpoints + self.ID = ID + self.administration = administration + self.ID_short = ID_short + self.semantic_ID = semantic_ID + self.supplemental_semantic_IDs = supplemental_semantic_IDs + + +class Endpoint(DBC): + """ + The endpoint description of a network resource. + + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#Endpoint + """ + + protocol_information: "Protocol_information" + """Protocol information of the network resource endpoint.""" + + interface: "Name_type" + """Name of the offered interface at the endpoint.""" + + def __init__( + self, + protocol_information: "Protocol_information", + interface: "Name_type", + ) -> None: + self.protocol_information = protocol_information + self.interface = interface + + +# fmt: off +@invariant( + lambda self: + not (self.security_attributes is not None) + or len(self.security_attributes) >= 1, + "Security attributes must be either not set or have at least one item." +) +@invariant( + lambda self: + not (self.endpoint_protocol_version is not None) + or len(self.endpoint_protocol_version) >= 1, + "Endpoint protocol versions must be either not set or have at least one item." +) +# fmt: on +class Protocol_information(DBC): + """ + The protocol information of a network resource endpoint. + + .. note:: + + The protocol information of a network resource endpoint is defined in + DIN SPEC 16593-2. After the release of DIN SPEC 16593-2, any required + updates will be made. This class is not part of the metamodel. + + The information in this class is a 1:1 copy from DIN SPEC 16593-2. Required + changes need to be made by the related DIN working group. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#ProtocolInformation + """ + + href: "Locator_type" + """The endpoint address as a URL.""" + + endpoint_protocol: Optional["Scheme_type"] + """ + Either scheme of :attr:`href` or scheme plus further information. + + The scheme denotes the highest level of doubtless transmission. + """ + + endpoint_protocol_version: Optional[List["Name_type"]] + """ + Each entry represents one supported version at this very endpoint, the entry shall + be formatted according to the regulations of the protocol specified in + the :attr:`href` + """ + + subprotocol: Optional["Short_ID_type"] + """ + Allows for referencing sub-protocols that may be used in the context of that + endpoint e.g. "OPC Basic SOAP" or UA Binary + """ + + subprotocol_body: Optional["Text_type"] + """ + If the sub-protocol field is present, a subprotocol body might be given to hold + extra information, e.g. node and namespace in an OPC UA server + """ + + subprotocol_body_encoding: Optional["Name_type"] + """ + If :attr:`subprotocol_body` is present, the encoding might be explicitly defined, + otherwise it shall default to subprotocols encoding scheme + """ + + security_attributes: Optional[List["Security_attribute_object"]] + """ + Array of :class:`Security_attribute_object`'s. Each attribute has + three properties: + + :attr:`~Security_attribute_object.type`: enum security type or standard: + + * ``NONE``; + * ``RFC_TLSA``, TLSA according to RFC 6698; or + * ``W3C_DID``, W3C DID document. + + :attr:`~Security_attribute_object.key`: security attribute key according to standard + definitions of the security type. + + :attr:`~Security_attribute_object.value`: security attribute value, *e.g.*, DANE + TLSA Resource Record. + + The :class:`Security_attribute_object`'s are treated as possible + alternatives (logical "or"). + """ + + def __init__( + self, + href: "Locator_type", + endpoint_protocol: Optional["Scheme_type"] = None, + endpoint_protocol_version: Optional[List["Name_type"]] = None, + subprotocol: Optional["Short_ID_type"] = None, + subprotocol_body: Optional["Text_type"] = None, + subprotocol_body_encoding: Optional["Name_type"] = None, + security_attributes: Optional[List["Security_attribute_object"]] = None, + ) -> None: + self.href = href + self.endpoint_protocol = endpoint_protocol + self.endpoint_protocol_version = endpoint_protocol_version + self.subprotocol = subprotocol + self.subprotocol_body = subprotocol_body + self.subprotocol_body_encoding = subprotocol_body_encoding + self.security_attributes = security_attributes + + +class Security_attribute_object(DBC): + """ + Security attributes as defined by DIN SPEC 16593-2. After the release of + DIN SPEC 16593-2, any required updates will be made. This class is not part of + the metamodel. + + The information in this table is derived from DIN SPEC 16593-2. Required changes + need to be made by the related DIN working group. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#SecurityAttributeObject + """ + + type: "Security_type_enum" + """Enum security type or standard.""" + + key: str + """Security attribute key according to standard definitions of the security type.""" + + value: str + """Security attribute value e.g. DANE TLSA Resource Record.""" + + def __init__(self, type: "Security_type_enum", key: str, value: str) -> None: + self.type = type + self.key = key + self.value = value + + +class Security_type_enum(Enum): + """ + The security types as defined by DIN SPEC 16593-2. After the release of + DIN SPEC 16593-2, any required updates will be made. This class is not part of + the metamodel. + + The information in this table is derived from DIN SPEC 16593-2. Required changes + need to be made by the related DIN working group. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#SecurityTypeEnum + """ + + # NOTE (mristin): + # The literal ``NONE`` from the specification is named :attr:`No_security` + # here since ``None`` is a reserved keyword in Python. + No_security = "NONE" + """No predefined security type available.""" + + RFC_TLSA = "RFC_TLSA" + """TLSA according to RFC 6698.""" + + W3C_DID = "W3C_DID" + """Decentralized Identifiers according to the W3C Recommendation.""" + + +class Asset_link(DBC): + """ + Asset identifier derived from either :class:`Specific_asset_ID` or + :attr:`Asset_information.global_asset_ID`. + + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#AssetLink + """ + + name: "Label_type" + """ + Name of the Asset identifier, *i.e.*, ``globalAssetId``, a serial number, + manufacturer part ID, or customer part IDs. + """ + + value: "Identifier" + """Value of the Asset Identifier.""" + + def __init__(self, name: "Label_type", value: "Identifier") -> None: + self.name = name + self.value = value + + +@invariant( + lambda self: len(self.profiles) >= 1, + "Profiles must contain at least one item.", +) +class Service_description(DBC): + """ + The self-describing information of an API Implementation. It enables + servers to present their capabilities to the clients, in particular + which profiles they implement. At least one defined profile is + required. Additional, proprietary attributes might be included. + Nevertheless, the server must not expect that a regular client + understands them. + + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#ServiceDescription + """ + + profiles: List["Service_specification_profile_enum"] + """List of implemented server specification profiles.""" + + def __init__(self, profiles: List["Service_specification_profile_enum"]) -> None: + self.profiles = profiles + + +class Service_specification_profile_enum(Enum): + """ + The identifiers of the standardized service specification profiles. + See also Clause Service Specifications and Profiles for further + details. + + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#ServiceSpecificationProfileEnum + + See also Clause Service Specifications and Profiles: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/service-specifications-and-profiles.html#service-specifications-and-profiles + """ + + AAS_service_specification_SSP_001_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/" + "AssetAdministrationShellServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all features of the Asset Administration + Shell Service Specification Full Profile in version 3.0. + """ + + AAS_service_specification_SSP_001_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "AssetAdministrationShellServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all features of the Asset Administration + Shell Service Specification Full Profile in version 3.1. + """ + + AAS_service_specification_SSP_001_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "AssetAdministrationShellServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all features of the Asset Administration + Shell Service Specification Full Profile in version 3.2. + """ + + AAS_service_specification_SSP_002_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/" + "AssetAdministrationShellServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all features of the Asset Administration + Shell Service Specification Read Profile in version 3.0. + """ + + AAS_service_specification_SSP_002_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "AssetAdministrationShellServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all features of the Asset Administration + Shell Service Specification Read Profile in version 3.1. + """ + + AAS_service_specification_SSP_002_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "AssetAdministrationShellServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all features of the Asset Administration + Shell Service Specification Read Profile in version 3.2. + """ + + Submodel_service_specification_SSP_001_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all features of the Submodel Service + Specification Full Profile in version 3.0. + """ + + Submodel_service_specification_SSP_001_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/SubmodelServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all features of the Submodel Service + Specification Full Profile in version 3.1. + """ + + Submodel_service_specification_SSP_001_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/SubmodelServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all features of the Submodel Service + Specification Full Profile in version 3.2. + """ + + Submodel_service_specification_SSP_002_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all features of the Submodel Service + Specification Value Profile in version 3.0. + """ + + Submodel_service_specification_SSP_002_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/SubmodelServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all features of the Submodel Service + Specification Value Profile in version 3.1. + """ + + Submodel_service_specification_SSP_002_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/SubmodelServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all features of the Submodel Service + Specification Value Profile in version 3.2. + """ + + Submodel_service_specification_SSP_003_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-003" + ) + """ + Indicates that the server implemented all features of the Submodel Service + Specification Read Profile in version 3.0. + """ + + Submodel_service_specification_SSP_003_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/SubmodelServiceSpecification/SSP-003" + ) + """ + Indicates that the server implemented all features of the Submodel Service + Specification Read Profile in version 3.1. + """ + + Submodel_service_specification_SSP_003_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/SubmodelServiceSpecification/SSP-003" + ) + """ + Indicates that the server implemented all features of the Submodel Service + Specification Read Profile in version 3.2. + """ + + AASX_file_server_service_specification_SSP_001_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/" + "AasxFileServerServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all details of the AASX File Server + Service Specification Full Profile in version 3.0. + """ + + AASX_file_server_service_specification_SSP_001_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "AasxFileServerServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all details of the AASX File Server + Service Specification Full Profile in version 3.1. + """ + + AASX_file_server_service_specification_SSP_001_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "AasxFileServerServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all details of the AASX File Server + Service Specification Full Profile in version 3.2. + """ + + AASX_file_server_service_specification_SSP_002_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "AasxFileServerServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all details of the AASX File Server + Service Specification Read Profile in version 3.1. + """ + + AASX_file_server_service_specification_SSP_002_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "AasxFileServerServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all details of the AASX File Server + Service Specification Read Profile in version 3.2. + """ + + AAS_registry_service_specification_SSP_001_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/" + "AssetAdministrationShellRegistryServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Registry Service Specification Full Profile in version 3.0. + """ + + AAS_registry_service_specification_SSP_001_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "AssetAdministrationShellRegistryServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Registry Service Specification Full Profile in version 3.1. + """ + + AAS_registry_service_specification_SSP_001_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "AssetAdministrationShellRegistryServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Registry Service Specification Full Profile in version 3.2. + """ + + AAS_registry_service_specification_SSP_002_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/" + "AssetAdministrationShellRegistryServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Registry Service Specification Read Profile in version 3.0. + """ + + AAS_registry_service_specification_SSP_002_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "AssetAdministrationShellRegistryServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Registry Service Specification Read Profile in version 3.1. + """ + + AAS_registry_service_specification_SSP_002_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "AssetAdministrationShellRegistryServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Registry Service Specification Read Profile in version 3.2. + """ + + AAS_registry_service_specification_SSP_003_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "AssetAdministrationShellRegistryServiceSpecification/SSP-003" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Registry Service Specification Bulk Profile in version 3.1. + """ + + AAS_registry_service_specification_SSP_003_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "AssetAdministrationShellRegistryServiceSpecification/SSP-003" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Registry Service Specification Bulk Profile in version 3.2. + """ + + AAS_registry_service_specification_SSP_004_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "AssetAdministrationShellRegistryServiceSpecification/SSP-004" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Registry Service Specification Query Profile in version 3.1. + """ + + AAS_registry_service_specification_SSP_004_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "AssetAdministrationShellRegistryServiceSpecification/SSP-004" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Registry Service Specification Query Profile in version 3.2. + """ + + AAS_registry_service_specification_SSP_005_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "AssetAdministrationShellRegistryServiceSpecification/SSP-005" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Registry Service Specification Minimal Read Profile in version 3.1. + """ + + AAS_registry_service_specification_SSP_005_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "AssetAdministrationShellRegistryServiceSpecification/SSP-005" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Registry Service Specification Minimal Read Profile in version 3.2. + """ + + Submodel_registry_service_specification_SSP_001_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/" + "SubmodelRegistryServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all details of the Submodel Registry + Service Specification Full Profile in version 3.0. + """ + + Submodel_registry_service_specification_SSP_001_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "SubmodelRegistryServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all details of the Submodel Registry + Service Specification Full Profile in version 3.1. + """ + + Submodel_registry_service_specification_SSP_001_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "SubmodelRegistryServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all details of the Submodel Registry + Service Specification Full Profile in version 3.2. + """ + + Submodel_registry_service_specification_SSP_002_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/" + "SubmodelRegistryServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all details of the Submodel Registry + Service Specification Read Profile in version 3.0. + """ + + Submodel_registry_service_specification_SSP_002_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "SubmodelRegistryServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all details of the Submodel Registry + Service Specification Read Profile in version 3.1. + """ + + Submodel_registry_service_specification_SSP_002_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "SubmodelRegistryServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all details of the Submodel Registry + Service Specification Read Profile in version 3.2. + """ + + Submodel_registry_service_specification_SSP_003_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "SubmodelRegistryServiceSpecification/SSP-003" + ) + """ + Indicates that the server implemented all details of the Submodel Registry + Service Specification Bulk Profile in version 3.1. + """ + + Submodel_registry_service_specification_SSP_003_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "SubmodelRegistryServiceSpecification/SSP-003" + ) + """ + Indicates that the server implemented all details of the Submodel Registry + Service Specification Bulk Profile in version 3.2. + """ + + Submodel_registry_service_specification_SSP_004_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "SubmodelRegistryServiceSpecification/SSP-004" + ) + """ + Indicates that the server implemented all details of the Submodel Registry + Service Specification Query Profile in version 3.1. + """ + + Submodel_registry_service_specification_SSP_004_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "SubmodelRegistryServiceSpecification/SSP-004" + ) + """ + Indicates that the server implemented all details of the Submodel Registry + Service Specification Query Profile in version 3.2. + """ + + Discovery_service_specification_SSP_001_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/" "DiscoveryServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all details of the Discovery Service + Specification Full Profile in version 3.0. + """ + + Discovery_service_specification_SSP_001_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" "DiscoveryServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all details of the Discovery Service + Specification Full Profile in version 3.1. + """ + + Discovery_service_specification_SSP_001_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" "DiscoveryServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all details of the Discovery Service + Specification Full Profile in version 3.2. + """ + + Discovery_service_specification_SSP_002_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" "DiscoveryServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all details of the Discovery Service + Specification Read Profile in version 3.1. + """ + + AAS_repository_service_specification_SSP_001_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/" + "AssetAdministrationShellRepositoryServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Repository Service Specification Full Profile in version 3.0. + """ + + AAS_repository_service_specification_SSP_001_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "AssetAdministrationShellRepositoryServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Repository Service Specification Full Profile in version 3.1. + """ + + AAS_repository_service_specification_SSP_001_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "AssetAdministrationShellRepositoryServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Repository Service Specification Read Profile in version 3.2. + """ + + AAS_repository_service_specification_SSP_002_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/" + "AssetAdministrationShellRepositoryServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Repository Service Specification Read Profile in version 3.0. + """ + + AAS_repository_service_specification_SSP_002_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "AssetAdministrationShellRepositoryServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Repository Service Specification Read Profile in version 3.1. + """ + + AAS_repository_service_specification_SSP_002_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "AssetAdministrationShellRepositoryServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Repository Service Specification Read Profile in version 3.2. + """ + + AAS_repository_service_specification_SSP_003_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "AssetAdministrationShellRepositoryServiceSpecification/SSP-003" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Repository Service Specification Query Profile in version 3.1. + """ + + AAS_repository_service_specification_SSP_003_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "AssetAdministrationShellRepositoryServiceSpecification/SSP-003" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Repository Service Specification Query Profile in version 3.2. + """ + + AAS_repository_service_specification_SSP_004_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "AssetAdministrationShellRepositoryServiceSpecification/SSP-004" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Repository Service Specification Signature Profile in version 3.2. + """ + + AAS_repository_service_specification_SSP_005_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "AssetAdministrationShellRepositoryServiceSpecification/SSP-005" + ) + """ + Indicates that the server implemented all details of the Asset Administration + Shell Repository Service Specification Identifiable Profile in version 3.2. + """ + + Submodel_repository_service_specification_SSP_001_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/" + "SubmodelRepositoryServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all details of the Submodel Service + Repository Specification Full Profile in version 3.0. + """ + + Submodel_repository_service_specification_SSP_001_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "SubmodelRepositoryServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all details of the Submodel Service + Repository Specification Full Profile in version 3.1. + """ + + Submodel_repository_service_specification_SSP_001_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "SubmodelRepositoryServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all details of the Submodel Service + Repository Specification Full Profile in version 3.2. + """ + + Submodel_repository_service_specification_SSP_002_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/" + "SubmodelRepositoryServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all details of the Submodel Service + Repository Specification Read Profile in version 3.0. + """ + + Submodel_repository_service_specification_SSP_002_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "SubmodelRepositoryServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all details of the Submodel Service + Repository Specification Read Profile in version 3.1. + """ + + Submodel_repository_service_specification_SSP_002_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "SubmodelRepositoryServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all details of the Submodel Service + Repository Specification Read Profile in version 3.2. + """ + + Submodel_repository_service_specification_SSP_003_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/" + "SubmodelRepositoryServiceSpecification/SSP-003" + ) + """ + Indicates that the server implemented all details of the Submodel Service + Repository Specification Template Profile in version 3.0. + """ + + Submodel_repository_service_specification_SSP_003_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "SubmodelRepositoryServiceSpecification/SSP-003" + ) + """ + Indicates that the server implemented all details of the Submodel Service + Repository Specification Template Profile in version 3.1. + """ + + Submodel_repository_service_specification_SSP_003_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "SubmodelRepositoryServiceSpecification/SSP-003" + ) + """ + Indicates that the server implemented all details of the Submodel Service + Repository Specification Template Profile in version 3.2. + """ + + Submodel_repository_service_specification_SSP_004_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/" + "SubmodelRepositoryServiceSpecification/SSP-004" + ) + """ + Indicates that the server implemented all details of the Submodel Service + Repository Specification Template Read Profile in version 3.0. + """ + + Submodel_repository_service_specification_SSP_004_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "SubmodelRepositoryServiceSpecification/SSP-004" + ) + """ + Indicates that the server implemented all details of the Submodel Service + Repository Specification Template Read Profile in version 3.1. + """ + + Submodel_repository_service_specification_SSP_004_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "SubmodelRepositoryServiceSpecification/SSP-004" + ) + """ + Indicates that the server implemented all details of the Submodel Service + Repository Specification Template Read Profile in version 3.2. + """ + + Submodel_repository_service_specification_SSP_005_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "SubmodelRepositoryServiceSpecification/SSP-005" + ) + """ + Indicates that the server implemented all details of the Submodel Service + Repository Specification Query Profile in version 3.1. + """ + + Submodel_repository_service_specification_SSP_005_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "SubmodelRepositoryServiceSpecification/SSP-005" + ) + """ + Indicates that the server implemented all details of the Submodel Service + Repository Specification Query Profile in version 3.2. + """ + + Submodel_repository_service_specification_SSP_006_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "SubmodelRepositoryServiceSpecification/SSP-006" + ) + """ + Indicates that the server implemented all details of the Submodel Service + Repository Specification Signature Profile in version 3.2. + """ + + Concept_description_repository_service_specification_SSP_001_V3_0 = ( + "https://admin-shell.io/aas/API/3/0/" + "ConceptDescriptionRepositoryServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all details of the Concept Description + Repository Service Specification Profile in version 3.0. + """ + + Concept_description_repository_service_specification_SSP_001_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "ConceptDescriptionRepositoryServiceSpecification/SSP-001" + ) + """ + Indicates that the server implemented all details of the Concept Description + Repository Service Specification Profile in version 3.1. + """ + + Concept_description_repository_service_specification_SSP_002_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "ConceptDescriptionRepositoryServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all details of the Concept Description + Repository Service Specification Query Profile in version 3.2. + """ + + Concept_description_repository_service_specification_SSP_002_V3_1 = ( + "https://admin-shell.io/aas/API/3/1/" + "ConceptDescriptionRepositoryServiceSpecification/SSP-002" + ) + """ + Indicates that the server implemented all details of the Concept Description + Repository Service Specification Query Profile in version 3.1. + """ + + Concept_description_repository_service_specification_SSP_003_V3_2 = ( + "https://admin-shell.io/aas/API/3/2/" + "ConceptDescriptionRepositoryServiceSpecification/SSP-003" + ) + """ + Indicates that the server implemented all details of the Concept Description + Repository Service Specification Signature Profile in version 3.2. + """ + + +@abstract +class Recent_change(DBC): + """ + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#RecentChange + """ + + created_at: "Date_time_UTC" + """The point in time at which the Identifiable object was created""" + + updated_at: "Date_time_UTC" + """ + The point in time at which the Identifiable object was recently updated + """ + + def __init__( + self, created_at: "Date_time_UTC", updated_at: "Date_time_UTC" + ) -> None: + self.created_at = created_at + self.updated_at = updated_at + + +# fmt: off +@invariant( + lambda self: + not (self.specific_asset_IDs is not None) + or len(self.specific_asset_IDs) >= 1, + "Specific asset IDs must be either not set or have at least one item." +) +# fmt: on +class Asset_administration_shell_recent_change(Recent_change): + """ + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#AssetAdministrationShellRecentChange + """ + + ID: "Identifier" + """Globally unique identification of the Asset Administration Shell""" + + global_asset_ID: Optional["Identifier"] + """Global reference to the asset the AAS is representing""" + + specific_asset_IDs: Optional[List["Specific_asset_ID"]] + """Specific asset identifier""" + + def __init__( + self, + created_at: "Date_time_UTC", + updated_at: "Date_time_UTC", + ID: "Identifier", + global_asset_ID: Optional["Identifier"] = None, + specific_asset_IDs: Optional[List["Specific_asset_ID"]] = None, + ) -> None: + Recent_change.__init__(self, created_at=created_at, updated_at=updated_at) + + self.ID = ID + self.global_asset_ID = global_asset_ID + self.specific_asset_IDs = specific_asset_IDs + + +class Concept_description_recent_change(Recent_change): + """ + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#ConceptDescriptionRecentChange + """ + + ID: "Identifier" + """Globally unique identification of the Submodel""" + + def __init__( + self, + created_at: "Date_time_UTC", + updated_at: "Date_time_UTC", + ID: "Identifier", + ) -> None: + Recent_change.__init__(self, created_at=created_at, updated_at=updated_at) + + self.ID = ID + + +# fmt: off +@invariant( + lambda self: + not (self.supplemental_semantic_IDs is not None) + or (self.semantic_ID is not None), + "If there are supplemental semantic IDs defined then there shall be also " + "a main semantic ID." +) +@invariant( + lambda self: + not (self.supplemental_semantic_IDs is not None) + or len(self.supplemental_semantic_IDs) >= 1, + "Supplemental semantic IDs must be either not set or have at least one item." +) +# fmt: on +class Submodel_recent_change(Recent_change): + """ + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#SubmodelRecentChange + """ + + ID: "Identifier" + """Globally unique identification of the Submodel""" + + semantic_ID: Optional["Reference"] + """Identifier of the semantic definition of the Submodel""" + + supplemental_semantic_IDs: Optional[List["Reference"]] + """ + Identifier of a supplemental semantic definition of the element called + supplemental semantic ID of the element + """ + + def __init__( + self, + created_at: "Date_time_UTC", + updated_at: "Date_time_UTC", + ID: "Identifier", + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + ) -> None: + Recent_change.__init__(self, created_at=created_at, updated_at=updated_at) + + self.ID = ID + self.semantic_ID = semantic_ID + self.supplemental_semantic_IDs = supplemental_semantic_IDs + + +@invariant( + lambda self: self >= 0, + "The value must be a non-negative integer.", +) +class Non_negative_integer(int, DBC): + """ + The ``nonNegativeInteger`` datatype as defined by XML Schema Part 2 in + version 1.0. + + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#_simple_data_types + """ + + +# region Primitive Data Types +# +# See: +# https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#_primitive_data_types + + +# fmt: off +@invariant( + lambda self: len(self) >= 1, + "The value must not be empty." +) +@invariant( + lambda self: len(self) <= 32, + "Code type shall have a maximum length of 32 characters.", +) +# fmt: on +class Code_type(str, DBC): + """ + string with max 32 and min 1 characters + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#CodeType + """ + + +class Short_ID_type(Name_type, DBC): + """ + same as :class:`Name_type` (string with max 128 and min 1 characters) + + .. note:: + + :class:`Short_ID_type` is *not* the data type of :class:`ID_short_type` + attributes, but for IDs which shall be shorter than the identifier type. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#ShortIdType + """ + + +# fmt: off +@invariant( + lambda self: len(self) >= 1, + "The value must not be empty." +) +@invariant( + lambda self: len(self) <= 2048, + "Locator type shall have a maximum length of 2048 characters.", +) +# fmt: on +class Locator_type(str, DBC): + """ + string with max 2048 and min 1 characters + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#LocatorType + """ + + +# fmt: off +@invariant( + lambda self: len(self) >= 1, + "The value must not be empty." +) +@invariant( + lambda self: len(self) <= 2048, + "Text type shall have a maximum length of 2048 characters.", +) +# fmt: on +class Text_type(str, DBC): + """ + string with max 2048 and min 1 characters + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#TextType + """ + + +class Scheme_type(Name_type, DBC): + """ + same as NameType (string with max 128 and min 1 characters) + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#SchemeType + """ + + +# endregion Primitive Data Types + + +class Status_code(Enum): + """ + Generic status codes. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#StatusCode + """ + + Success = "Success" + """Success""" + + Success_created = "SuccessCreated" + """Successful creation of a new resource""" + + Success_accepted = "SuccessAccepted" + """The reception of the request was successful""" + + Success_no_content = "SuccessNoContent" + """Success with explicitly no content in the payload""" + + Client_error_bad_request = "ClientErrorBadRequest" + """Bad or malformed request""" + + Client_not_authorized = "ClientNotAuthorized" + """Wrong or missing authorization credentials""" + + Client_forbidden = "ClientForbidden" + """Authorization has been refused""" + + Client_method_not_allowed = "ClientMethodNotAllowed" + """Operation request is not allowed""" + + Client_error_resource_not_found = "ClientErrorResourceNotFound" + """Resource not found""" + + Client_resource_conflict = "ClientResourceConflict" + """Conflict-creating resource (resource already exists)""" + + Server_internal_error = "ServerInternalError" + """Unexpected error""" + + Server_not_implemented = "ServerNotImplemented" + """ + The server has not implemented this API Operation. Intended for cases + where API Operations beyond the supported service profiles are requested. + """ + + Server_error_bad_gateway = "ServerErrorBadGateway" + """Bad gateway""" + + +# fmt: off +@invariant( + lambda self: + not (self.messages is not None) + or len(self.messages) >= 1, + "Messages must be either not set or have at least one item." +) +# fmt: on +class Result(DBC): + """ + The result object. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#Result + """ + + messages: Optional[List["Message"]] + """Additional messages containing information for the requester""" + + def __init__(self, messages: Optional[List["Message"]] = None) -> None: + self.messages = messages + + +class Message(DBC): + """ + A message containing more information for the requester about a certain + happening in the backend. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#Message + """ + + message_type: "Message_type_enum" + """The message type""" + + text: str + """The message text""" + + code: Optional["Code_type"] + """Technology-dependent status or error code""" + + correlation_ID: Optional["Short_ID_type"] + """Identifier to relate several result messages throughout several systems""" + + timestamp: Optional["Date_time_UTC"] + """Timestamp of the message""" + + def __init__( + self, + message_type: "Message_type_enum", + text: str, + code: Optional["Code_type"] = None, + correlation_ID: Optional["Short_ID_type"] = None, + timestamp: Optional["Date_time_UTC"] = None, + ) -> None: + self.message_type = message_type + self.text = text + self.code = code + self.correlation_ID = correlation_ID + self.timestamp = timestamp + + +class Message_type_enum(Enum): + """ + The message type. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#MessageTypeEnum + """ + + Undefined = "Undefined" + """ + Used when the message type has not been set. + + .. note:: + + Not documented in the book prose; present as a literal in the + OpenAPI schema's ``messageType`` enumeration. + """ + + Info = "Info" + """Used to inform the user about a certain fact""" + + Warning = "Warning" + """Used for warnings; warnings may lead to errors in the subsequent execution""" + + Error = "Error" + """Used for handling errors""" + + Exception = "Exception" + """Used in case of an internal and/or unhandled exception""" + + +# fmt: off +@invariant( + lambda self: + not (self.input_arguments is not None) + or len(self.input_arguments) >= 1, + "Input arguments must be either not set or have at least one item." +) +@invariant( + lambda self: + not (self.inoutput_arguments is not None) + or len(self.inoutput_arguments) >= 1, + "InOutput arguments must be either not set or have at least one item." +) +# fmt: on +class Operation_request(DBC): + """ + The operation request object. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#OperationRequest + """ + + input_arguments: Optional[List["Operation_variable"]] + """Input argument""" + + inoutput_arguments: Optional[List["Operation_variable"]] + """InOutput argument""" + + client_timeout_duration: Optional["Duration"] + """ + Duration indicating when the client suggests the server to have finished + execution of the invoked operation. The server may take this value into account to + decide on its effective timeout, however, the server may or may not use by its own + discretion. + """ + + def __init__( + self, + input_arguments: Optional[List["Operation_variable"]] = None, + inoutput_arguments: Optional[List["Operation_variable"]] = None, + client_timeout_duration: Optional["Duration"] = None, + ) -> None: + self.input_arguments = input_arguments + self.inoutput_arguments = inoutput_arguments + self.client_timeout_duration = client_timeout_duration + + +# fmt: off +@invariant( + lambda self: + not (self.input_arguments is not None) + or len(self.input_arguments) >= 1, + "Input arguments must be either not set or have at least one item." +) +@invariant( + lambda self: + not (self.inoutput_arguments is not None) + or len(self.inoutput_arguments) >= 1, + "InOutput arguments must be either not set or have at least one item." +) +# fmt: on +class Operation_request_async(DBC): + """ + The operation request object for asynchronous invocation. + + This class is not part of the metamodel and is not itself a named class + in the specification. It corresponds to the request body of the + ``InvokeOperationAsync`` operation, which is shaped like + :class:`Operation_request` with + :attr:`~Operation_request.client_timeout_duration` made mandatory. + + .. note:: + + This class is deliberately *not* related to :class:`Operation_request` + by inheritance: a subclass constructor must exactly match + argument's type to the inherited property's declared + type, so a property declared ``Optional[Duration]`` on a base class + cannot be narrowed to a required ``Duration`` on a subclass. Making + this a standalone class lets ``client_timeout_duration`` be + genuinely required here. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces.html#_operation_invokeoperationasync + """ + + input_arguments: Optional[List["Operation_variable"]] + """Input argument""" + + inoutput_arguments: Optional[List["Operation_variable"]] + """InOutput argument""" + + client_timeout_duration: "Duration" + """ + Duration indicating when the client suggests the server to have finished + execution of the invoked operation. The server may take this value into account to + decide on its effective timeout, however, the server may or may not use by its own + discretion. + """ + + def __init__( + self, + client_timeout_duration: "Duration", + input_arguments: Optional[List["Operation_variable"]] = None, + inoutput_arguments: Optional[List["Operation_variable"]] = None, + ) -> None: + self.client_timeout_duration = client_timeout_duration + self.input_arguments = input_arguments + self.inoutput_arguments = inoutput_arguments + + +class Operation_request_value_only(DBC): + """ + The operation request object in the ValueOnly notation. + + .. note:: + + The arguments are given in the ValueOnly serialization, *i.e.*, as + a JSON object whose keys are the ID-shorts of the argument values and + whose values are the ValueOnly serializations of the argument values. + Their shape depends on the concrete submodel elements and can not be + pinned down statically, so they are represented as open JSON objects. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#operation-request-value-only + """ + + input_arguments: Optional[JSONObject["ID_short_type"]] + """Input argument""" + + inoutput_arguments: Optional[JSONObject["ID_short_type"]] + """InOutput argument""" + + client_timeout_duration: Optional["Duration"] + """ + Duration indicating when the client suggests the server to have finished + execution of the invoked operation. The server may take this value into account to + decide on its effective timeout, however, the server may or may not use by its own + discretion. + """ + + def __init__( + self, + input_arguments: Optional[JSONObject["ID_short_type"]] = None, + inoutput_arguments: Optional[JSONObject["ID_short_type"]] = None, + client_timeout_duration: Optional["Duration"] = None, + ) -> None: + self.input_arguments = input_arguments + self.inoutput_arguments = inoutput_arguments + self.client_timeout_duration = client_timeout_duration + + +class Operation_request_async_value_only(DBC): + """ + The operation request object for asynchronous invocation in the ValueOnly + notation. + + This class is not part of the metamodel and is not itself a named class + in the specification. It corresponds to the request body of the + ``InvokeOperationAsync`` operation in the ValueOnly notation, which is + shaped like :class:`Operation_request_value_only` with + :attr:`~Operation_request_value_only.client_timeout_duration` made + mandatory. + + .. note:: + + This class is deliberately *not* related to + :class:`Operation_request_value_only` by inheritance; see the note + on :class:`Operation_request_async`. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces.html#_operation_invokeoperationasync + """ + + input_arguments: Optional[JSONObject["ID_short_type"]] + """Input argument""" + + inoutput_arguments: Optional[JSONObject["ID_short_type"]] + """InOutput argument""" + + client_timeout_duration: "Duration" + """ + Duration indicating when the client suggests the server to have finished + execution of the invoked operation. The server may take this value into account to + decide on its effective timeout, however, the server may or may not use by its own + discretion. + """ + + def __init__( + self, + client_timeout_duration: "Duration", + input_arguments: Optional[JSONObject["ID_short_type"]] = None, + inoutput_arguments: Optional[JSONObject["ID_short_type"]] = None, + ) -> None: + self.client_timeout_duration = client_timeout_duration + self.input_arguments = input_arguments + self.inoutput_arguments = inoutput_arguments + + +# fmt: off +@invariant( + lambda self: + not (self.messages is not None) + or len(self.messages) >= 1, + "Messages must be either not set or have at least one item." +) +# fmt: on +class Base_operation_result(DBC): + """ + The object containing the intermediate state of an operation. + + .. note:: + + This class is deliberately *not* related to :class:`Result` by + inheritance (and :class:`Operation_result` below is, in turn, not + related to this class by inheritance either). aas-core-codegen + refuses to generate a schema for a concrete class with concrete + descendants unless it is marked + ``@serialization(with_model_type=True)``, which would introduce a + ``modelType`` discriminator property that the official schema does + not have for this hierarchy. Flattening the hierarchy avoids that + mismatch, at the cost of repeating :attr:`messages` here. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#BaseOperationResult + """ + + execution_state: "Execution_state" + """Execution state""" + + messages: Optional[List["Message"]] + """Additional messages containing information for the requester""" + + success: Optional[bool] + """ + Flag indicating whether the business operation behind the operation was + successful (true) or not (false) + """ + + def __init__( + self, + execution_state: "Execution_state", + messages: Optional[List["Message"]] = None, + success: Optional[bool] = None, + ) -> None: + self.execution_state = execution_state + self.messages = messages + self.success = success + + +# fmt: off +@invariant( + lambda self: + not (self.messages is not None) + or len(self.messages) >= 1, + "Messages must be either not set or have at least one item." +) +@invariant( + lambda self: + not (self.output_arguments is not None) + or len(self.output_arguments) >= 1, + "Output arguments must be either not set or have at least one item." +) +@invariant( + lambda self: + not (self.inoutput_arguments is not None) + or len(self.inoutput_arguments) >= 1, + "InOutput arguments must be either not set or have at least one item." +) +# fmt: on +class Operation_result(DBC): + """ + The operation's invocation result object. + + .. note:: + + This class is deliberately *not* related to :class:`Base_operation_result` + by inheritance; see the note on that class. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#OperationResult + """ + + execution_state: "Execution_state" + """Execution state""" + + messages: Optional[List["Message"]] + """Additional messages containing information for the requester""" + + success: Optional[bool] + """ + Flag indicating whether the business operation behind the operation was + successful (true) or not (false) + """ + + output_arguments: Optional[List["Operation_variable"]] + """Output argument""" + + inoutput_arguments: Optional[List["Operation_variable"]] + """InOutput argument""" + + def __init__( + self, + execution_state: "Execution_state", + messages: Optional[List["Message"]] = None, + success: Optional[bool] = None, + output_arguments: Optional[List["Operation_variable"]] = None, + inoutput_arguments: Optional[List["Operation_variable"]] = None, + ) -> None: + self.execution_state = execution_state + self.messages = messages + self.success = success + self.output_arguments = output_arguments + self.inoutput_arguments = inoutput_arguments + + +# fmt: off +@invariant( + lambda self: + not (self.messages is not None) + or len(self.messages) >= 1, + "Messages must be either not set or have at least one item." +) +# fmt: on +class Operation_result_value_only(DBC): + """ + The operation's invocation result object in the ValueOnly notation. + + .. note:: + + This class is deliberately *not* related to :class:`Base_operation_result` + by inheritance; see the note on that class. + + .. note:: + + The arguments are given in the ValueOnly serialization; see the note + on :class:`Operation_request_value_only`. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#operation-result-value-only + """ + + execution_state: "Execution_state" + """Execution state""" + + messages: Optional[List["Message"]] + """Additional messages containing information for the requester""" + + success: Optional[bool] + """ + Flag indicating whether the business operation behind the operation was + successful (true) or not (false) + """ + + output_arguments: Optional[JSONObject["ID_short_type"]] + """Output argument""" + + inoutput_arguments: Optional[JSONObject["ID_short_type"]] + """InOutput argument""" + + def __init__( + self, + execution_state: "Execution_state", + messages: Optional[List["Message"]] = None, + success: Optional[bool] = None, + output_arguments: Optional[JSONObject["ID_short_type"]] = None, + inoutput_arguments: Optional[JSONObject["ID_short_type"]] = None, + ) -> None: + self.execution_state = execution_state + self.messages = messages + self.success = success + self.output_arguments = output_arguments + self.inoutput_arguments = inoutput_arguments + + +class Execution_state(Enum): + """ + The operation's invocation result state. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#ExecutionState + """ + + Initiated = "Initiated" + """The operation is ready to be executed (initial state)""" + + Running = "Running" + """The operation is running""" + + Completed = "Completed" + """The operation is completed""" + + Canceled = "Canceled" + """The operation was cancelled externally""" + + Failed = "Failed" + """The operation failed""" + + Timeout = "Timeout" + """The operation has timed out due to given client or server timeout""" + + +class Operation_handle(DBC): + """ + The returned handle of an operation's asynchronous invocation used to + request the current state of the operation's execution. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-payload.html#OperationHandle + """ + + handle_ID: "Short_ID_type" + """Handle ID""" + + def __init__(self, handle_ID: "Short_ID_type") -> None: + self.handle_ID = handle_ID + + +# endregion Data Types For Payload + +# region Basic Operation Parameters +# +# See: +# https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + + +class Level(Enum): + """ + Indicates the depth of the structure of the response or input content. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + Deep = "Deep" + """ + All elements of a requested hierarchy level and all children on all + sublevels are returned. + + Children in this sense are SubmodelElements which are contained at the + 'submodelElements' field of Submodels, the 'value' field of + SubmodelElementCollections or SubmodelElementLists, the 'statements' + field of Entities, or the 'annotations' field of + AnnotatedRelationshipElements. + """ + + Core = "Core" + """ + Only elements of a requested hierarchy level as well as direct children + are returned. By this, a client can iterate the hierarchy step by step. + """ + + +class Content(Enum): + """ + Content indicates the kind of serialization of the response or input content. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + Normal = "Normal" + """ + The standard serialization of the model element or child elements is + applied. + """ + + Metadata = "Metadata" + """Only metadata of an element or child elements is returned; the value is not.""" + + Value = "Value" + """ + Only the raw value of the model element or child elements is returned; + it is commonly referred to as ValueOnly-serialization. + """ + + Reference = "Reference" + """ + Only applicable to Referables. Only the reference to the found element + is returned; potential child elements are ignored. + """ + + Path = "Path" + """ + Returns the ID-short of the requested element and a list of ID-short + paths to child elements if the requested element is a Submodel, + a SubmodelElementCollection, a SubmodelElementList, an + AnnotatedRelationshipElement, or an Entity. + """ + + +class Extent(Enum): + """ + Indicates to which extent the response or input content is being + serialized. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + Without_blob_value = "WithoutBLOBValue" + """ + Only applicable to BLOB-elements; the BLOB content is not returned. + + This is the default value. + """ + + With_blob_value = "WithBLOBValue" + """ + Only applicable to BLOB-elements; the BLOB content is returned as + base64-encoded string. + """ + + +# endregion Basic Operation Parameters + + +# region HTTP/REST API + + +# fmt: off +@invariant( + lambda self: + not (self.result is not None) + or len(self.result) >= 1, + "Result must be either not set or have at least one item." +) +# fmt: on +class Paged_result(DBC): + """ + An object connecting the actual list of returned items with metadata + information to, *e.g.*, fetch the next part of the result set. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + result: Optional[List["Referable"]] + """ + List of returned items. Any kind of Referables is possible, depending on + the endpoint which has been requested. + """ + + paging_metadata: Annotated["Paging_metadata", json_name("paging_metadata")] + """ + Additional information for the client to, *e.g.*, fetch the next part of + the result set. + """ + + def __init__( + self, + paging_metadata: "Paging_metadata", + result: Optional[List["Referable"]] = None, + ) -> None: + self.paging_metadata = paging_metadata + self.result = result + + +class Paging_metadata(DBC): + """ + Additional information for the client to, *e.g.*, fetch the next part of + the result set. + + .. note:: + + More attributes may be added to this class in future versions. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + cursor: Optional[str] + """ + The cursor for the next part of the result set. No cursor attribute means that + the end of the result set has been reached. + """ + + def __init__(self, cursor: Optional[str] = None) -> None: + self.cursor = cursor + + +# fmt: off +@invariant( + lambda self: + not (self.AAS_IDs is not None) + or len(self.AAS_IDs) >= 1, + "AAS IDs must be either not set or have at least one item." +) +# fmt: on +class Package_description(DBC): + """ + The package description consists of a system-wide unique packageId and + its corresponding Asset Administration Shell identifiers. + + The packageId is used to identify the AASX package at the AASX file + server. The package description is used to list the Asset + Administration Shells in a given AASX package. + + This class is not part of the metamodel. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#PackageDescription + """ + + package_ID: "Short_ID_type" + """File server specific package id""" + + AAS_IDs: Optional[List["Identifier"]] + """Asset Administration Shell unique identifiers""" + + def __init__( + self, + package_ID: "Short_ID_type", + AAS_IDs: Optional[List["Identifier"]] = None, + ) -> None: + self.package_ID = package_ID + self.AAS_IDs = AAS_IDs + + +@verification +def matches_path_item(text: str) -> bool: + """ + Check that :paramref:`text` is a valid idShortPath. + + An idShortPath is a chain of idShorts or SubmodelElementList-indexes + which points to an element within a hierarchy of elements, *e.g.*, + ``sme1.sme2[0].p1``. + """ + pattern = ( + r"^(([A-Za-z][A-Za-z0-9_]+)|(\[[0-9]+\]))" + r"((\.[A-Za-z][A-Za-z0-9_]+)|(\[[0-9]+\])){0,}$" + ) + + return match(pattern, text) is not None + + +@invariant( + lambda self: matches_path_item(self), + "The value must match the pattern of a path item.", +) +class Path_item(str, DBC): + """ + A chain of idShorts or SubmodelElementList-indexes, which points to an + element within a hierarchy of elements, *e.g.*, ``sme1.sme2[0].p1``. + + The root of the path is always a submodel, and the first element is + always the idShort of a first-level submodel element within it. idShorts + are separated by a dot, while SubmodelElementList indices are written in + brackets. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#_addressing_resources + """ + + +# endregion HTTP/REST API + + +# region Metadata And Value Views + + +# NOTE (mristin): +# This region formalizes the Content=Metadata and Content=Value serialization +# views referenced by SerializationModifier's Content enumeration (see class +# Content above), specified for the individual submodel element (and submodel / +# asset administration shell) types in Part 1's mappings document. These views +# are not part of the metamodel itself; they are payload shapes defined for the +# HTTP/REST API, mirrored here from the Part 2 OpenAPI schema +# (Part2-API-Schemas/openapi.yaml) rather than from book prose, since the book +# only describes the Content enumeration in general terms and does not spell +# out each view's attributes. +# +# The *_metadata classes carry every attribute of the corresponding submodel +# element *except* its value, mirroring the OpenAPI schema's +# SubmodelElementAttributes/SubmodelElementMetadata/*Metadata composition. +# +# The *_value classes carry only the value. The ValueOnly-shaped parts of +# their content (*e.g.*, the statements of an entity), whose shape depends on +# the concrete submodel elements, are represented as open JSON objects keyed by +# ID-shorts. The Value variants which are not JSON objects themselves (a bare +# scalar, a bare array, or an open JSON object with no fixed attributes) do not +# have a class here: PropertyValue, MultiLanguagePropertyValue, +# SubmodelElementCollectionValue, SubmodelElementListValue, SubmodelValue and +# SpecificAssetIdValue. SubmodelElementValue, the union over all the Value +# variants, is not formalized either, since its alternatives can not be told +# apart on the wire without knowing the submodel element up-front (*e.g.*, +# a FileValue and a BlobValue are indistinguishable, and so are +# a SubmodelElementCollectionValue and a RangeValue with a "min" and "max" +# child). Each omission is noted where it would otherwise be expected. +# +# See: +# https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + + +@abstract +class Submodel_element_attributes( + Referable, Has_semantics, Qualifiable, Has_data_specification +): + """ + The attributes shared by all submodel elements, without their value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + # NOTE (mristin): + # The OpenAPI schema also lists ``HasKind`` among the mixed-in classes. We + # omit it here: in Part 1, Has_kind is only used by Submodel, never by an + # individual submodel element, so including it here would introduce an + # attribute (``kind``) that no submodel element actually carries. We treat + # this as a mistake in the OpenAPI schema rather than a deliberate Part 2 + # addition. + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + ) -> None: + Referable.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + ) + + Has_semantics.__init__( + self, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + ) + + Qualifiable.__init__(self, qualifiers=qualifiers) + + Has_data_specification.__init__( + self, embedded_data_specifications=embedded_data_specifications + ) + + +@abstract +class Submodel_element_metadata(Submodel_element_attributes): + """ + The metadata of a submodel element, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. It is the polymorphic union of all the + ``*Metadata`` classes below. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + ) -> None: + Submodel_element_attributes.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + +class Property_metadata(Submodel_element_metadata): + """ + The metadata of a :class:`Property`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + value_type: "Data_type_def_XSD" + """The value type of the property.""" + + def __init__( + self, + value_type: "Data_type_def_XSD", + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + ) -> None: + Submodel_element_metadata.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + self.value_type = value_type + + +class Range_metadata(Submodel_element_metadata): + """ + The metadata of a :class:`Range`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + value_type: "Data_type_def_XSD" + """The value type of the range.""" + + def __init__( + self, + value_type: "Data_type_def_XSD", + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + ) -> None: + Submodel_element_metadata.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + self.value_type = value_type + + +class Blob_metadata(Submodel_element_metadata): + """ + The metadata of a :class:`Blob`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + ) -> None: + Submodel_element_metadata.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + +class File_metadata(Submodel_element_metadata): + """ + The metadata of a :class:`File`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + ) -> None: + Submodel_element_metadata.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + +class Multi_language_property_metadata(Submodel_element_metadata): + """ + The metadata of a :class:`Multi_language_property`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + ) -> None: + Submodel_element_metadata.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + +class Reference_element_metadata(Submodel_element_metadata): + """ + The metadata of a :class:`Reference_element`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + ) -> None: + Submodel_element_metadata.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + +class Relationship_element_metadata(Submodel_element_metadata): + """ + The metadata of a :class:`Relationship_element`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + ) -> None: + Submodel_element_metadata.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + +class Annotated_relationship_element_metadata(Submodel_element_metadata): + """ + The metadata of an :class:`Annotated_relationship_element`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + ) -> None: + Submodel_element_metadata.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + +class Entity_metadata(Submodel_element_metadata): + """ + The metadata of an :class:`Entity`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + ) -> None: + Submodel_element_metadata.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + +class Capability_metadata(Submodel_element_metadata): + """ + The metadata of a :class:`Capability`. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + ) -> None: + Submodel_element_metadata.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + +class Operation_metadata(Submodel_element_metadata): + """ + The metadata of an :class:`Operation`, without its input/output/inoutput variables. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + ) -> None: + Submodel_element_metadata.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + +class Submodel_element_collection_metadata(Submodel_element_metadata): + """ + The metadata of a :class:`Submodel_element_collection`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def __init__( + self, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + ) -> None: + Submodel_element_metadata.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + +class Basic_event_element_metadata(Submodel_element_metadata): + """ + The metadata of a :class:`Basic_event_element`. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + direction: "Direction" + """Direction of event.""" + + state: "State_of_event" + """State of event.""" + + message_topic: Optional["Message_topic_type"] + """Topic, to which the event's message is published.""" + + message_broker: Optional["Reference"] + """Reference to a broker where the event's message is published.""" + + last_update: Optional["Date_time_UTC"] + """Timestamp of the last update of the event.""" + + min_interval: Optional["Duration"] + """For continuous signalling, the minimum interval between two consecutive events.""" + + max_interval: Optional["Duration"] + """For continuous signalling, the maximum interval between two consecutive events.""" + + def __init__( + self, + direction: "Direction", + state: "State_of_event", + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + message_topic: Optional["Message_topic_type"] = None, + message_broker: Optional["Reference"] = None, + last_update: Optional["Date_time_UTC"] = None, + min_interval: Optional["Duration"] = None, + max_interval: Optional["Duration"] = None, + ) -> None: + Submodel_element_metadata.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + self.direction = direction + self.state = state + self.message_topic = message_topic + self.message_broker = message_broker + self.last_update = last_update + self.min_interval = min_interval + self.max_interval = max_interval + + +class Submodel_element_list_metadata(Submodel_element_metadata): + """ + The metadata of a :class:`Submodel_element_list`, without its value. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + order_relevant: Optional[bool] + """Defines whether order in the list is relevant.""" + + semantic_ID_list_element: Optional["Reference"] + """Semantic ID the submodel elements contained in the list match to.""" + + type_value_list_element: "AAS_submodel_elements" + """The submodel element type of the submodel elements contained in the list.""" + + value_type_list_element: Optional["Data_type_def_XSD"] + """The value type of the submodel elements contained in the list.""" + + def __init__( + self, + type_value_list_element: "AAS_submodel_elements", + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + order_relevant: Optional[bool] = None, + semantic_ID_list_element: Optional["Reference"] = None, + value_type_list_element: Optional["Data_type_def_XSD"] = None, + ) -> None: + Submodel_element_metadata.__init__( + self, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + qualifiers=qualifiers, + embedded_data_specifications=embedded_data_specifications, + ) + + self.order_relevant = order_relevant + self.semantic_ID_list_element = semantic_ID_list_element + self.type_value_list_element = type_value_list_element + self.value_type_list_element = value_type_list_element + + +# fmt: off +@invariant( + lambda self: + not (self.qualifiers is not None) + or ( + not any( + qualifier.kind_or_default() == Qualifier_kind.Template_qualifier + for qualifier in self.qualifiers + ) or ( + self.kind_or_default() == Modelling_kind.Template + ) + ), + "Constraint AASd-119: If any qualifier kind value of a qualifiable qualifier is " + "equal to template qualifier and the qualified element has kind then the qualified " + "element shall be of kind template." +) +# fmt: on +class Submodel_metadata( + Identifiable, Has_kind, Has_semantics, Qualifiable, Has_data_specification +): + """ + The metadata of a :class:`Submodel`, without its submodel elements. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + def __init__( + self, + ID: Identifier, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + administration: Optional["Administrative_information"] = None, + kind: Optional["Modelling_kind"] = None, + semantic_ID: Optional["Reference"] = None, + supplemental_semantic_IDs: Optional[List["Reference"]] = None, + qualifiers: Optional[List["Qualifier"]] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + ) -> None: + Identifiable.__init__( + self, + ID=ID, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + administration=administration, + ) + + Has_kind.__init__(self, kind=kind) + + Has_semantics.__init__( + self, + semantic_ID=semantic_ID, + supplemental_semantic_IDs=supplemental_semantic_IDs, + ) + + Qualifiable.__init__(self, qualifiers=qualifiers) + + Has_data_specification.__init__( + self, embedded_data_specifications=embedded_data_specifications + ) + + +class Asset_administration_shell_metadata(Identifiable, Has_data_specification): + """ + The metadata of an :class:`Asset_administration_shell`, without its + asset information and submodel references. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + derived_from: Optional["Reference"] + """ + The reference to the Asset Administration Shell, which the Asset + Administration Shell was derived from. + """ + + def __init__( + self, + ID: Identifier, + extensions: Optional[List["Extension"]] = None, + category: Optional[Name_type] = None, + ID_short: Optional[ID_short_type] = None, + display_name: Optional[List["Lang_string_name_type"]] = None, + description: Optional[List["Lang_string_text_type"]] = None, + administration: Optional["Administrative_information"] = None, + embedded_data_specifications: Optional[ + List["Embedded_data_specification"] + ] = None, + derived_from: Optional["Reference"] = None, + ) -> None: + Identifiable.__init__( + self, + ID=ID, + extensions=extensions, + category=category, + ID_short=ID_short, + display_name=display_name, + description=description, + administration=administration, + ) + + Has_data_specification.__init__( + self, embedded_data_specifications=embedded_data_specifications + ) + + self.derived_from = derived_from + + +# NOTE (mristin): +# The *_value classes below are deliberately *not* related by inheritance, +# and none of them is used as a base class. +# +# Consequently, each is marked with @serialization(with_model_type=False): +# since none of them is part of a polymorphic hierarchy here, no "modelType" +# discriminator should be emitted for them on serialization. +# +# Several variants from the HTTP schema have no class here at all, since +# a class is always serialized as a JSON object with fixed attributes: +# +# * ``PropertyValue`` is a raw JSON string, number or boolean, not an +# object -- use :py:data:`JSONValue` where needed. +# * ``MultiLanguagePropertyValue`` is a bare JSON array of single-entry +# objects, language tag to text, not an object with fixed attributes. +# * ``SubmodelElementCollectionValue`` and ``SubmodelValue`` are +# ValueOnly-shaped JSON objects keyed by the ID-shorts of the contained +# elements -- use :class:`JSONObject` over :class:`ID_short_type` where +# needed. +# * ``SubmodelElementListValue`` is a bare JSON array of values, not an +# object. +# * ``SpecificAssetIdValue`` is a single-entry JSON object, name to value, +# so it is represented as an open JSON object in :class:`Entity_value`. +# * ``SubmodelElementValue`` is a union over all of the above, which can not +# be decided on the wire without knowing the submodel element up-front. + + +# fmt: off +@invariant( + lambda self: len(self.keys) >= 1, + "Keys must contain at least one item." +) +# fmt: on +@serialization(with_model_type=False) +class Reference_element_value(DBC): + """ + The value of a :class:`Reference_element`. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + type: "Reference_types" + """ + Type of the reference. + + Denotes whether the reference is an external reference or a model + reference. + """ + + keys: List["Key"] + """Unique references in their name space.""" + + referred_semantic_ID: Optional["Reference"] + """ + Expected :attr:`Has_semantics.semantic_ID` of the referenced model + element. + """ + + def __init__( + self, + type: "Reference_types", + keys: List["Key"], + referred_semantic_ID: Optional["Reference"] = None, + ) -> None: + self.type = type + self.keys = keys + self.referred_semantic_ID = referred_semantic_ID + + +@serialization(with_model_type=False) +class Blob_value(DBC): + """ + The value of a :class:`Blob`. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + content_type: Optional["Content_type"] + """The content type of the BLOB, *e.g.*, ``application/pdf``.""" + + value: Optional["Blob_type"] + """The BLOB content.""" + + def __init__( + self, + content_type: Optional["Content_type"] = None, + value: Optional["Blob_type"] = None, + ) -> None: + self.content_type = content_type + self.value = value + + +@serialization(with_model_type=False) +class File_value(DBC): + """ + The value of a :class:`File`. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + content_type: Optional["Content_type"] + """The content type of the file, *e.g.*, ``application/pdf``.""" + + value: Optional["Path_type"] + """The path or URL to the file content.""" + + def __init__( + self, + content_type: Optional["Content_type"] = None, + value: Optional["Path_type"] = None, + ) -> None: + self.content_type = content_type + self.value = value + + +@serialization(with_model_type=False) +class Range_value(DBC): + """ + The value of a :class:`Range`. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + min: float + """The minimum value of the range.""" + + max: float + """The maximum value of the range.""" + + def __init__(self, min: float, max: float) -> None: + self.min = min + self.max = max + + +@serialization(with_model_type=False) +class Relationship_element_value(DBC): + """ + The value of a :class:`Relationship_element`. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + first: Optional["Reference"] + """Reference to the first element in the relationship.""" + + second: Optional["Reference"] + """Reference to the second element in the relationship.""" + + def __init__( + self, + first: Optional["Reference"] = None, + second: Optional["Reference"] = None, + ) -> None: + self.first = first + self.second = second + + +@serialization(with_model_type=False) +class Basic_event_element_value(DBC): + """ + The value of a :class:`Basic_event_element`. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + observed: "Reference" + """Reference to the :class:`Referable`, which defines the scope of the event.""" + + def __init__(self, observed: "Reference") -> None: + self.observed = observed + + +@serialization(with_model_type=False) +class Annotated_relationship_element_value(DBC): + """ + The value of an :class:`Annotated_relationship_element`. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + .. note:: + + The annotations are given in the ValueOnly serialization, *i.e.*, as + a JSON object whose keys are the ID-shorts of the annotations and + whose values are the ValueOnly serializations of the annotations. + Their shape depends on the concrete data elements and can not be + pinned down statically, so they are represented as an open JSON + object. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + first: Optional["Reference"] + """Reference to the first element in the relationship.""" + + second: Optional["Reference"] + """Reference to the second element in the relationship.""" + + annotations: Optional[JSONObject["ID_short_type"]] + """Annotations which hold for the relationship between the two elements.""" + + def __init__( + self, + first: Optional["Reference"] = None, + second: Optional["Reference"] = None, + annotations: Optional[JSONObject["ID_short_type"]] = None, + ) -> None: + self.first = first + self.second = second + self.annotations = annotations + + +# NOTE (mristin): +# We follow the Part 2 OpenAPI schema (and the Part 1 ValueOnly JSON schema) +# for ``specificAssetIds``, where each item is a single-entry JSON object +# mapping the name of the specific asset ID to its value. The Part 1 prose, +# in contrast, states that the items are serialized as SpecificAssetId in +# format "Normal". +# +# fmt: off +@invariant( + lambda self: + not (self.specific_asset_IDs is not None) + or len(self.specific_asset_IDs) >= 1, + "Specific asset IDs must be either not set or have at least one item." +) +# fmt: on +@serialization(with_model_type=False) +class Entity_value(DBC): + """ + The value of an :class:`Entity`. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + .. note:: + + The statements are given in the ValueOnly serialization, *i.e.*, as + a JSON object whose keys are the ID-shorts of the statements and + whose values are the ValueOnly serializations of the statements. + Their shape depends on the concrete submodel elements and can not be + pinned down statically, so they are represented as an open JSON + object. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/specification/interfaces-operation-parameters.html#SerializationModifier + """ + + entity_type: Optional["Entity_type"] + """ + Describes whether the entity is a co-managed entity or a self-managed + entity. + """ + + global_asset_ID: Optional["Identifier"] + """ + Global identifier of the asset the entity is representing. + """ + + specific_asset_IDs: Optional[List[JSONObject["Label_type"]]] + """ + Additional domain-specific, typically proprietary identifiers for the asset, + each given as a single-entry JSON object mapping + the :attr:`Specific_asset_ID.name` to the :attr:`Specific_asset_ID.value`. + """ + + statements: Optional[JSONObject["ID_short_type"]] + """ + Describes statements applicable to the entity by a set of submodel elements, + typically with a qualified value. + """ + + def __init__( + self, + entity_type: Optional["Entity_type"] = None, + global_asset_ID: Optional["Identifier"] = None, + specific_asset_IDs: Optional[List[JSONObject["Label_type"]]] = None, + statements: Optional[JSONObject["ID_short_type"]] = None, + ) -> None: + self.entity_type = entity_type + self.global_asset_ID = global_asset_ID + self.specific_asset_IDs = specific_asset_IDs + self.statements = statements + + +# endregion Metadata And Value Views + + +# region GetXxxResult Envelopes + + +# NOTE (mristin): +# Each class here is one endpoint's paginated response envelope: the +# official API composes it as PagedResult + a "result" property with a +# type specific to that endpoint. We do not model this via inheritance from +# Paged_result: doing so would give Paged_result concrete descendants, which would force +# @serialization(with_model_type=True) on it and introduce a +# "modelType" discriminator that the official API does not have anywhere +# in this family. Each class below is therefore standalone, duplicating +# paging_metadata by hand (same reasoning as for Result/ +# Base_operation_result/Operation_result above). +# +# GetSubmodelElementsValueResult and GetSubmodelsValueResult type their +# "result" as ValueOnly-shaped JSON, so we represent it as an open JSON object +# keyed by ID-shorts. Mind that, unlike all the other GetXxxResult schemas, +# the OpenAPI schema types these results as a single JSON object, not as +# an array of items, and we follow it here. +# +# See: +# https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + + +# fmt: off +@invariant( + lambda self: + not (self.result is not None) + or len(self.result) >= 1, + "Result must be either not set or have at least one item." +) +# fmt: on +class Get_asset_administration_shells_result(DBC): + """ + The result of listing all Asset Administration Shells. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + paging_metadata: Annotated["Paging_metadata", json_name("paging_metadata")] + """ + Additional information for the client to, *e.g.*, fetch the next part of + the result set. + """ + + result: Optional[List["Asset_administration_shell"]] + """The returned items.""" + + def __init__( + self, + paging_metadata: "Paging_metadata", + result: Optional[List["Asset_administration_shell"]] = None, + ) -> None: + self.paging_metadata = paging_metadata + self.result = result + + +# fmt: off +@invariant( + lambda self: + not (self.result is not None) + or len(self.result) >= 1, + "Result must be either not set or have at least one item." +) +# fmt: on +class Get_asset_administration_shells_metadata_result(DBC): + """ + The result of listing the metadata of all Asset Administration Shells. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + paging_metadata: Annotated["Paging_metadata", json_name("paging_metadata")] + """ + Additional information for the client to, *e.g.*, fetch the next part of + the result set. + """ + + result: Optional[List["Asset_administration_shell_metadata"]] + """The returned items.""" + + def __init__( + self, + paging_metadata: "Paging_metadata", + result: Optional[List["Asset_administration_shell_metadata"]] = None, + ) -> None: + self.paging_metadata = paging_metadata + self.result = result + + +# fmt: off +@invariant( + lambda self: + not (self.result is not None) + or len(self.result) >= 1, + "Result must be either not set or have at least one item." +) +# fmt: on +class Get_all_asset_administration_shells_recent_changes_result(DBC): + """ + The result of listing the recent changes of all Asset Administration Shells. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + paging_metadata: Annotated["Paging_metadata", json_name("paging_metadata")] + """ + Additional information for the client to, *e.g.*, fetch the next part of + the result set. + """ + + result: Optional[List["Asset_administration_shell_recent_change"]] + """The returned items.""" + + def __init__( + self, + paging_metadata: "Paging_metadata", + result: Optional[List["Asset_administration_shell_recent_change"]] = None, + ) -> None: + self.paging_metadata = paging_metadata + self.result = result + + +# fmt: off +@invariant( + lambda self: + not (self.result is not None) + or len(self.result) >= 1, + "Result must be either not set or have at least one item." +) +# fmt: on +class Get_asset_administration_shell_descriptors_result(DBC): + """ + The result of listing all Asset Administration Shell descriptors. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + paging_metadata: Annotated["Paging_metadata", json_name("paging_metadata")] + """ + Additional information for the client to, *e.g.*, fetch the next part of + the result set. + """ + + result: Optional[List["Asset_administration_shell_descriptor"]] + """The returned items.""" + + def __init__( + self, + paging_metadata: "Paging_metadata", + result: Optional[List["Asset_administration_shell_descriptor"]] = None, + ) -> None: + self.paging_metadata = paging_metadata + self.result = result + + +# fmt: off +@invariant( + lambda self: + not (self.result is not None) + or len(self.result) >= 1, + "Result must be either not set or have at least one item." +) +# fmt: on +class Get_concept_descriptions_result(DBC): + """ + The result of listing all concept descriptions. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + paging_metadata: Annotated["Paging_metadata", json_name("paging_metadata")] + """ + Additional information for the client to, *e.g.*, fetch the next part of + the result set. + """ + + result: Optional[List["Concept_description"]] + """The returned items.""" + + def __init__( + self, + paging_metadata: "Paging_metadata", + result: Optional[List["Concept_description"]] = None, + ) -> None: + self.paging_metadata = paging_metadata + self.result = result + + +# fmt: off +@invariant( + lambda self: + not (self.result is not None) + or len(self.result) >= 1, + "Result must be either not set or have at least one item." +) +# fmt: on +class Get_all_concept_descriptions_recent_changes_result(DBC): + """ + The result of listing the recent changes of all concept descriptions. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + paging_metadata: Annotated["Paging_metadata", json_name("paging_metadata")] + """ + Additional information for the client to, *e.g.*, fetch the next part of + the result set. + """ + + result: Optional[List["Concept_description_recent_change"]] + """The returned items.""" + + def __init__( + self, + paging_metadata: "Paging_metadata", + result: Optional[List["Concept_description_recent_change"]] = None, + ) -> None: + self.paging_metadata = paging_metadata + self.result = result + + +# fmt: off +@invariant( + lambda self: + not (self.result is not None) + or len(self.result) >= 1, + "Result must be either not set or have at least one item." +) +# fmt: on +class Get_package_descriptions_result(DBC): + """ + The result of listing all AASX package descriptions. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + paging_metadata: Annotated["Paging_metadata", json_name("paging_metadata")] + """ + Additional information for the client to, *e.g.*, fetch the next part of + the result set. + """ + + result: Optional[List["Package_description"]] + """The returned items.""" + + def __init__( + self, + paging_metadata: "Paging_metadata", + result: Optional[List["Package_description"]] = None, + ) -> None: + self.paging_metadata = paging_metadata + self.result = result + + +# fmt: off +@invariant( + lambda self: + not (self.result is not None) + or len(self.result) >= 1, + "Result must be either not set or have at least one item." +) +# fmt: on +class Get_path_items_result(DBC): + """ + The result of listing idShortPaths. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + paging_metadata: Annotated["Paging_metadata", json_name("paging_metadata")] + """ + Additional information for the client to, *e.g.*, fetch the next part of + the result set. + """ + + result: Optional[List["Path_item"]] + """The returned items.""" + + def __init__( + self, + paging_metadata: "Paging_metadata", + result: Optional[List["Path_item"]] = None, + ) -> None: + self.paging_metadata = paging_metadata + self.result = result + + +# fmt: off +@invariant( + lambda self: + not (self.result is not None) + or len(self.result) >= 1, + "Result must be either not set or have at least one item." +) +# fmt: on +class Get_references_result(DBC): + """ + The result of listing references. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + paging_metadata: Annotated["Paging_metadata", json_name("paging_metadata")] + """ + Additional information for the client to, *e.g.*, fetch the next part of + the result set. + """ + + result: Optional[List["Reference"]] + """The returned items.""" + + def __init__( + self, + paging_metadata: "Paging_metadata", + result: Optional[List["Reference"]] = None, + ) -> None: + self.paging_metadata = paging_metadata + self.result = result + + +# fmt: off +@invariant( + lambda self: + not (self.result is not None) + or len(self.result) >= 1, + "Result must be either not set or have at least one item." +) +# fmt: on +class Get_submodel_descriptors_result(DBC): + """ + The result of listing all submodel descriptors. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + paging_metadata: Annotated["Paging_metadata", json_name("paging_metadata")] + """ + Additional information for the client to, *e.g.*, fetch the next part of + the result set. + """ + + result: Optional[List["Submodel_descriptor"]] + """The returned items.""" + + def __init__( + self, + paging_metadata: "Paging_metadata", + result: Optional[List["Submodel_descriptor"]] = None, + ) -> None: + self.paging_metadata = paging_metadata + self.result = result + + +# fmt: off +@invariant( + lambda self: + not (self.result is not None) + or len(self.result) >= 1, + "Result must be either not set or have at least one item." +) +# fmt: on +class Get_submodel_elements_metadata_result(DBC): + """ + The result of listing the metadata of all submodel elements. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + paging_metadata: Annotated["Paging_metadata", json_name("paging_metadata")] + """ + Additional information for the client to, *e.g.*, fetch the next part of + the result set. + """ + + result: Optional[List["Submodel_element_metadata"]] + """The returned items.""" + + def __init__( + self, + paging_metadata: "Paging_metadata", + result: Optional[List["Submodel_element_metadata"]] = None, + ) -> None: + self.paging_metadata = paging_metadata + self.result = result + + +# fmt: off +@invariant( + lambda self: + not (self.result is not None) + or len(self.result) >= 1, + "Result must be either not set or have at least one item." +) +@invariant( + lambda self: + not (self.result is not None) + or all( + item.ID_short is not None + for item in self.result + ), + "ID-shorts need to be defined for all the items of result according to " + "AASd-117 (ID-short of non-identifiable Referables not being a direct child of " + "a Submodel element list shall be specified)." +) +# fmt: on +class Get_submodel_elements_result(DBC): + """ + The result of listing all submodel elements. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + paging_metadata: Annotated["Paging_metadata", json_name("paging_metadata")] + """ + Additional information for the client to, *e.g.*, fetch the next part of + the result set. + """ + + result: Optional[List["Submodel_element"]] + """The returned items.""" + + def __init__( + self, + paging_metadata: "Paging_metadata", + result: Optional[List["Submodel_element"]] = None, + ) -> None: + self.paging_metadata = paging_metadata + self.result = result + + +class Get_submodel_elements_value_result(DBC): + """ + The result of listing the submodel elements in the ValueOnly notation. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + .. note:: + + The result is given in the ValueOnly serialization, *i.e.*, as + a JSON object whose keys are the ID-shorts of the submodel elements + and whose values are their ValueOnly serializations. Their shape + depends on the concrete submodel elements and can not be pinned down + statically, so the result is represented as an open JSON object. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + paging_metadata: Annotated["Paging_metadata", json_name("paging_metadata")] + """ + Additional information for the client to, *e.g.*, fetch the next part of + the result set. + """ + + result: Optional[JSONObject["ID_short_type"]] + """The returned items.""" + + def __init__( + self, + paging_metadata: "Paging_metadata", + result: Optional[JSONObject["ID_short_type"]] = None, + ) -> None: + self.paging_metadata = paging_metadata + self.result = result + + +# fmt: off +@invariant( + lambda self: + not (self.result is not None) + or len(self.result) >= 1, + "Result must be either not set or have at least one item." +) +# fmt: on +class Get_all_submodels_recent_changes_result(DBC): + """ + The result of listing the recent changes of all submodels. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + paging_metadata: Annotated["Paging_metadata", json_name("paging_metadata")] + """ + Additional information for the client to, *e.g.*, fetch the next part of + the result set. + """ + + result: Optional[List["Submodel_recent_change"]] + """The returned items.""" + + def __init__( + self, + paging_metadata: "Paging_metadata", + result: Optional[List["Submodel_recent_change"]] = None, + ) -> None: + self.paging_metadata = paging_metadata + self.result = result + + +# fmt: off +@invariant( + lambda self: + not (self.result is not None) + or len(self.result) >= 1, + "Result must be either not set or have at least one item." +) +# fmt: on +class Get_submodels_metadata_result(DBC): + """ + The result of listing the metadata of all submodels. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + paging_metadata: Annotated["Paging_metadata", json_name("paging_metadata")] + """ + Additional information for the client to, *e.g.*, fetch the next part of + the result set. + """ + + result: Optional[List["Submodel_metadata"]] + """The returned items.""" + + def __init__( + self, + paging_metadata: "Paging_metadata", + result: Optional[List["Submodel_metadata"]] = None, + ) -> None: + self.paging_metadata = paging_metadata + self.result = result + + +# fmt: off +@invariant( + lambda self: + not (self.result is not None) + or len(self.result) >= 1, + "Result must be either not set or have at least one item." +) +# fmt: on +class Get_submodels_result(DBC): + """ + The result of listing all submodels. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + paging_metadata: Annotated["Paging_metadata", json_name("paging_metadata")] + """ + Additional information for the client to, *e.g.*, fetch the next part of + the result set. + """ + + result: Optional[List["Submodel"]] + """The returned items.""" + + def __init__( + self, + paging_metadata: "Paging_metadata", + result: Optional[List["Submodel"]] = None, + ) -> None: + self.paging_metadata = paging_metadata + self.result = result + + +class Get_submodels_value_result(DBC): + """ + The result of listing the submodels in the ValueOnly notation. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + .. note:: + + The result is given in the ValueOnly serialization, *i.e.*, as + a JSON object whose keys are the ID-shorts of the submodel elements + and whose values are their ValueOnly serializations. Their shape + depends on the concrete submodel elements and can not be pinned down + statically, so the result is represented as an open JSON object. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/http-rest-api/http-rest-api.html#pagination + """ + + paging_metadata: Annotated["Paging_metadata", json_name("paging_metadata")] + """ + Additional information for the client to, *e.g.*, fetch the next part of + the result set. + """ + + result: Optional[JSONObject["ID_short_type"]] + """The returned items.""" + + def __init__( + self, + paging_metadata: "Paging_metadata", + result: Optional[JSONObject["ID_short_type"]] = None, + ) -> None: + self.paging_metadata = paging_metadata + self.result = result + + +# endregion GetXxxResult Envelopes + + +# region AAS Query Language + + +# NOTE (mristin): +# This region formalizes the JSON serialization of the AAS Query Language +# following the normative JSON schema given in the specification, see: +# https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_json_schema +# +# The copy of the schema in the Part 2 OpenAPI schema +# (Part2-API-Schemas/openapi.yaml) is less strict: it does not constrain +# the ``REFERENCE`` attribute by a pattern, and it does not require +# the non-field operands of a comparison to be of the same type. +# +# The language is also shared with the AAS Access Rules of Part 4 +# (IDTA-01004), but we formalize here only the part which is accepted as +# a query. +# +# The schema represents each expression as a JSON object with exactly +# one of many possible properties (*e.g.*, ``{"$and": [...]}``, +# ``{"$eq": [...]}``). We model each such alternative as a separate class +# with a single required property, and group the alternatives in named unions +# (*e.g.*, :py:data:`Logical_expression` or :py:data:`Value`). Since the +# required properties of the alternatives within a union are pairwise +# distinct, the alternatives can be told apart on the wire by the property +# alone, so no ``modelType`` discriminator is needed. +# +# The schema types each comparison by the type of its operands (*e.g.*, +# ``numericalComparisonItems`` or ``stringItems``). As the operator (*e.g.*, +# ``$eq``) is the same JSON property for all the operand types, we can not +# dispatch on the operand types statically. Hence, we represent the operands +# of the overloaded comparisons (``$eq``, ``$ne``, ``$gt``, ``$ge``, ``$lt`` +# and ``$le``) as a pair of any :py:data:`Value`, and check the types of +# the operands in the invariants (see :func:`are_equality_comparable` and +# :func:`are_order_comparable`). +# +# We deviate from the schema in the following points: +# +# * In ``$timeCast``, the schema allows either a ``stringValue`` or +# a ``dateTimeOperand``. Both allow an ``$attribute`` alternative, and +# ``dateTimeAttributeItem`` is a subset of ``attributeItem``. We therefore +# leave out :class:`Date_time_attribute_operand` in +# :py:data:`Time_cast_operand` so that the ``$attribute`` alternative remains +# decidable, and a date-time attribute is covered by +# :class:`Attribute_operand`. +# +# * We require :attr:`Query.filters` to have at least one item, if specified, +# in line with the other lists in the meta-model. +# +# * The schema limits the identifier in a ``REFERENCE`` attribute to 2048 +# characters with a bounded repetition (``{1,2048}``) in the pattern. We +# use an unbounded repetition (``+``) in :func:`matches_reference_identifier` +# instead, since such a large bound is not supported by all the regular +# expression engines (*e.g.*, the one of Go limits the repetition to 1000). +# +# The query results (``QueryResultAssetAdministrationShell``, +# ``QueryResultSubmodel`` *etc.*) are not formalized here, since their +# ``result`` items are either an object or a plain string (depending on +# ``$select``), which can not be represented as a named union of classes. +# +# See: +# https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html + + +@verification +def matches_field_identifier(text: str) -> bool: + """ + Check that :paramref:`text` is a valid field identifier of the query language. + + A field identifier starts with a root (``$aas``, ``$sm``, ``$sme``, ``$cd``, + ``$aasdesc`` or ``$smdesc``), optionally followed by an idShortPath in case + of ``$sme``, and ends with an attribute declaration after ``#``, *e.g.*, + ``$sme.someCollection.someProperty#value``. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#query-grammar + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + array_index = "(0|[1-9][0-9]*)" + optional_index = f"\\[{array_index}?\\]" + reference_clause = f"(type|keys{optional_index}\\.(type|value))" + semantic_id_clause = f"semanticId(\\.{reference_clause})?" + supplemental_semantic_id_clause = ( + f"supplementalSemanticIds({optional_index})?(\\.{reference_clause})?" + ) + specific_asset_ids_clause = ( + f"specificAssetIds{optional_index}" + f"\\.(name|value|externalSubjectId(\\.{reference_clause})?)" + ) + endpoint_clause = ( + f"endpoints{optional_index}\\.(interface|protocolinformation\\.href)" + ) + sm_descriptor_clause = ( + f"({semantic_id_clause}|{supplemental_semantic_id_clause}" + f"|idShort|id|{endpoint_clause})" + ) + id_short = "[A-Za-z]([A-Za-z0-9_-]*[A-Za-z0-9_])?" + id_short_path_segment = f"{id_short}({optional_index})*" + id_short_path = f"{id_short_path_segment}(\\.{id_short_path_segment})*" + + fields_aas = ( + f"(idShort|id|assetInformation\\.assetKind|assetInformation\\.assetType" + f"|assetInformation\\.globalAssetId" + f"|assetInformation\\.{specific_asset_ids_clause}" + f"|submodels{optional_index}(\\.{reference_clause})?)" + ) + fields_sm = f"({semantic_id_clause}|{supplemental_semantic_id_clause}|idShort|id)" + fields_sme = ( + f"({semantic_id_clause}|{supplemental_semantic_id_clause}" + f"|idShort|value|valueType|language)" + ) + fields_cd = "(idShort|id)" + fields_aas_descriptor = ( + f"(idShort|id|assetKind|assetType|globalAssetId" + f"|{specific_asset_ids_clause}|{endpoint_clause}" + f"|submodelDescriptors{optional_index}\\.{sm_descriptor_clause})" + ) + + pattern = ( + f"^(\\$aas#{fields_aas}" + f"|\\$sm#{fields_sm}" + f"|\\$sme(\\.{id_short_path})?#{fields_sme}" + f"|\\$cd#{fields_cd}" + f"|\\$aasdesc#{fields_aas_descriptor}" + f"|\\$smdesc#{sm_descriptor_clause})$" + ) + + return match(pattern, text) is not None + + +@invariant( + lambda self: matches_field_identifier(self), + "The value must match the pattern of a field identifier.", +) +class Field_identifier(str, DBC): + """ + Identify a field whose value is compared in a query, *e.g.*, + ``$aas#assetInformation.assetKind`` or ``$sme.someProperty#value``. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#query-grammar + """ + + +@verification +def matches_fragment_field_identifier(text: str) -> bool: + """ + Check that :paramref:`text` is a valid fragment field identifier. + + A fragment field identifier points to the part of the returned data which + should be filtered, *e.g.*, ``$aas#assetInformation.specificAssetIds[]`` + or ``$sme.someCollection``. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#query-grammar + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + array_index = "(0|[1-9][0-9]*)" + optional_index = f"\\[{array_index}?\\]" + reference_clause = f"keys({optional_index})?" + semantic_id_clause = f"semanticId(\\.{reference_clause})?" + supplemental_semantic_id_clause = ( + f"supplementalSemanticIds({optional_index}(\\.{reference_clause})?)?" + ) + specific_asset_ids_clause = ( + f"specificAssetIds({optional_index}" + f"(\\.externalSubjectId(\\.{reference_clause})?)?)?" + ) + submodels_clause = f"submodels({optional_index}(\\.{reference_clause})?)?" + endpoint_clause = f"endpoints({optional_index})?" + sm_descriptor_clause = ( + f"({semantic_id_clause}|{supplemental_semantic_id_clause}" + f"|idShort|{endpoint_clause})" + ) + submodel_descriptors_clause = ( + f"submodelDescriptors({optional_index}(\\.{sm_descriptor_clause})?)?" + ) + id_short = "[A-Za-z]([A-Za-z0-9_-]*[A-Za-z0-9_])?" + id_short_path_segment = f"{id_short}({optional_index})*" + id_short_path = f"{id_short_path_segment}(\\.{id_short_path_segment})*" + + fields_aas = ( + f"(idShort|assetInformation\\.assetType|assetInformation\\.globalAssetId" + f"|assetInformation\\.{specific_asset_ids_clause}|{submodels_clause})" + ) + fields_sm = f"({semantic_id_clause}|{supplemental_semantic_id_clause}|idShort)" + fields_sme = ( + f"({semantic_id_clause}|{supplemental_semantic_id_clause}" + f"|idShort|value|valueType|language)" + ) + fields_aas_descriptor = ( + f"(idShort|description|displayName|extension|administration" + f"|assetKind|assetType|globalAssetId|{specific_asset_ids_clause}" + f"|{endpoint_clause}|{submodel_descriptors_clause})" + ) + + pattern = ( + f"^(\\$aas#{fields_aas}" + f"|\\$sm#{fields_sm}" + f"|\\$sme(\\.{id_short_path})?(#{fields_sme})?" + f"|\\$cd#idShort" + f"|\\$aasdesc#{fields_aas_descriptor}" + f"|\\$smdesc#{sm_descriptor_clause})$" + ) + + return match(pattern, text) is not None + + +@invariant( + lambda self: matches_fragment_field_identifier(self), + "The value must match the pattern of a fragment field identifier.", +) +class Fragment_field_identifier(str, DBC): + """ + Identify the part of the returned data to which a query filter applies, + *e.g.*, ``$aas#assetInformation.specificAssetIds[]``. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#query-grammar + """ + + +@invariant( + lambda self: len(self) >= 1, + "The value must have at least one character.", +) +class Standard_string(str, DBC): + """ + Represent a string literal in a query with at least one character. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#query-grammar + """ + + +@verification +def matches_hex_literal(text: str) -> bool: + """ + Check that :paramref:`text` is a valid hexadecimal literal of the query language. + + A hexadecimal literal is prefixed with ``16#``, *e.g.*, ``16#1F``. + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + pattern = "^16#[0-9A-F]+$" + + return match(pattern, text) is not None + + +@invariant( + lambda self: matches_hex_literal(self), + "The value must match the pattern of a hexadecimal literal.", +) +class Hex_literal_type(str, DBC): + """ + Represent a hexadecimal literal in a query, *e.g.*, ``16#1F``. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#query-grammar + """ + + +@verification +def matches_date_time_literal(text: str) -> bool: + """ + Check that :paramref:`text` is a valid date-time literal of the query language. + + A date-time literal is a valid calendar date, followed by an optional ``T`` + separator, the time and an optional time zone, *e.g.*, + ``2024-02-29T12:00:00Z``. + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + digit = "[0-9]" + month_with_31_days = f"(0[13578]|1[02])-(0[1-9]|[12]{digit}|3[01])" + month_with_30_days = f"(0[469]|11)-(0[1-9]|[12]{digit}|30)" + february = f"02-(0[1-9]|1{digit}|2[0-8])" + common_date = f"{digit}{{4}}-({month_with_31_days}|{month_with_30_days}|{february})" + leap_year = ( + f"({digit}{{2}}(0[48]|[2468][048]|[13579][26])" + f"|([02468][048]|[13579][26])00)" + ) + leap_day = f"{leap_year}-02-29" + time = ( + f"(([01]{digit}|2[0-3]):[0-5]{digit}(:[0-5]{digit})?(\\.{digit}+)?" + f"|24:00(:00)?(\\.0+)?)" + ) + timezone = f"(Z|[+-]((0{digit}|1[0-3]):[0-5]{digit}|14:00))" + + pattern = f"^(({common_date})|({leap_day}))T?{time}{timezone}?$" + + return match(pattern, text) is not None + + +@invariant( + lambda self: matches_date_time_literal(self), + "The value must match the pattern of a date-time literal.", +) +class Date_time_literal_type(str, DBC): + """ + Represent a date-time literal in a query, *e.g.*, ``2024-02-29T12:00:00Z``. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#casting + """ + + +@verification +def matches_time_literal(text: str) -> bool: + """ + Check that :paramref:`text` is a valid time literal of the query language. + + A time literal is given as ``HH:MM``, ``HH:MM:SS``, optionally with + fractional seconds and an optional time zone, *e.g.*, ``12:00:00+01:00``. + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + digit = "[0-9]" + time = ( + f"(([01]{digit}|2[0-3]):[0-5]{digit}(:[0-5]{digit})?(\\.{digit}+)?" + f"|24:00(:00)?(\\.0+)?)" + ) + timezone = f"(Z|[+-]((0{digit}|1[0-3]):[0-5]{digit}|14:00))" + + pattern = f"^{time}{timezone}?$" + + return match(pattern, text) is not None + + +@invariant( + lambda self: matches_time_literal(self), + "The value must match the pattern of a time literal.", +) +class Time_literal_type(str, DBC): + """ + Represent a time literal in a query, *e.g.*, ``12:00:00+01:00``. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#casting + """ + + +@verification +def matches_reference_identifier(text: str) -> bool: + """ + Check that :paramref:`text` is a valid reference identifier. + + A reference identifier points to an attribute of a specific instance given + by its identifier, *e.g.*, ``$sm("https://example.com/sm")#idShort`` or + ``$sme("https://example.com/sm").someProperty#value``. A quotation mark and + a reverse solidus in the identifier are escaped as ``\\"`` and ``\\\\``, + respectively. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#query-grammar + + :param text: Text to be checked + :returns: True if the :paramref:`text` conforms to the pattern + """ + array_index = "(0|[1-9][0-9]*)" + optional_index = f"\\[{array_index}?\\]" + reference_clause = f"(type|keys{optional_index}\\.(type|value))" + semantic_id_clause = f"semanticId(\\.{reference_clause})?" + supplemental_semantic_id_clause = ( + f"supplementalSemanticIds({optional_index})?(\\.{reference_clause})?" + ) + specific_asset_ids_clause = ( + f"specificAssetIds{optional_index}" + f"\\.(name|value|externalSubjectId(\\.{reference_clause})?)" + ) + id_short = "[A-Za-z]([A-Za-z0-9_-]*[A-Za-z0-9_])?" + id_short_path_segment = f"{id_short}({optional_index})*" + id_short_path = f"{id_short_path_segment}(\\.{id_short_path_segment})*" + + # NOTE (mristin): + # The identifier is limited to the characters of an XML-serializable + # string, where the quotation mark and the reverse solidus need to be + # escaped. + # noinspection SpellCheckingInspection + identifier_character = ( + r"([\x09\x0A\x0D\x20-\x21\x23-\x5B\x5D-\uD7FF\uE000-\uFFFD" + r'\U00010000-\U0010FFFF]|\\["\\])' + ) + identifier_instance = f'\\("{identifier_character}+"\\)' + + fields_aas = ( + f"(idShort|id|assetInformation\\.assetKind|assetInformation\\.assetType" + f"|assetInformation\\.globalAssetId" + f"|assetInformation\\.{specific_asset_ids_clause}" + f"|submodels{optional_index}(\\.{reference_clause})?)" + ) + fields_sm = f"({semantic_id_clause}|{supplemental_semantic_id_clause}|idShort|id)" + fields_sme = ( + f"({semantic_id_clause}|{supplemental_semantic_id_clause}" + f"|idShort|value|valueType|language)" + ) + + pattern = ( + f"^(\\$aas{identifier_instance}#{fields_aas}" + f"|\\$sm{identifier_instance}#{fields_sm}" + f"|\\$cd{identifier_instance}#(idShort|id)" + f"|\\$sme{identifier_instance}\\.{id_short_path}#{fields_sme})$" + ) + + return match(pattern, text) is not None + + +@invariant( + lambda self: matches_reference_identifier(self), + "The value must match the pattern of a reference identifier.", +) +class Reference_identifier(str, DBC): + """ + Identify an attribute of a specific instance, *e.g.*, + ``$sm("https://example.com/sm")#idShort``. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#query-grammar + """ + + +class Global_attribute_kind(Enum): + """ + Enumerate the global attributes which can be used in a query. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#query-grammar + """ + + Local_now = "LOCALNOW" + """The current date and time in the local time zone of the server""" + + UTC_now = "UTCNOW" + """The current date and time in UTC""" + + Client_now = "CLIENTNOW" + """The current date and time of the client""" + + Anonymous = "ANONYMOUS" + """The anonymous user, *i.e.*, a request without authentication""" + + +class Date_time_global_attribute_kind(Enum): + """ + Enumerate the global attributes which can be used as a date-time operand + in a query. + + This is a subset of :class:`Global_attribute_kind`. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#query-grammar + """ + + Local_now = "LOCALNOW" + """The current date and time in the local time zone of the server""" + + UTC_now = "UTCNOW" + """The current date and time in UTC""" + + Client_now = "CLIENTNOW" + """The current date and time of the client""" + + +class Claim_attribute(DBC): + """ + Refer to a claim of the requester, *e.g.*, from an access token. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + claim: Annotated[str, json_name("CLAIM")] + """Name of the claim""" + + def __init__(self, claim: str) -> None: + self.claim = claim + + +class Global_attribute(DBC): + """ + Refer to a global attribute such as the current time. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + kind: Annotated["Global_attribute_kind", json_name("GLOBAL")] + """Kind of the global attribute""" + + def __init__(self, kind: "Global_attribute_kind") -> None: + self.kind = kind + + +class Reference_attribute(DBC): + """ + Refer to an attribute of a specific AAS element. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + reference: Annotated["Reference_identifier", json_name("REFERENCE")] + """Reference to the attribute""" + + def __init__(self, reference: "Reference_identifier") -> None: + self.reference = reference + + +class Date_time_attribute_item(DBC): + """ + Refer to a global attribute which gives a date and time. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + kind: Annotated["Date_time_global_attribute_kind", json_name("GLOBAL")] + """Kind of the global attribute""" + + def __init__(self, kind: "Date_time_global_attribute_kind") -> None: + self.kind = kind + + +class Field_operand(DBC): + """ + Use the value of a field as an operand. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + field: Annotated["Field_identifier", json_name("$field")] + """Identifier of the field""" + + def __init__(self, field: "Field_identifier") -> None: + self.field = field + + +class String_literal(DBC): + """ + Use a string literal as an operand. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + str_val: Annotated["Standard_string", json_name("$strVal")] + """The string value""" + + def __init__(self, str_val: "Standard_string") -> None: + self.str_val = str_val + + +class Attribute_operand(DBC): + """ + Use an attribute as an operand. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + attribute: Annotated["Attribute_item", json_name("$attribute")] + """The attribute""" + + def __init__(self, attribute: "Attribute_item") -> None: + self.attribute = attribute + + +class Number_literal(DBC): + """ + Use a number literal as an operand. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + num_val: Annotated[float, json_name("$numVal")] + """The numerical value""" + + def __init__(self, num_val: float) -> None: + self.num_val = num_val + + +class Hex_literal(DBC): + """ + Use a hexadecimal literal as an operand. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + hex_val: Annotated["Hex_literal_type", json_name("$hexVal")] + """The hexadecimal value""" + + def __init__(self, hex_val: "Hex_literal_type") -> None: + self.hex_val = hex_val + + +class Date_time_literal(DBC): + """ + Use a date-time literal as an operand. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + date_time_val: Annotated["Date_time_literal_type", json_name("$dateTimeVal")] + """The date-time value""" + + def __init__(self, date_time_val: "Date_time_literal_type") -> None: + self.date_time_val = date_time_val + + +class Time_literal(DBC): + """ + Use a time literal as an operand. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + time_val: Annotated["Time_literal_type", json_name("$timeVal")] + """The time value""" + + def __init__(self, time_val: "Time_literal_type") -> None: + self.time_val = time_val + + +class Boolean_literal(DBC): + """ + Use a boolean literal as an operand or as a logical expression. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + boolean: Annotated[bool, json_name("$boolean")] + """The boolean value""" + + def __init__(self, boolean: bool) -> None: + self.boolean = boolean + + +class String_cast(DBC): + """ + Cast the operand to ``xs:string``. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#casting + """ + + str_cast: Annotated["Value", json_name("$strCast")] + """The operand to be cast""" + + def __init__(self, str_cast: "Value") -> None: + self.str_cast = str_cast + + +class Number_cast(DBC): + """ + Cast the operand to a number. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#casting + """ + + num_cast: Annotated["Value", json_name("$numCast")] + """The operand to be cast""" + + def __init__(self, num_cast: "Value") -> None: + self.num_cast = num_cast + + +class Hex_cast(DBC): + """ + Cast the operand to ``xs:hexBinary``. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#casting + """ + + hex_cast: Annotated["Value", json_name("$hexCast")] + """The operand to be cast""" + + def __init__(self, hex_cast: "Value") -> None: + self.hex_cast = hex_cast + + +class Boolean_cast(DBC): + """ + Cast the operand to ``xs:boolean``. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#casting + """ + + bool_cast: Annotated["Value", json_name("$boolCast")] + """The operand to be cast""" + + def __init__(self, bool_cast: "Value") -> None: + self.bool_cast = bool_cast + + +class Date_time_cast(DBC): + """ + Cast the string operand to ``xs:dateTime``. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#casting + """ + + date_time_cast: Annotated["String_value", json_name("$dateTimeCast")] + """The operand to be cast""" + + def __init__(self, date_time_cast: "String_value") -> None: + self.date_time_cast = date_time_cast + + +class Time_cast(DBC): + """ + Cast the string or date-time operand to ``xs:time``. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#casting + """ + + time_cast: Annotated["Time_cast_operand", json_name("$timeCast")] + """The operand to be cast""" + + def __init__(self, time_cast: "Time_cast_operand") -> None: + self.time_cast = time_cast + + +class Day_of_week(DBC): + """ + Extract the day of the week from the date-time operand as a number. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + day_of_week: Annotated["Date_time_operand", json_name("$dayOfWeek")] + """The date-time operand""" + + def __init__(self, day_of_week: "Date_time_operand") -> None: + self.day_of_week = day_of_week + + +class Day_of_month(DBC): + """ + Extract the day of the month from the date-time operand as a number. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + day_of_month: Annotated["Date_time_operand", json_name("$dayOfMonth")] + """The date-time operand""" + + def __init__(self, day_of_month: "Date_time_operand") -> None: + self.day_of_month = day_of_month + + +class Month(DBC): + """ + Extract the month from the date-time operand as a number. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + month: Annotated["Date_time_operand", json_name("$month")] + """The date-time operand""" + + def __init__(self, month: "Date_time_operand") -> None: + self.month = month + + +class Year(DBC): + """ + Extract the year from the date-time operand as a number. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + year: Annotated["Date_time_operand", json_name("$year")] + """The date-time operand""" + + def __init__(self, year: "Date_time_operand") -> None: + self.year = year + + +class Date_time_attribute_operand(DBC): + """ + Use a date-time global attribute as an operand. + + This class is not part of the metamodel and is not itself a named class + in the specification. + """ + + attribute: Annotated["Date_time_attribute_item", json_name("$attribute")] + """The attribute""" + + def __init__(self, attribute: "Date_time_attribute_item") -> None: + self.attribute = attribute + + +@verification +def _can_be_of_type(value: "Value", value_type: str) -> bool: + """ + Check that :paramref:`value` can be used as an operand of :paramref:`value_type`. + + Following the normative JSON schema of the query language, a field is + implicitly cast to the type of the other operand, and can hence be used as + an operand of any type. A global attribute giving a date and time + (``LOCALNOW``, ``UTCNOW`` or ``CLIENTNOW``) can be used both as a string and + as a date-time, while all the other attributes are strings. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_json_schema + + :param value: Operand of a comparison + :param value_type: + One of ``string``, ``number``, ``hex``, ``boolean``, ``date_time`` + or ``time`` + :returns: True if :paramref:`value` can be used as :paramref:`value_type` + """ + if isinstance(value, Field_operand): + return True + + if isinstance(value, Attribute_operand): + if value_type == "string": + return True + + attribute = value.attribute + return ( + value_type == "date_time" + and isinstance(attribute, Global_attribute) + and ( + attribute.kind == Global_attribute_kind.Local_now + or attribute.kind == Global_attribute_kind.UTC_now + or attribute.kind == Global_attribute_kind.Client_now + ) + ) + + if isinstance(value, (String_literal, String_cast)): + return value_type == "string" + + if isinstance( + value, + (Number_literal, Number_cast, Day_of_week, Day_of_month, Month, Year), + ): + return value_type == "number" + + if isinstance(value, (Hex_literal, Hex_cast)): + return value_type == "hex" + + if isinstance(value, (Boolean_literal, Boolean_cast)): + return value_type == "boolean" + + if isinstance(value, (Date_time_literal, Date_time_cast)): + return value_type == "date_time" + + if isinstance(value, (Time_literal, Time_cast)): + return value_type == "time" + + return False + + +@verification +def are_equality_comparable(left: "Value", right: "Value") -> bool: + """ + Check that :paramref:`left` and :paramref:`right` can be compared for + (in)equality. + + Following the normative JSON schema of the query language, the two operands + need to be of the same type: a string, a number, a hexadecimal, a boolean, + a date-time or a time. A field is implicitly cast to the type of the other + operand, and can hence be compared with an operand of any type. A global + attribute giving a date and time (``LOCALNOW``, ``UTCNOW`` or ``CLIENTNOW``) + can be used both as a string and as a date-time. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_json_schema + + :param left: First operand of the comparison + :param right: Second operand of the comparison + :returns: True if the operands can be compared for (in)equality + """ + return ( + (_can_be_of_type(left, "string") and _can_be_of_type(right, "string")) + or (_can_be_of_type(left, "number") and _can_be_of_type(right, "number")) + or (_can_be_of_type(left, "hex") and _can_be_of_type(right, "hex")) + or (_can_be_of_type(left, "boolean") and _can_be_of_type(right, "boolean")) + or (_can_be_of_type(left, "date_time") and _can_be_of_type(right, "date_time")) + or (_can_be_of_type(left, "time") and _can_be_of_type(right, "time")) + ) + + +@verification +def are_order_comparable(left: "Value", right: "Value") -> bool: + """ + Check that :paramref:`left` and :paramref:`right` can be compared by order. + + The operands need to be comparable for (in)equality (see + ``are_equality_comparable``), but booleans can not be ordered. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_json_schema + + :param left: First operand of the comparison + :param right: Second operand of the comparison + :returns: True if the operands can be compared by order + """ + return ( + are_equality_comparable(left, right) + and not isinstance(left, (Boolean_literal, Boolean_cast)) + and not isinstance(right, (Boolean_literal, Boolean_cast)) + ) + + +# fmt: off +@invariant( + lambda self: are_equality_comparable(self.eq[0], self.eq[1]), + "The operands must be comparable by (in)equality." +) +# fmt: on +class Equal_comparison(DBC): + """ + Check whether the two operands are equal. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + The operands must be of compatible types, see + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_json_schema + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_comparison_operators + """ + + eq: Annotated[Tuple["Value", "Value"], json_name("$eq")] + """The two operands""" + + def __init__(self, eq: Tuple["Value", "Value"]) -> None: + self.eq = eq + + +# fmt: off +@invariant( + lambda self: are_equality_comparable(self.ne[0], self.ne[1]), + "The operands must be comparable by (in)equality." +) +# fmt: on +class Not_equal_comparison(DBC): + """ + Check whether the two operands are not equal. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + The operands must be of compatible types, see + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_json_schema + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_comparison_operators + """ + + ne: Annotated[Tuple["Value", "Value"], json_name("$ne")] + """The two operands""" + + def __init__(self, ne: Tuple["Value", "Value"]) -> None: + self.ne = ne + + +# fmt: off +@invariant( + lambda self: are_order_comparable(self.gt[0], self.gt[1]), + "The operands must be comparable by order." +) +# fmt: on +class Greater_than_comparison(DBC): + """ + Check whether the first operand is greater than the second one. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + The operands must be of compatible types, see + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_json_schema + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_comparison_operators + """ + + gt: Annotated[Tuple["Value", "Value"], json_name("$gt")] + """The two operands""" + + def __init__(self, gt: Tuple["Value", "Value"]) -> None: + self.gt = gt + + +# fmt: off +@invariant( + lambda self: are_order_comparable(self.ge[0], self.ge[1]), + "The operands must be comparable by order." +) +# fmt: on +class Greater_than_or_equal_comparison(DBC): + """ + Check whether the first operand is greater than or equal to the second one. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + The operands must be of compatible types, see + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_json_schema + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_comparison_operators + """ + + ge: Annotated[Tuple["Value", "Value"], json_name("$ge")] + """The two operands""" + + def __init__(self, ge: Tuple["Value", "Value"]) -> None: + self.ge = ge + + +# fmt: off +@invariant( + lambda self: are_order_comparable(self.lt[0], self.lt[1]), + "The operands must be comparable by order." +) +# fmt: on +class Less_than_comparison(DBC): + """ + Check whether the first operand is less than the second one. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + The operands must be of compatible types, see + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_json_schema + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_comparison_operators + """ + + lt: Annotated[Tuple["Value", "Value"], json_name("$lt")] + """The two operands""" + + def __init__(self, lt: Tuple["Value", "Value"]) -> None: + self.lt = lt + + +# fmt: off +@invariant( + lambda self: are_order_comparable(self.le[0], self.le[1]), + "The operands must be comparable by order." +) +# fmt: on +class Less_than_or_equal_comparison(DBC): + """ + Check whether the first operand is less than or equal to the second one. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + The operands must be of compatible types, see + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_json_schema + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_comparison_operators + """ + + le: Annotated[Tuple["Value", "Value"], json_name("$le")] + """The two operands""" + + def __init__(self, le: Tuple["Value", "Value"]) -> None: + self.le = le + + +class Contains_comparison(DBC): + """ + Check whether the second string operand is a substring of the first one. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_comparison_operators + """ + + contains: Annotated[Tuple["String_value", "String_value"], json_name("$contains")] + """The two string operands""" + + def __init__(self, contains: Tuple["String_value", "String_value"]) -> None: + self.contains = contains + + +class Starts_with_comparison(DBC): + """ + Check whether the first string operand starts with the second one. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_comparison_operators + """ + + starts_with: Annotated[ + Tuple["String_value", "String_value"], json_name("$starts-with") + ] + """The two string operands""" + + def __init__(self, starts_with: Tuple["String_value", "String_value"]) -> None: + self.starts_with = starts_with + + +class Ends_with_comparison(DBC): + """ + Check whether the first string operand ends with the second one. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_comparison_operators + """ + + ends_with: Annotated[Tuple["String_value", "String_value"], json_name("$ends-with")] + """The two string operands""" + + def __init__(self, ends_with: Tuple["String_value", "String_value"]) -> None: + self.ends_with = ends_with + + +class Regex_comparison(DBC): + """ + Check whether the first string operand matches the regular expression + given as the second one. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_comparison_operators + """ + + regex: Annotated[Tuple["String_value", "String_value"], json_name("$regex")] + """The string operand and the regular expression""" + + def __init__(self, regex: Tuple["String_value", "String_value"]) -> None: + self.regex = regex + + +# fmt: off +@invariant( + lambda self: len(self.match_operands) >= 1, + "Match operands must have at least one item." +) +# fmt: on +class Match_clause(DBC): + """ + Check that all the operands hold for the same element of a list. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_match_of_elements_in_lists + """ + + match_operands: Annotated[List["Match_expression"], json_name("$match")] + """The comparisons and nested matches which all need to hold""" + + def __init__(self, match_operands: List["Match_expression"]) -> None: + self.match_operands = match_operands + + +# fmt: off +@invariant( + lambda self: len(self.and_operands) >= 2, + "And operands must have at least two items." +) +# fmt: on +class And_expression(DBC): + """ + Connect two or more expressions through a logical AND. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_logical_expressions + """ + + and_operands: Annotated[List["Logical_expression"], json_name("$and")] + """The expressions to be connected""" + + def __init__(self, and_operands: List["Logical_expression"]) -> None: + self.and_operands = and_operands + + +# fmt: off +@invariant( + lambda self: len(self.or_operands) >= 2, + "Or operands must have at least two items." +) +# fmt: on +class Or_expression(DBC): + """ + Connect two or more expressions through a logical OR. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_logical_expressions + """ + + or_operands: Annotated[List["Logical_expression"], json_name("$or")] + """The expressions to be connected""" + + def __init__(self, or_operands: List["Logical_expression"]) -> None: + self.or_operands = or_operands + + +class Not_expression(DBC): + """ + Negate an expression. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_logical_expressions + """ + + not_operand: Annotated["Logical_expression", json_name("$not")] + """The expression to be negated""" + + def __init__(self, not_operand: "Logical_expression") -> None: + self.not_operand = not_operand + + +class Query_select(Enum): + """ + Enumerate what a query returns instead of the full objects. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_select_expression + """ + + ID = "id" + """Return only the identifiers of the matching objects""" + + +class Query_filter(DBC): + """ + Filter a fragment of the returned data by a condition. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html#_query_filter + """ + + fragment: Annotated["Fragment_field_identifier", json_name("$fragment")] + """The fragment of the returned data to which the filter applies""" + + condition: Annotated["Logical_expression", json_name("$condition")] + """The condition which the elements of the fragment need to fulfill""" + + def __init__( + self, + fragment: "Fragment_field_identifier", + condition: "Logical_expression", + ) -> None: + self.fragment = fragment + self.condition = condition + + +# fmt: off +@invariant( + lambda self: + not (self.filters is not None) + or len(self.filters) >= 1, + "Filters must be either not set or have at least one item." +) +# fmt: on +class Query(DBC): + """ + A query in the AAS Query Language. + + This class is not part of the metamodel and is not itself a named class + in the specification. + + See: + https://industrialdigitaltwin.io/aas-specifications/IDTA-01002/v3.2/query-language.html + """ + + select: Annotated[Optional["Query_select"], json_name("$select")] + """ + What the query returns instead of the full objects. + + If not specified, the full objects are returned. + """ + + condition: Annotated["Logical_expression", json_name("$condition")] + """The condition which the returned objects need to fulfill""" + + filters: Annotated[Optional[List["Query_filter"]], json_name("$filters")] + """Filters to reduce the returned data""" + + def __init__( + self, + condition: "Logical_expression", + select: Optional["Query_select"] = None, + filters: Optional[List["Query_filter"]] = None, + ) -> None: + self.condition = condition + self.select = select + self.filters = filters + + +#: An attribute which can be used as an operand +Attribute_item = Union[Claim_attribute, Global_attribute, Reference_attribute] + +#: An operand which evaluates to a string +String_value = Union[Field_operand, String_literal, String_cast, Attribute_operand] + +#: An operand which evaluates to a date and time +Date_time_operand = Union[ + Date_time_literal, Date_time_cast, Date_time_attribute_operand +] + +#: An operand which can be cast to ``xs:time`` +Time_cast_operand = Union[String_value, Date_time_literal, Date_time_cast] + +#: An operand which evaluates to a number +Numerical_operand = Union[ + Number_literal, Number_cast, Day_of_week, Day_of_month, Month, Year +] + +#: An operand which evaluates to a hexadecimal +Hex_operand = Union[Hex_literal, Hex_cast] + +#: An operand which evaluates to a boolean +Bool_operand = Union[Boolean_literal, Boolean_cast] + +#: An operand which evaluates to a time +Time_operand = Union[Time_literal, Time_cast] + +# NOTE (mristin): +# We can not include :py:data:`Date_time_operand` as a whole in +# :py:data:`Value`, since its :class:`Date_time_attribute_operand` shares +# the JSON property ``$attribute`` with :class:`Attribute_operand` of +# :py:data:`String_value`, so the two could not be told apart on the wire. +# A date-time global attribute is covered by :class:`Attribute_operand` +# instead, and we list the remaining date-time operands individually. + +#: Any operand of a comparison +Value = Union[ + String_value, + Numerical_operand, + Hex_operand, + Bool_operand, + Date_time_literal, + Date_time_cast, + Time_operand, +] + +#: An expression which can be nested in a :class:`Match_clause` +Match_expression = Union[ + Match_clause, + Equal_comparison, + Not_equal_comparison, + Greater_than_comparison, + Greater_than_or_equal_comparison, + Less_than_comparison, + Less_than_or_equal_comparison, + Contains_comparison, + Starts_with_comparison, + Ends_with_comparison, + Regex_comparison, +] + +#: An expression which evaluates to a boolean +Logical_expression = Union[ + And_expression, + Or_expression, + Not_expression, + Boolean_literal, + Match_expression, +] + + +# endregion AAS Query Language + + +# endregion Part 2 + +# Downloaded from: https://raw.githubusercontent.com/eclipse-aascw/aas-core-meta/2244c160abe5409a5171342e21a8d7f1cdd6f9c8/aas_core_meta/v3_2.py diff --git a/dev/dev_scripts/codegen/snippets/qualified_module_name.txt b/dev/dev_scripts/codegen/snippets/qualified_module_name.txt new file mode 100644 index 0000000..8dbdb87 --- /dev/null +++ b/dev/dev_scripts/codegen/snippets/qualified_module_name.txt @@ -0,0 +1 @@ +aas_core3_2 diff --git a/dev/dev_scripts/common.py b/dev/dev_scripts/common.py new file mode 100644 index 0000000..2830f8b --- /dev/null +++ b/dev/dev_scripts/common.py @@ -0,0 +1,79 @@ +"""Provide the settings shared among the development scripts.""" + +import os +import pathlib +import re +from typing import Final + +from icontract import ensure + +REPO_ROOT: Final[pathlib.Path] = pathlib.Path( + os.path.realpath(__file__) +).parent.parent.parent + +QUALIFIED_MODULE_NAME_PATH: Final[pathlib.Path] = ( + REPO_ROOT + / "dev" + / "dev_scripts" + / "codegen" + / "snippets" + / "qualified_module_name.txt" +) + + +def qualified_module_name() -> str: + """ + Read the qualified name of the generated module, *e.g.*, ``aas_core3_2``. + + We derive everything from the qualified module name in the snippets so that + we only have to change that snippet when moving to a new version of + the meta-model. + """ + result = QUALIFIED_MODULE_NAME_PATH.read_text(encoding="utf-8").strip() + if len(result) == 0: + raise RuntimeError( + f"The qualified module name is empty in: {QUALIFIED_MODULE_NAME_PATH}" + ) + + return result + + +@ensure(lambda result: not result.is_absolute()) +def module_dir() -> pathlib.Path: + """ + Determine the directory of the generated module relative to the repo root. + + The qualified module name can include parent modules (*e.g.*, + ``some.parent.aas_core3_2``), so we map it to nested directories. + """ + return pathlib.Path(*qualified_module_name().split(".")) + + +def record_mode_variable() -> str: + """ + Determine the environment variable which switches the tests to record mode. + + This needs to follow the naming in the tests generated by aas-core-codegen. + """ + return qualified_module_name().replace(".", "_").upper() + "_TESTS_RECORD_MODE" + + +_VERSION_RE = re.compile(r"^aas_core(?P[0-9]+)_(?P[0-9]+)$") + + +def version_stem() -> str: + """ + Determine the version stem of the meta-model, *e.g.*, ``v3_2``. + + The stem is used both in aas-core-meta and in aas-core-testdatagen. + """ + name = qualified_module_name() + mtch = _VERSION_RE.match(name.split(".")[-1]) + if mtch is None: + raise RuntimeError( + f"Expected the qualified module name to end with " + f"aas_core{{major}}_{{minor}}, but got {name!r} " + f"in {QUALIFIED_MODULE_NAME_PATH}" + ) + + return f"v{mtch.group('major')}_{mtch.group('minor')}" diff --git a/dev/dev_scripts/download_aas_core_meta_model.py b/dev/dev_scripts/download_aas_core_meta_model.py new file mode 100644 index 0000000..a76b41d --- /dev/null +++ b/dev/dev_scripts/download_aas_core_meta_model.py @@ -0,0 +1,94 @@ +"""Download the meta-model to this directory.""" + +import argparse +import sys +from typing import Dict, Union, Final + +import requests + +import dev_scripts.common as dev_scripts_common + +GITHUB_API: Final[str] = "https://api.github.com" +OWNER: Final[str] = "eclipse-aascw" +REPO: Final[str] = "aas-core-meta" +REF: Final[str] = "main" + + +def _latest_commit_sha_for_path( + owner: str, repo: str, ref: str, path: str, *, timeout: float = 15.0 +) -> str: + """ + Resolve the latest commit SHA on a ref for a specific path. + + Uses: GET /repos/{owner}/{repo}/commits?path=...&sha=...&per_page=1 + """ + url = f"{GITHUB_API}/repos/{owner}/{repo}/commits" + params: Dict[str, Union[str, int]] = {"path": path, "sha": ref, "per_page": 1} + resp = requests.get(url, params=params, timeout=timeout) + try: + resp.raise_for_status() + except requests.HTTPError as ex: + raise RuntimeError( + f"Failed to resolve latest commit for {owner}/{repo}:{ref} path={path} " + f"({resp.status_code}): {resp.text}" + ) from ex + + commits = resp.json() + if not commits or not isinstance(commits, list): + raise RuntimeError( + "Could not determine latest commit SHA (empty API response)." + ) + + sha = commits[0].get("sha") + if not sha or not isinstance(sha, str): + raise RuntimeError("API did not return a valid commit SHA.") + assert isinstance(sha, str) + return sha + + +def _download_raw_from_commit( + owner: str, repo: str, sha: str, path: str, *, timeout: float = 30.0 +) -> str: + """Download the raw file contents for a given commit SHA and path.""" + raw_url = f"https://raw.githubusercontent.com/{owner}/{repo}/{sha}/{path}" + resp = requests.get(raw_url, timeout=timeout) + try: + resp.raise_for_status() + except requests.HTTPError as ex: + raise RuntimeError( + f"Failed to download file from {raw_url} ({resp.status_code}): {resp.text}" + ) from ex + + return resp.text + + +def main() -> int: + """Execute the main routine.""" + parser = argparse.ArgumentParser(description=__doc__) + _ = parser.parse_args() + + filepath = f"aas_core_meta/{dev_scripts_common.version_stem()}.py" + + sha = _latest_commit_sha_for_path(OWNER, REPO, REF, filepath) + + content = _download_raw_from_commit(OWNER, REPO, sha, filepath) + + pinned_url = f"https://raw.githubusercontent.com/{OWNER}/{REPO}/{sha}/{filepath}" + banner = f"# Downloaded from: {pinned_url}\n" + + out_path = ( + dev_scripts_common.REPO_ROOT + / "dev" + / "dev_scripts" + / "codegen" + / "meta_model.py" + ) + + out_path.write_text(f"{banner}{content.rstrip()}\n\n{banner}", encoding="utf-8") + + print(f"Wrote {out_path} (from commit {sha[:12]}).") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/dev/dev_scripts/download_latest_test_data.py b/dev/dev_scripts/download_latest_test_data.py new file mode 100644 index 0000000..9b13af2 --- /dev/null +++ b/dev/dev_scripts/download_latest_test_data.py @@ -0,0 +1,206 @@ +"""Download the latest test data released on aas-core-testdatagen.""" + +import argparse +import collections +import json +import pathlib +import shutil +import sys +import uuid +import zipfile +from typing import Final, List + +import requests +from icontract import require + +import dev_scripts.common as dev_scripts_common + +_REPO: Final[str] = "eclipse-aascw/aas-core-testdatagen" + + +class _Release: + """Represent a release of aas-core-testdatagen with our test data.""" + + #: Git tag of the release, not the version of the meta-model + tag_name: Final[str] + + #: URL to download the test data for our version of the meta-model + url: Final[str] + + def __init__(self, tag_name: str, url: str) -> None: + """Initialize with the given values.""" + self.tag_name = tag_name + self.url = url + + +def _get_latest_release(include_prereleases: bool) -> _Release: + """ + Get the latest release of aas-core-testdatagen with our test data. + + The test data for a new version of the meta-model is usually published first + in a pre-release, while the latest full release might only contain the test + data for older versions. Hence, we pick the newest release which actually + contains the test data for our version of the meta-model. + + If ``include_prereleases`` is set, the pre-releases are also considered. + Otherwise, only the full releases are considered. + """ + asset_name = f"test_data_for_{dev_scripts_common.version_stem()}.zip" + + # NOTE (mristin): + # GitHub lists the releases, including the pre-releases, sorted by + # their creation date, the newest first. + url = f"https://api.github.com/repos/{_REPO}/releases" + + try: + response = requests.get(url, timeout=30) + response.raise_for_status() + data = response.json() + except requests.RequestException as exception: + raise RuntimeError(f"Error fetching the releases from {url}") from exception + + if not isinstance(data, list): + raise RuntimeError(f"Expected a list of releases from {url}, but got: {data}") + + skipped_prereleases: List[str] = [] + + for release in data: + if not isinstance(release, dict) or release.get("draft", False): + continue + + tag_name = release.get("tag_name") + if not isinstance(tag_name, str): + raise RuntimeError( + f"Expected the 'tag_name' to be a string, but got: {tag_name}" + ) + + download_url = next( + ( + asset.get("browser_download_url") + for asset in release.get("assets", []) + if isinstance(asset, dict) and asset.get("name") == asset_name + ), + None, + ) + + if download_url is None: + continue + + if not isinstance(download_url, str): + raise RuntimeError( + f"Expected the 'browser_download_url' of {asset_name} " + f"in the release {tag_name} to be a string, but got: {download_url}" + ) + + if release.get("prerelease", False) and not include_prereleases: + skipped_prereleases.append(tag_name) + continue + + return _Release(tag_name=tag_name, url=download_url) + + message = f"No release at {url} contains {asset_name}" + if len(skipped_prereleases) > 0: + message += ( + f"; only the pre-release(s) {', '.join(skipped_prereleases)} do, " + f"consider --include_prereleases" + ) + + raise RuntimeError(message) + + +def _download(url: str, destination: pathlib.Path) -> None: + """Download the test data zip file.""" + response = requests.get(url, stream=True, timeout=30) + response.raise_for_status() + + with open(destination, "wb") as f: + f.writelines(response.iter_content(chunk_size=8192)) + + +# fmt: off +@require( + lambda zip_path: + zip_path.name.endswith(".zip") + and zip_path.exists() + and zip_path.is_file() +) +# fmt: on +def _extract_zip_in_its_parent(zip_path: pathlib.Path) -> None: + """Extract the archive in its directory.""" + try: + with zipfile.ZipFile(zip_path, "r") as zip_ref: + zip_ref.extractall(zip_path.parent) + + except Exception as exception: + raise RuntimeError( + f"Failed to unpack {zip_path} to {zip_path.parent}" + ) from exception + + +def main() -> int: + """Execute the main routine.""" + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument( + "--include_prereleases", + help=( + "If set, consider also the pre-releases when determining " + "the latest version" + ), + action="store_true", + ) + args = parser.parse_args() + + include_prereleases = bool(args.include_prereleases) + + release = _get_latest_release(include_prereleases=include_prereleases) + print(f"Latest release with our test data: {release.tag_name}") + + test_data_dir = dev_scripts_common.REPO_ROOT / "dev" / "test_data" + + zip_path = ( + test_data_dir + / f"test_data_for_{dev_scripts_common.version_stem()}.{uuid.uuid4()}.zip" + ) + + json_dir = test_data_dir / "Json" + xml_dir = test_data_dir / "Xml" + source_path = test_data_dir / "source.json" + + try: + # NOTE (mristin): + # We download before deleting the existing test data so that we do not + # end up without any test data if the download fails. + print(f"Downloading from: {release.url} to {zip_path} ...") + _download(url=release.url, destination=zip_path) + + for directory in (json_dir, xml_dir): + if directory.exists(): + print(f"Deleting existing {directory} ...") + shutil.rmtree(directory) + + if source_path.exists(): + print(f"Deleting existing {source_path} ...") + source_path.unlink() + + _extract_zip_in_its_parent(zip_path=zip_path) + + print(f"Writing the version to {source_path} ...") + with source_path.open("wt") as fid: + json.dump( + collections.OrderedDict( + [("version", release.tag_name), ("url", release.url)] + ), + fid, + indent=2, + ) + + finally: + if zip_path.exists(): + print(f"Deleting {zip_path} ...") + zip_path.unlink() + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/dev/dev_scripts/regenerate_code.py b/dev/dev_scripts/regenerate_code.py new file mode 100644 index 0000000..64d5c54 --- /dev/null +++ b/dev/dev_scripts/regenerate_code.py @@ -0,0 +1,72 @@ +"""Generate the SDK based on the aas-core-meta model and the snippets.""" + +import argparse +import os +import pathlib +import subprocess +import sys + + +def main() -> int: + """Execute the main routine.""" + repo_root = pathlib.Path(os.path.realpath(__file__)).parent.parent.parent + + default_meta_model_path = os.path.relpath( + str(repo_root / "dev" / "dev_scripts" / "codegen" / "meta_model.py"), + os.getcwd(), + ) + + default_snippet_dir = os.path.relpath( + str(repo_root / "dev" / "dev_scripts" / "codegen" / "snippets"), os.getcwd() + ) + + default_output_dir = os.path.relpath(str(repo_root), os.getcwd()) + + parser = argparse.ArgumentParser( + description=__doc__, formatter_class=argparse.ArgumentDefaultsHelpFormatter + ) + parser.add_argument( + "--meta_model", help="Path to the meta-model", default=default_meta_model_path + ) + parser.add_argument( + "--snippet_dir", + help="Path to the directory containing implementation-specific snippets", + default=default_snippet_dir, + ) + parser.add_argument( + "--output_dir", + help="Path to the directory where the generated files are to be output", + default=default_output_dir, + ) + args = parser.parse_args() + + meta_model_path = pathlib.Path(args.meta_model) + snippet_dir = pathlib.Path(args.snippet_dir) + output_dir = pathlib.Path(args.output_dir) + + print( + f"Transpiling {meta_model_path} " + f"with snippets from {snippet_dir} " + f"to {default_output_dir} ..." + ) + + subprocess.run( + [ + "aas-core-codegen", + "--model_path", + str(meta_model_path), + "--snippets_dir", + str(snippet_dir), + "--output_dir", + str(output_dir), + "--target", + "python", + ], + check=True, + ) + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/dev/dev_scripts/rerecord_tests.py b/dev/dev_scripts/rerecord_tests.py new file mode 100644 index 0000000..7d1fcff --- /dev/null +++ b/dev/dev_scripts/rerecord_tests.py @@ -0,0 +1,52 @@ +"""Run all tests and re-record the golden data.""" + +import argparse +import os +import pathlib +import shutil +import subprocess +import sys + +import dev_scripts.common as dev_scripts_common + + +def main() -> int: + """Execute the main routine.""" + parser = argparse.ArgumentParser(description=__doc__) + _ = parser.parse_args() + + repo_root = pathlib.Path(os.path.realpath(__file__)).parent.parent.parent + + env = os.environ.copy() + env[dev_scripts_common.record_mode_variable()] = "1" + + for path in (repo_root / "dev/test_data").iterdir(): + if path.is_dir() and path.name not in ["Json", "Xml"]: + print(f"Deleting {path} ...") + shutil.rmtree(path) + + print("Running and re-recording all tests...") + subprocess.check_call( + [ + sys.executable, + "-m", + "coverage", + "run", + "--source", + str(dev_scripts_common.module_dir()), + "-m", + "unittest", + "discover", + "--start-directory", + "dev/tests", + ], + cwd=repo_root, + env=env, + ) + print("Re-recorded.") + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/dev/dev_scripts/update_all.py b/dev/dev_scripts/update_all.py new file mode 100644 index 0000000..03cd622 --- /dev/null +++ b/dev/dev_scripts/update_all.py @@ -0,0 +1,89 @@ +"""Update to the latest meta-model and the latest test data.""" + +import argparse +import os +import pathlib +import subprocess +import sys + +import dev_scripts.common as dev_scripts_common + + +def main() -> int: + """Execute the main routine.""" + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument( + "--include_prereleases", + help=( + "If set, consider also the pre-releases when downloading " + "the latest test data" + ), + action="store_true", + ) + args = parser.parse_args() + + include_prereleases = bool(args.include_prereleases) + + repo_root = pathlib.Path(os.path.realpath(__file__)).parent.parent.parent + + print("Downloading the latest meta-model...") + subprocess.check_call( + [ + sys.executable, + str(repo_root / "dev" / "dev_scripts" / "download_aas_core_meta_model.py"), + ], + cwd=str(repo_root), + ) + + print("Generating the code...") + subprocess.check_call( + [ + sys.executable, + str(repo_root / "dev" / "dev_scripts" / "regenerate_code.py"), + ], + cwd=str(repo_root), + ) + + print("Re-formatting the code...") + subprocess.check_call( + [ + sys.executable, + "-m", + "black", + str(dev_scripts_common.module_dir()), + "dev/tests", + ], + cwd=str(repo_root), + ) + + print("Downloading the latest test data...") + subprocess.check_call( + [ + sys.executable, + str(repo_root / "dev" / "dev_scripts" / "download_latest_test_data.py"), + ] + + (["--include_prereleases"] if include_prereleases else []), + cwd=str(repo_root), + ) + + print("Re-recording the test data...") + subprocess.check_call( + [sys.executable, str(repo_root / "dev" / "dev_scripts" / "rerecord_tests.py")], + cwd=str(repo_root), + ) + + print("Running the pre-commit to check that everything worked...") + subprocess.check_call( + [ + sys.executable, + str(repo_root / "dev" / "continuous_integration" / "precommit.py"), + "--overwrite", + ], + cwd=str(repo_root), + ) + + return 0 + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/dev/pyproject.toml b/dev/pyproject.toml new file mode 100644 index 0000000..f47eb79 --- /dev/null +++ b/dev/pyproject.toml @@ -0,0 +1,34 @@ +[build-system] +requires = ["setuptools>=61", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "aas-core3.2-python-dev" +version = "0.0.1" +description = "Develop aas-core3.2-python." +requires-python = ">=3.8" + +dependencies = [ + "black==26.10.1", + "coverage>=6.5.0,<7", + "mypy==2.4.0", + "pyinstaller>=5,<6", + "ruff==0.17.2", + "tomli; python_version<'3.11'", + "twine", + "requests==2.32.4", + "types-requests==2.32.4.20250913", + "aas-core-codegen==0.0.27rc4" +] + +[tool.setuptools] +packages = [ + "tests", + "dev_scripts", + "continuous_integration" +] + +# NOTE (mristin): +# We put the configuration of mypy and ruff in separate files as it is a nightmare +# to configure them with pyproject.toml not living in the current working directory +# which is the repository root. diff --git a/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/fuzzed_01.json b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/fuzzed_01.json new file mode 100644 index 0000000..e6d3712 --- /dev/null +++ b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/fuzzed_01.json @@ -0,0 +1,3 @@ +{ + "createdAt": "0013-10-11T24:00:00.000000Z" +} diff --git a/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/fuzzed_02.json b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/fuzzed_02.json new file mode 100644 index 0000000..77b4a55 --- /dev/null +++ b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/fuzzed_02.json @@ -0,0 +1,3 @@ +{ + "createdAt": "0001-01-01T00:00:00Z" +} diff --git a/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/fuzzed_03.json b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/fuzzed_03.json new file mode 100644 index 0000000..509d818 --- /dev/null +++ b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/fuzzed_03.json @@ -0,0 +1,3 @@ +{ + "createdAt": "-3020-08-21T24:00:00.0Z" +} diff --git a/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/midnight_with_24_hours.json b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/midnight_with_24_hours.json new file mode 100644 index 0000000..0e26c57 --- /dev/null +++ b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/midnight_with_24_hours.json @@ -0,0 +1,3 @@ +{ + "createdAt": "2022-04-01T24:00:00Z" +} diff --git a/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/midnight_with_zeros.json b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/midnight_with_zeros.json new file mode 100644 index 0000000..a421e25 --- /dev/null +++ b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/midnight_with_zeros.json @@ -0,0 +1,3 @@ +{ + "createdAt": "2022-04-01T00:00:00Z" +} diff --git a/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/minus_zero_offset.json b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/minus_zero_offset.json new file mode 100644 index 0000000..e1de5e3 --- /dev/null +++ b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/minus_zero_offset.json @@ -0,0 +1,3 @@ +{ + "createdAt": "2022-04-01T24:00:00-00:00" +} diff --git a/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/plus_zero_offset.json b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/plus_zero_offset.json new file mode 100644 index 0000000..8a55a06 --- /dev/null +++ b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/plus_zero_offset.json @@ -0,0 +1,3 @@ +{ + "createdAt": "2022-04-01T24:00:00+00:00" +} diff --git a/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/random_positive.json b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/random_positive.json new file mode 100644 index 0000000..bac2aea --- /dev/null +++ b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/random_positive.json @@ -0,0 +1,3 @@ +{ + "createdAt": "2022-04-01T01:02:03Z" +} diff --git a/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/very_large_year.json b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/very_large_year.json new file mode 100644 index 0000000..a4687cd --- /dev/null +++ b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/very_large_year.json @@ -0,0 +1,3 @@ +{ + "createdAt": "123456789012345678901234567-04-01T00:00:00Z" +} diff --git a/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/very_long_fractional_second.json b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/very_long_fractional_second.json new file mode 100644 index 0000000..e3c62cb --- /dev/null +++ b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/very_long_fractional_second.json @@ -0,0 +1,3 @@ +{ + "createdAt": "2022-04-01T00:00:00.1234567890123456789012345678901234567890Z" +} diff --git a/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/year_1_bce_is_a_leap_year.json b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/year_1_bce_is_a_leap_year.json new file mode 100644 index 0000000..ebb3523 --- /dev/null +++ b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/year_1_bce_is_a_leap_year.json @@ -0,0 +1,3 @@ +{ + "createdAt": "-0001-02-29T01:02:03Z" +} diff --git a/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/year_5_bce_is_a_leap_year.json b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/year_5_bce_is_a_leap_year.json new file mode 100644 index 0000000..8b0e4dc --- /dev/null +++ b/dev/test_data/Json/Expected/AdministrativeInformation/createdAtOverPatternExamples/year_5_bce_is_a_leap_year.json @@ -0,0 +1,3 @@ +{ + "createdAt": "-0005-02-29T01:02:03Z" +} diff --git a/dev/test_data/Json/Expected/AdministrativeInformation/maximal.json b/dev/test_data/Json/Expected/AdministrativeInformation/maximal.json new file mode 100644 index 0000000..3a2b87a --- /dev/null +++ b/dev/test_data/Json/Expected/AdministrativeInformation/maximal.json @@ -0,0 +1,70 @@ +{ + "embeddedDataSpecifications": [ + { + "dataSpecification": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "urn:another-company:03:97fadb7b" + } + ] + }, + "dataSpecificationContent": { + "preferredName": [ + { + "language": "en-JM-x-87ce29ed", + "text": "J5" + }, + { + "language": "en-JM-x-7c40ee17", + "text": "\u00db\u0103 \u1984 form text" +} diff --git a/dev/test_data/Json/Expected/Extension/valueOverValueExamples/String_fuzzed_01.json b/dev/test_data/Json/Expected/Extension/valueOverValueExamples/String_fuzzed_01.json new file mode 100644 index 0000000..a2c1aeb --- /dev/null +++ b/dev/test_data/Json/Expected/Extension/valueOverValueExamples/String_fuzzed_01.json @@ -0,0 +1,5 @@ +{ + "name": "\u00db\u0103 \u1984 form text", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_01.json b/dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_01.json new file mode 100644 index 0000000..29f536c --- /dev/null +++ b/dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_01.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:string", + "value": "11\u00d5\u00d1\ud803\udee8\u00b4K\udbca\udf2de<\udb45\uddde\u00a8ngA", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_02.json b/dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_02.json new file mode 100644 index 0000000..86e826f --- /dev/null +++ b/dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_02.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:string", + "value": "\ud842\udd224\ud842\udd22", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_03.json b/dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_03.json new file mode 100644 index 0000000..251fb2f --- /dev/null +++ b/dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_03.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:string", + "value": "[\\h$\ud90b\ude9f\u00ec\u00d6\u010b\u008a1\u00bf", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_04.json b/dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_04.json new file mode 100644 index 0000000..c6ff7b6 --- /dev/null +++ b/dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_04.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:string", + "value": "\u00f6\u0116a\udbf6\udce1\u0099|", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_05.json b/dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_05.json new file mode 100644 index 0000000..9128b95 --- /dev/null +++ b/dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_05.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:string", + "value": "J5", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_06.json b/dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_06.json new file mode 100644 index 0000000..4eb39ba --- /dev/null +++ b/dev/test_data/Json/Expected/Property/valueOverValueExamples/String_fuzzed_06.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:string", + "value": "\u00db\u0103 \u1984 form text" +} diff --git a/dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_01.json b/dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_01.json new file mode 100644 index 0000000..4d5b6ac --- /dev/null +++ b/dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_01.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:string", + "value": "11\u00d5\u00d1\ud803\udee8\u00b4K\udbca\udf2de<\udb45\uddde\u00a8ngA" +} diff --git a/dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_02.json b/dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_02.json new file mode 100644 index 0000000..f0d9c33 --- /dev/null +++ b/dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_02.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:string", + "value": "\ud842\udd224\ud842\udd22" +} diff --git a/dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_03.json b/dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_03.json new file mode 100644 index 0000000..b2a14e3 --- /dev/null +++ b/dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_03.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:string", + "value": "[\\h$\ud90b\ude9f\u00ec\u00d6\u010b\u008a1\u00bf" +} diff --git a/dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_04.json b/dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_04.json new file mode 100644 index 0000000..8f656b0 --- /dev/null +++ b/dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_04.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:string", + "value": "\u00f6\u0116a\udbf6\udce1\u0099|" +} diff --git a/dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_05.json b/dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_05.json new file mode 100644 index 0000000..aae571e --- /dev/null +++ b/dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_05.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:string", + "value": "J5" +} diff --git a/dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_06.json b/dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_06.json new file mode 100644 index 0000000..83aed2c --- /dev/null +++ b/dev/test_data/Json/Expected/Qualifier/valueOverValueExamples/String_fuzzed_06.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:string", + "value": "\u00db\u0103 \u1984 form text", + "max": "some free & \u1984 form text", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_01.json b/dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_01.json new file mode 100644 index 0000000..32397e6 --- /dev/null +++ b/dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_01.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:string", + "min": "11\u00d5\u00d1\ud803\udee8\u00b4K\udbca\udf2de<\udb45\uddde\u00a8ngA", + "max": "11\u00d5\u00d1\ud803\udee8\u00b4K\udbca\udf2de<\udb45\uddde\u00a8ngA", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_02.json b/dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_02.json new file mode 100644 index 0000000..d805fdf --- /dev/null +++ b/dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_02.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:string", + "min": "\ud842\udd224\ud842\udd22", + "max": "\ud842\udd224\ud842\udd22", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_03.json b/dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_03.json new file mode 100644 index 0000000..449363a --- /dev/null +++ b/dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_03.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:string", + "min": "[\\h$\ud90b\ude9f\u00ec\u00d6\u010b\u008a1\u00bf", + "max": "[\\h$\ud90b\ude9f\u00ec\u00d6\u010b\u008a1\u00bf", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_04.json b/dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_04.json new file mode 100644 index 0000000..0c87588 --- /dev/null +++ b/dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_04.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:string", + "min": "\u00f6\u0116a\udbf6\udce1\u0099|", + "max": "\u00f6\u0116a\udbf6\udce1\u0099|", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_05.json b/dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_05.json new file mode 100644 index 0000000..d261f4e --- /dev/null +++ b/dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_05.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:string", + "min": "J5", + "max": "J5", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_06.json b/dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_06.json new file mode 100644 index 0000000..e99c7f4 --- /dev/null +++ b/dev/test_data/Json/Expected/Range/overMinMaxExamples/String_fuzzed_06.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:string", + "min": "\u00db\u0103\u00d2\udb56\udf00L\u00cb)T\u0000\u00ce\u00e7\udaa9\uddcf\udbe1\udf7d\b\u00c0\u00ba\uda5a\udccf\u00ca\u00a08]\udbb2\ude08\u00181D\fY\ud942\udf23A\\\u00ac\u00ef\ud926\udce3\ud958\ude2cc", + "max": "\u0015>\u00d2\udb56\udf00L\u00cb)T\u0000\u00ce\u00e7\udaa9\uddcf\udbe1\udf7d\b\u00c0\u00ba\uda5a\udccf\u00ca\u00a08]\udbb2\ude08\u00181D\fY\ud942\udf23A\\\u00ac\u00ef\ud926\udce3\ud958\ude2cc", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_06.json new file mode 100644 index 0000000..82c5ec6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_06.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:string", + "min": "\ud8a9\udf8b\udaa5\udd5f\u00d1\u001c\u00b0\u1f58\u00aaW\uda1d\udc42\u0000\udae8\udf3b", + "max": "\ud8a9\udf8b\udaa5\udd5f\u00d1\u001c\u00b0\u1f58\u00aaW\uda1d\udc42\u0000\udae8\udf3b", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_07.json new file mode 100644 index 0000000..ab60efd --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_07.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:string", + "min": "\ud937\udf63\u0000'\u001f \ud918\udeacxx\u00cf\u00d6\nwf", + "max": "\ud937\udf63\u0000'\u001f \ud918\udeacxx\u00cf\u00d6\nwf", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_08.json new file mode 100644 index 0000000..e403830 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_08.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:string", + "min": "\udaeb\udd55\ucbbe\u0017\u00d2\u00918\u00a4M\ud898\udcd5\u00d4\u00c5\u0000\r\ud9af\udfa9Zs6\u0012\u00c0>\u0019\udbd6\udf43\u000e\u00a7\udaba\udddb", + "max": "\udaeb\udd55\ucbbe\u0017\u00d2\u00918\u00a4M\ud898\udcd5\u00d4\u00c5\u0000\r\ud9af\udfa9Zs6\u0012\u00c0>\u0019\udbd6\udf43\u000e\u00a7\udaba\udddb", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_09.json new file mode 100644 index 0000000..236f47f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_09.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:string", + "min": "\uda69\udd2b\u0012U\u0091\u00f4\u0081\u00f4\u0016\udbef\udc24\udaf4\udc94\u0000", + "max": "\uda69\udd2b\u0012U\u0091\u00f4\u0081\u00f4\u0016\udbef\udc24\udaf4\udc94\u0000", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_10.json new file mode 100644 index 0000000..4adb392 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/String_negatively_fuzzed_10.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:string", + "min": "\u00b4\u00b2\u0082\u0000\udbb2\udc9d\u00c0\u00e2\u00a8*\u00fb\ud876\udfa9\u00f2\u008f\u00a4\u0082\u00a1\u00c2\u00dd_\uc1fd\uda71\udde8E\u00d6\udae5\udf31\u00fd\u2f2a\u00e5\u00f9H\ud9b5\udccbP\u00b6\u0013\u00c4", + "max": "\u00b4\u00b2\u0082\u0000\udbb2\udc9d\u00c0\u00e2\u00a8*\u00fb\ud876\udfa9\u00f2\u008f\u00a4\u0082\u00a1\u00c2\u00dd_\uc1fd\uda71\udde8E\u00d6\udae5\udf31\u00fd\u2f2a\u00e5\u00f9H\ud9b5\udccbP\u00b6\u0013\u00c4", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_empty.json new file mode 100644 index 0000000..ed7d974 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_empty.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:time", + "min": "", + "max": "", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_free_form_text.json new file mode 100644 index 0000000..bdbdfa8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_free_form_text.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:time", + "min": "some free form text", + "max": "some free form text", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_hour_out_of_range.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_hour_out_of_range.json new file mode 100644 index 0000000..2e96d34 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_hour_out_of_range.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:time", + "min": "25:25:10", + "max": "25:25:10", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_invalid_negative_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_invalid_negative_offset.json new file mode 100644 index 0000000..0c93843 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_invalid_negative_offset.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:time", + "min": "21:32:52-15:00", + "max": "21:32:52-15:00", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_invalid_offset_with_seconds.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_invalid_offset_with_seconds.json new file mode 100644 index 0000000..d5b5d07 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_invalid_offset_with_seconds.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:time", + "min": "21:32:52-02:00:12", + "max": "21:32:52-02:00:12", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_invalid_positive_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_invalid_positive_offset.json new file mode 100644 index 0000000..82bdcb0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_invalid_positive_offset.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:time", + "min": "21:32:52+15:00", + "max": "21:32:52+15:00", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_minute_out_of_range.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_minute_out_of_range.json new file mode 100644 index 0000000..71fcfa8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_minute_out_of_range.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:time", + "min": "01:61:10", + "max": "01:61:10", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_missing_padded_zeros.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_missing_padded_zeros.json new file mode 100644 index 0000000..24bcd08 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_missing_padded_zeros.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:time", + "min": "1:20:10", + "max": "1:20:10", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_missing_seconds.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_missing_seconds.json new file mode 100644 index 0000000..a3f6ced --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_missing_seconds.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:time", + "min": "21:32", + "max": "21:32", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_negative.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_negative.json new file mode 100644 index 0000000..35bb922 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_negative.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:time", + "min": "-10:00:00", + "max": "-10:00:00", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_second_out_of_range.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_second_out_of_range.json new file mode 100644 index 0000000..14cd64b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Time_second_out_of_range.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:time", + "min": "01:02:61", + "max": "01:02:61", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_decimal.json new file mode 100644 index 0000000..68d9cfa --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_decimal.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedByte", + "min": "1.2", + "max": "1.2", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_empty.json new file mode 100644 index 0000000..eab6c85 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_empty.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedByte", + "min": "", + "max": "", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_free_form_text.json new file mode 100644 index 0000000..1b4ff74 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_free_form_text.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedByte", + "min": "some free form text", + "max": "some free form text", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_mathematical_formula.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_mathematical_formula.json new file mode 100644 index 0000000..11b988d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_mathematical_formula.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedByte", + "min": "2**5", + "max": "2**5", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_max_plus_one.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_max_plus_one.json new file mode 100644 index 0000000..b856ee3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_max_plus_one.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedByte", + "min": "256", + "max": "256", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_negative.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_negative.json new file mode 100644 index 0000000..794685f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_negative.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedByte", + "min": "-1", + "max": "-1", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_scientific.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_scientific.json new file mode 100644 index 0000000..c6cd772 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_byte_scientific.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedByte", + "min": "1e2", + "max": "1e2", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_decimal.json new file mode 100644 index 0000000..6f4df10 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_decimal.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedInt", + "min": "1.2", + "max": "1.2", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_empty.json new file mode 100644 index 0000000..c720400 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_empty.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedInt", + "min": "", + "max": "", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_free_form_text.json new file mode 100644 index 0000000..66922b1 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_free_form_text.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedInt", + "min": "some free form text", + "max": "some free form text", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_mathematical_formula.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_mathematical_formula.json new file mode 100644 index 0000000..994e9c5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_mathematical_formula.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedInt", + "min": "2**5", + "max": "2**5", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_max_plus_one.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_max_plus_one.json new file mode 100644 index 0000000..f2846fe --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_max_plus_one.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedInt", + "min": "4294967296", + "max": "4294967296", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_negative.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_negative.json new file mode 100644 index 0000000..6ad09fb --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_negative.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedInt", + "min": "-1", + "max": "-1", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_scientific.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_scientific.json new file mode 100644 index 0000000..f5c7f9e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_int_scientific.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedInt", + "min": "1e2", + "max": "1e2", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_decimal.json new file mode 100644 index 0000000..5b7911e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_decimal.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedLong", + "min": "1.2", + "max": "1.2", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_empty.json new file mode 100644 index 0000000..b9e4316 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_empty.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedLong", + "min": "", + "max": "", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_free_form_text.json new file mode 100644 index 0000000..ef25e1d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_free_form_text.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedLong", + "min": "some free form text", + "max": "some free form text", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_mathematical_formula.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_mathematical_formula.json new file mode 100644 index 0000000..de380c8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_mathematical_formula.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedLong", + "min": "2**5", + "max": "2**5", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_max_plus_one.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_max_plus_one.json new file mode 100644 index 0000000..24f3426 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_max_plus_one.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedLong", + "min": "18446744073709551616", + "max": "18446744073709551616", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_negative.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_negative.json new file mode 100644 index 0000000..dddc8e7 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_negative.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedLong", + "min": "-1", + "max": "-1", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_scientific.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_scientific.json new file mode 100644 index 0000000..017e55f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_long_scientific.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedLong", + "min": "1e2", + "max": "1e2", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_decimal.json new file mode 100644 index 0000000..64069b8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_decimal.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedShort", + "min": "1.2", + "max": "1.2", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_empty.json new file mode 100644 index 0000000..6a1061b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_empty.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedShort", + "min": "", + "max": "", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_free_form_text.json new file mode 100644 index 0000000..f2706a8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_free_form_text.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedShort", + "min": "some free form text", + "max": "some free form text", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_mathematical_formula.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_mathematical_formula.json new file mode 100644 index 0000000..43e3bca --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_mathematical_formula.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedShort", + "min": "2**5", + "max": "2**5", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_max_plus_one.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_max_plus_one.json new file mode 100644 index 0000000..ea3af6b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_max_plus_one.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedShort", + "min": "65536", + "max": "65536", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_negative.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_negative.json new file mode 100644 index 0000000..8147c67 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_negative.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedShort", + "min": "-1", + "max": "-1", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_scientific.json b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_scientific.json new file mode 100644 index 0000000..a2dc759 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidRangeExample/Range/Unsigned_short_scientific.json @@ -0,0 +1,6 @@ +{ + "valueType": "xs:unsignedShort", + "min": "1e2", + "max": "1e2", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_01.json new file mode 100644 index 0000000..c790be4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/Any_URI_negatively_fuzzed_01.json @@ -0,0 +1,5 @@ +{ + "name": "\u00db\u0103\u00d2\udb56\udf00L\u00cb)T\u0000\u00ce\u00e7\udaa9\uddcf\udbe1\udf7d\b\u00c0\u00ba\uda5a\udccf\u00ca\u00a08]\udbb2\ude08\u00181D\fY\ud942\udf23A\\\u00ac\u00ef\ud926\udce3\ud958\ude2cc" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_06.json new file mode 100644 index 0000000..e5d82ca --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_06.json @@ -0,0 +1,5 @@ +{ + "name": "\u00db\u0103\u0019\udbd6\udf43\u000e\u00a7\udaba\udddb" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_09.json new file mode 100644 index 0000000..b972cff --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Extension/value/String_negatively_fuzzed_09.json @@ -0,0 +1,5 @@ +{ + "name": "\u00db\u0103\u00d2\udb56\udf00L\u00cb)T\u0000\u00ce\u00e7\udaa9\uddcf\udbe1\udf7d\b\u00c0\u00ba\uda5a\udccf\u00ca\u00a08]\udbb2\ude08\u00181D\fY\ud942\udf23A\\\u00ac\u00ef\ud926\udce3\ud958\ude2cc", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_06.json new file mode 100644 index 0000000..e4c707c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_06.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:string", + "value": "\ud8a9\udf8b\udaa5\udd5f\u00d1\u001c\u00b0\u1f58\u00aaW\uda1d\udc42\u0000\udae8\udf3b", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_07.json new file mode 100644 index 0000000..7c227bc --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_07.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:string", + "value": "\ud937\udf63\u0000'\u001f \ud918\udeacxx\u00cf\u00d6\nwf", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_08.json new file mode 100644 index 0000000..9d1c14b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_08.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:string", + "value": "\udaeb\udd55\ucbbe\u0017\u00d2\u00918\u00a4M\ud898\udcd5\u00d4\u00c5\u0000\r\ud9af\udfa9Zs6\u0012\u00c0>\u0019\udbd6\udf43\u000e\u00a7\udaba\udddb", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_09.json new file mode 100644 index 0000000..d288c32 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_09.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:string", + "value": "\uda69\udd2b\u0012U\u0091\u00f4\u0081\u00f4\u0016\udbef\udc24\udaf4\udc94\u0000", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_10.json new file mode 100644 index 0000000..09b1cf4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/String_negatively_fuzzed_10.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:string", + "value": "\u00b4\u00b2\u0082\u0000\udbb2\udc9d\u00c0\u00e2\u00a8*\u00fb\ud876\udfa9\u00f2\u008f\u00a4\u0082\u00a1\u00c2\u00dd_\uc1fd\uda71\udde8E\u00d6\udae5\udf31\u00fd\u2f2a\u00e5\u00f9H\ud9b5\udccbP\u00b6\u0013\u00c4", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_empty.json new file mode 100644 index 0000000..2135264 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_empty.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:time", + "value": "", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_free_form_text.json new file mode 100644 index 0000000..3260d7e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_free_form_text.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:time", + "value": "some free form text", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_hour_out_of_range.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_hour_out_of_range.json new file mode 100644 index 0000000..46b4796 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_hour_out_of_range.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:time", + "value": "25:25:10", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_invalid_negative_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_invalid_negative_offset.json new file mode 100644 index 0000000..26e3a95 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_invalid_negative_offset.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:time", + "value": "21:32:52-15:00", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_invalid_offset_with_seconds.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_invalid_offset_with_seconds.json new file mode 100644 index 0000000..57cea19 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_invalid_offset_with_seconds.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:time", + "value": "21:32:52-02:00:12", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_invalid_positive_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_invalid_positive_offset.json new file mode 100644 index 0000000..1de7467 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_invalid_positive_offset.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:time", + "value": "21:32:52+15:00", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_minute_out_of_range.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_minute_out_of_range.json new file mode 100644 index 0000000..017f28c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_minute_out_of_range.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:time", + "value": "01:61:10", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_missing_padded_zeros.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_missing_padded_zeros.json new file mode 100644 index 0000000..c276722 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_missing_padded_zeros.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:time", + "value": "1:20:10", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_missing_seconds.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_missing_seconds.json new file mode 100644 index 0000000..2c8ba02 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_missing_seconds.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:time", + "value": "21:32", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_negative.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_negative.json new file mode 100644 index 0000000..4aa8c70 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_negative.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:time", + "value": "-10:00:00", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_second_out_of_range.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_second_out_of_range.json new file mode 100644 index 0000000..3983fcf --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Time_second_out_of_range.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:time", + "value": "01:02:61", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_decimal.json new file mode 100644 index 0000000..174d9a1 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_decimal.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedByte", + "value": "1.2", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_empty.json new file mode 100644 index 0000000..c31788e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_empty.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedByte", + "value": "", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_free_form_text.json new file mode 100644 index 0000000..cc609cc --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_free_form_text.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedByte", + "value": "some free form text", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_mathematical_formula.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_mathematical_formula.json new file mode 100644 index 0000000..8ad99a5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_mathematical_formula.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedByte", + "value": "2**5", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_max_plus_one.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_max_plus_one.json new file mode 100644 index 0000000..fb14960 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_max_plus_one.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedByte", + "value": "256", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_negative.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_negative.json new file mode 100644 index 0000000..fe716c7 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_negative.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedByte", + "value": "-1", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_scientific.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_scientific.json new file mode 100644 index 0000000..0bc49e6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_byte_scientific.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedByte", + "value": "1e2", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_decimal.json new file mode 100644 index 0000000..645b8f6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_decimal.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedInt", + "value": "1.2", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_empty.json new file mode 100644 index 0000000..e737cbc --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_empty.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedInt", + "value": "", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_free_form_text.json new file mode 100644 index 0000000..903c607 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_free_form_text.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedInt", + "value": "some free form text", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_mathematical_formula.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_mathematical_formula.json new file mode 100644 index 0000000..aade783 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_mathematical_formula.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedInt", + "value": "2**5", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_max_plus_one.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_max_plus_one.json new file mode 100644 index 0000000..c59e190 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_max_plus_one.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedInt", + "value": "4294967296", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_negative.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_negative.json new file mode 100644 index 0000000..19b5212 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_negative.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedInt", + "value": "-1", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_scientific.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_scientific.json new file mode 100644 index 0000000..9e7800f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_int_scientific.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedInt", + "value": "1e2", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_decimal.json new file mode 100644 index 0000000..cab7d94 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_decimal.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedLong", + "value": "1.2", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_empty.json new file mode 100644 index 0000000..490e221 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_empty.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedLong", + "value": "", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_free_form_text.json new file mode 100644 index 0000000..5db6752 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_free_form_text.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedLong", + "value": "some free form text", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_mathematical_formula.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_mathematical_formula.json new file mode 100644 index 0000000..2ccc069 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_mathematical_formula.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedLong", + "value": "2**5", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_max_plus_one.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_max_plus_one.json new file mode 100644 index 0000000..7c73b3c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_max_plus_one.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedLong", + "value": "18446744073709551616", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_negative.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_negative.json new file mode 100644 index 0000000..6473252 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_negative.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedLong", + "value": "-1", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_scientific.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_scientific.json new file mode 100644 index 0000000..74a549b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_long_scientific.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedLong", + "value": "1e2", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_decimal.json new file mode 100644 index 0000000..b658b49 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_decimal.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedShort", + "value": "1.2", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_empty.json new file mode 100644 index 0000000..08895ed --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_empty.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedShort", + "value": "", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_free_form_text.json new file mode 100644 index 0000000..9777f7c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_free_form_text.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedShort", + "value": "some free form text", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_mathematical_formula.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_mathematical_formula.json new file mode 100644 index 0000000..561b0e8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_mathematical_formula.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedShort", + "value": "2**5", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_max_plus_one.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_max_plus_one.json new file mode 100644 index 0000000..fccf518 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_max_plus_one.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedShort", + "value": "65536", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_negative.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_negative.json new file mode 100644 index 0000000..ae19c36 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_negative.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedShort", + "value": "-1", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_scientific.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_scientific.json new file mode 100644 index 0000000..0599415 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Property/value/Unsigned_short_scientific.json @@ -0,0 +1,5 @@ +{ + "valueType": "xs:unsignedShort", + "value": "1e2", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_01.json new file mode 100644 index 0000000..1bb168c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_01.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:anyURI", + "value": "``" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_02.json new file mode 100644 index 0000000..85627f5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_02.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:anyURI", + "value": "yE;\u009a\u00b6)\u00c6\u00acfQ\u0013\u00a7A\uda1d\udded\u00a9\ud811\ude75\u008a\ud8b0\udc40" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_03.json new file mode 100644 index 0000000..5be7ea5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_03.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:anyURI", + "value": "W:\ud842\uddb3\u0013\u008f\u00a89\u0083" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_04.json new file mode 100644 index 0000000..a8f6f29 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_04.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:anyURI", + "value": "''1\u0083\ud802\uddc2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_05.json new file mode 100644 index 0000000..8308f24 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_05.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:anyURI", + "value": "''\u00ff\udbe3\udc1a\uc3b8\u00c8\u00ba\u00ab\u00d9" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_06.json new file mode 100644 index 0000000..e766b85 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_06.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:anyURI", + "value": "`0" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_07.json new file mode 100644 index 0000000..2d04489 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_07.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:anyURI", + "value": "\u00d4\u00b7\u00d9\u009f\udae3\ude74\u00bb\u0006\u00d4#\u0014FB\u00c9\u00db\u00cd~O" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_08.json new file mode 100644 index 0000000..a87fb23 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_08.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:anyURI", + "value": "\ud8e8\ude54\u0005\u00bf." +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_09.json new file mode 100644 index 0000000..7f95bc9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_09.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:anyURI", + "value": "\ua72c\u5000\uda92\udff8\u00bd\u00bc\u0000\u00ec\t\u00ba;\u00cf\ud9d1\udfb7w\u0097\uda83\uddd9D\ud855\ude4c\u00ba|" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_10.json new file mode 100644 index 0000000..6eaf722 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_negatively_fuzzed_10.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:anyURI", + "value": "\u0097L\u00f9\u00d9" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.json new file mode 100644 index 0000000..8a11362 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:anyURI", + "value": "http://datypic.com#f% rag" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_too_many_fragments.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_too_many_fragments.json new file mode 100644 index 0000000..1d4f417 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Any_URI_too_many_fragments.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:anyURI", + "value": "http://datypic.com#frag1#frag2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.json new file mode 100644 index 0000000..b9e01c0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:base64Binary", + "value": "FB8" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.json new file mode 100644 index 0000000..901ad97 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:base64Binary", + "value": "==0F" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_01.json new file mode 100644 index 0000000..00b7d86 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_01.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:base64Binary", + "value": "\u00a9l\u00b7\u008e\u00cc\ud843\ude04T\u0019\u00d8\u001agd\u00a56Z\u00c4" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_02.json new file mode 100644 index 0000000..d8e9392 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_02.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:base64Binary", + "value": "1\ud804\udc98\u001a\u00a0\u00b4`\ud859\udf99\u00d9\u009b\u00c3\u008a" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_03.json new file mode 100644 index 0000000..698d457 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_03.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:base64Binary", + "value": "#/" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_04.json new file mode 100644 index 0000000..1156e12 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_04.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:base64Binary", + "value": "0" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_05.json new file mode 100644 index 0000000..8d0a133 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_05.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:base64Binary", + "value": "\uda51\udf88\u00a0\ud99e\ude4e\ud943\udd14\u00fa" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_06.json new file mode 100644 index 0000000..b9aaea2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_06.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:base64Binary", + "value": "]]P" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_07.json new file mode 100644 index 0000000..717462e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_07.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:base64Binary", + "value": "\u020f\u00aeBFo^\u000e\u7f73\u00d8" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_08.json new file mode 100644 index 0000000..32b89bb --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_08.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:base64Binary", + "value": "\u00ed" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_09.json new file mode 100644 index 0000000..ad1ea3e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_09.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:base64Binary", + "value": "\ud917\udd62C\u00ad\u0006\u0002\u00daH\u0097\u00d4" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_10.json new file mode 100644 index 0000000..fcb9cd3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Base_64_binary_negatively_fuzzed_10.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:base64Binary", + "value": "\u0082" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_false_as_number_with_leading_zeros.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_false_as_number_with_leading_zeros.json new file mode 100644 index 0000000..7aa13a1 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_false_as_number_with_leading_zeros.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:boolean", + "value": "0000" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_false_in_camelcase.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_false_in_camelcase.json new file mode 100644 index 0000000..a88aeb2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_false_in_camelcase.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:boolean", + "value": "False" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_false_in_uppercase.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_false_in_uppercase.json new file mode 100644 index 0000000..712b9fc --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_false_in_uppercase.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:boolean", + "value": "FALSE" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_01.json new file mode 100644 index 0000000..c0d5566 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_01.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:boolean", + "value": "\udab0\udd61\udb28\ude326\udb28\ude32" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_02.json new file mode 100644 index 0000000..8bbdcea --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_02.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:boolean", + "value": "/\ud9a1\udfef\u0082\u00bbu\u00ce\u00c3#\u00f6\u00da\u00b8\u001d\u00d4\udaff\udd24\u001e" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_03.json new file mode 100644 index 0000000..07d5780 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_03.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:boolean", + "value": "\ud896\udff4" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_04.json new file mode 100644 index 0000000..61371b8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_04.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:boolean", + "value": "1\u00d1\u00af\u00e3\u00ac]\u001a\u00e4" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_05.json new file mode 100644 index 0000000..e0ae764 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_05.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:boolean", + "value": "\u2007\u00ba\ud8f2\udffdn" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_06.json new file mode 100644 index 0000000..ad6747d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_06.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:boolean", + "value": "\u00b9\u00bd\u00174x|\ud18e\u00ac\u00a7T\ud98e\udc18" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_07.json new file mode 100644 index 0000000..b42084d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_07.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:boolean", + "value": "\ud805\udf70\ud8ea\udcafZ5\u001b \udbd5\udfb3\u00eb{\u00c2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_08.json new file mode 100644 index 0000000..9583cb0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_08.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:boolean", + "value": "\uda53\udff6n\u0011" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_09.json new file mode 100644 index 0000000..824a0ee --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_09.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:boolean", + "value": "\u00ad\ud93a\udc2b\ud88e\udce2WX\u001b" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_10.json new file mode 100644 index 0000000..bdad0aa --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_negatively_fuzzed_10.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:boolean", + "value": "\uda6b\ude0fza\ud89a\udcbb\u0089" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_true_as_number_with_leading_zeros.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_true_as_number_with_leading_zeros.json new file mode 100644 index 0000000..dfd4249 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_true_as_number_with_leading_zeros.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:boolean", + "value": "0001" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_true_in_camelcase.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_true_in_camelcase.json new file mode 100644 index 0000000..af92eb4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_true_in_camelcase.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:boolean", + "value": "True" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_true_in_uppercase.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_true_in_uppercase.json new file mode 100644 index 0000000..a1df6f7 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Boolean_true_in_uppercase.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:boolean", + "value": "TRUE" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_decimal.json new file mode 100644 index 0000000..59f23d7 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_decimal.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:byte", + "value": "1.2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_empty.json new file mode 100644 index 0000000..594992e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:byte", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_free_form_text.json new file mode 100644 index 0000000..e1ad0a0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:byte", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_mathematical_formula.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_mathematical_formula.json new file mode 100644 index 0000000..7830723 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_mathematical_formula.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:byte", + "value": "2**5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_max_plus_one.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_max_plus_one.json new file mode 100644 index 0000000..9ad7423 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_max_plus_one.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:byte", + "value": "128" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_min_minus_one.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_min_minus_one.json new file mode 100644 index 0000000..7437743 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_min_minus_one.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:byte", + "value": "-129" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_scientific.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_scientific.json new file mode 100644 index 0000000..9337bd6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Byte_scientific.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:byte", + "value": "1e2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_time_with_UTC.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_time_with_UTC.json new file mode 100644 index 0000000..7987a8e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_time_with_UTC.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:date", + "value": "2022-04-01T01:02:03Z" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_time_with_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_time_with_offset.json new file mode 100644 index 0000000..6c6e242 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_time_with_offset.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:date", + "value": "2022-04-01T01:02:03+02:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_time_without_zone.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_time_without_zone.json new file mode 100644 index 0000000..1f4bd54 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_time_without_zone.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:date", + "value": "2022-04-01T01:02:03" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_with_invalid_negative_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_with_invalid_negative_offset.json new file mode 100644 index 0000000..ff1524e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_with_invalid_negative_offset.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:date", + "value": "2022-04-01-15:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_with_invalid_positive_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_with_invalid_positive_offset.json new file mode 100644 index 0000000..57d4c4d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_with_invalid_positive_offset.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:date", + "value": "2022-04-01+15:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_with_seconds_in_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_with_seconds_in_offset.json new file mode 100644 index 0000000..90c616f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_date_with_seconds_in_offset.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:date", + "value": "2022-04-01+02:00:12" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_empty.json new file mode 100644 index 0000000..16498b2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:date", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_non_existing_february_29th.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_non_existing_february_29th.json new file mode 100644 index 0000000..f3a54f1 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_non_existing_february_29th.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:date", + "value": "2011-02-29" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date.json new file mode 100644 index 0000000..da131a9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:dateTime", + "value": "2022-04-01" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_invalid_negative_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_invalid_negative_offset.json new file mode 100644 index 0000000..b308c63 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_invalid_negative_offset.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:dateTime", + "value": "2022-04-01T01:02:03-15:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_invalid_positive_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_invalid_positive_offset.json new file mode 100644 index 0000000..43ae7ef --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_invalid_positive_offset.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:dateTime", + "value": "2022-04-01T01:02:03+15:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_seconds_in_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_seconds_in_offset.json new file mode 100644 index 0000000..b37cb31 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_seconds_in_offset.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:dateTime", + "value": "2022-04-01T01:02:03+02:00:12" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_unexpected_prefix.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_unexpected_prefix.json new file mode 100644 index 0000000..f17eee9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_unexpected_prefix.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:dateTime", + "value": "unexpected-prefix-2022-04-01T01:02:03Z" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_unexpected_suffix.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_unexpected_suffix.json new file mode 100644 index 0000000..f515f9d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_time_with_unexpected_suffix.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:dateTime", + "value": "2022-04-01T01:02:03Z-unexpected-suffix" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_with_time_zone.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_with_time_zone.json new file mode 100644 index 0000000..141c01a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_date_with_time_zone.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:dateTime", + "value": "2022-04-01Z" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_empty.json new file mode 100644 index 0000000..fc5baaa --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:dateTime", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_non_existing_february_29th.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_non_existing_february_29th.json new file mode 100644 index 0000000..295358c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_non_existing_february_29th.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:dateTime", + "value": "2011-02-29T01:02:03Z" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_without_minutes.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_without_minutes.json new file mode 100644 index 0000000..6d28f1b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_without_minutes.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:dateTime", + "value": "2022-04-01T01Z" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_without_seconds.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_without_seconds.json new file mode 100644 index 0000000..b259a6c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_without_seconds.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:dateTime", + "value": "2022-04-01T01:02Z" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_year_4_bce_february_29th.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_year_4_bce_february_29th.json new file mode 100644 index 0000000..32e39cf --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_year_4_bce_february_29th.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:dateTime", + "value": "-0004-02-29T01:02:03" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_year_zero_doesnt_exist.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_year_zero_doesnt_exist.json new file mode 100644 index 0000000..fec6def --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_time_year_zero_doesnt_exist.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:dateTime", + "value": "0000-01-02T01:02:03" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_year_4_bce_february_29th.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_year_4_bce_february_29th.json new file mode 100644 index 0000000..dad37ac --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_year_4_bce_february_29th.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:date", + "value": "-0004-02-29" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_year_zero_doesnt_exist.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_year_zero_doesnt_exist.json new file mode 100644 index 0000000..b2fd4ad --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Date_year_zero_doesnt_exist.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:date", + "value": "0000-01-02" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Decimal_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Decimal_empty.json new file mode 100644 index 0000000..2938e61 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Decimal_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:decimal", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Decimal_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Decimal_free_form_text.json new file mode 100644 index 0000000..fada110 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Decimal_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:decimal", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_empty.json new file mode 100644 index 0000000..75e369d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:double", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_free_form_text.json new file mode 100644 index 0000000..a15382e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:double", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_inf_case_matters.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_inf_case_matters.json new file mode 100644 index 0000000..53526ea --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_inf_case_matters.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:double", + "value": "inf" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_nan_case_matters.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_nan_case_matters.json new file mode 100644 index 0000000..3761f7f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_nan_case_matters.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:double", + "value": "nan" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_no_fraction_in_scientific_notation.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_no_fraction_in_scientific_notation.json new file mode 100644 index 0000000..54f3d40 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_no_fraction_in_scientific_notation.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:double", + "value": "12.34e5.6" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_plus_inf.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_plus_inf.json new file mode 100644 index 0000000..c0b3f00 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_plus_inf.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:double", + "value": "+INF" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_too_large.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_too_large.json new file mode 100644 index 0000000..b891668 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Double_too_large.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:double", + "value": "1.123456789e1234567890" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_empty.json new file mode 100644 index 0000000..c85992e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:duration", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_free_form_text.json new file mode 100644 index 0000000..ef16dbd --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:duration", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_integer.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_integer.json new file mode 100644 index 0000000..e7ee03a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_integer.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:duration", + "value": "1234" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_leading_P_missing.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_leading_P_missing.json new file mode 100644 index 0000000..03b6ae7 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_leading_P_missing.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:duration", + "value": "1Y" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_negative_years.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_negative_years.json new file mode 100644 index 0000000..9e64170 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_negative_years.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:duration", + "value": "P-1Y" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_positive_year_negative_months.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_positive_year_negative_months.json new file mode 100644 index 0000000..61d42fb --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_positive_year_negative_months.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:duration", + "value": "P1Y-1M" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_separator_T_missing.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_separator_T_missing.json new file mode 100644 index 0000000..ce57706 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_separator_T_missing.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:duration", + "value": "P1S" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_the_order_matters.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_the_order_matters.json new file mode 100644 index 0000000..43dadc2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Duration_the_order_matters.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:duration", + "value": "P1M2Y" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_empty.json new file mode 100644 index 0000000..578894f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:float", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_free_form_text.json new file mode 100644 index 0000000..f66c330 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:float", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_inf_case_matters.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_inf_case_matters.json new file mode 100644 index 0000000..eecbad0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_inf_case_matters.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:float", + "value": "inf" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_nan_case_matters.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_nan_case_matters.json new file mode 100644 index 0000000..3dc9dd7 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_nan_case_matters.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:float", + "value": "nan" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_no_fraction_in_scientific_notation.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_no_fraction_in_scientific_notation.json new file mode 100644 index 0000000..7081b17 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_no_fraction_in_scientific_notation.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:float", + "value": "12.34e5.6" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_plus_inf.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_plus_inf.json new file mode 100644 index 0000000..bfe9214 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_plus_inf.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:float", + "value": "+INF" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_too_large.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_too_large.json new file mode 100644 index 0000000..fa5aa66 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Float_too_large.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:float", + "value": "1.123456789e1234567890" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_day_outside_of_range.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_day_outside_of_range.json new file mode 100644 index 0000000..a16478e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_day_outside_of_range.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gDay", + "value": "---35" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_empty.json new file mode 100644 index 0000000..4b0bc89 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gDay", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_free_form_text.json new file mode 100644 index 0000000..da853b1 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gDay", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_invalid_negative_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_invalid_negative_offset.json new file mode 100644 index 0000000..6c78d53 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_invalid_negative_offset.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gDay", + "value": "---01-15:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_invalid_offset_with_seconds.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_invalid_offset_with_seconds.json new file mode 100644 index 0000000..60902b3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_invalid_offset_with_seconds.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gDay", + "value": "---01+15:00:12" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_invalid_positive_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_invalid_positive_offset.json new file mode 100644 index 0000000..ae7f1a9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_invalid_positive_offset.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gDay", + "value": "---01+15:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_missing_leading_dashes.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_missing_leading_dashes.json new file mode 100644 index 0000000..8d10763 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_missing_leading_dashes.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gDay", + "value": "15" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_missing_leading_digit.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_missing_leading_digit.json new file mode 100644 index 0000000..138fa4f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_missing_leading_digit.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gDay", + "value": "---5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_unexpected_suffix.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_unexpected_suffix.json new file mode 100644 index 0000000..427c0bf --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_day_unexpected_suffix.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gDay", + "value": "--30-" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_day_outside_of_range.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_day_outside_of_range.json new file mode 100644 index 0000000..f6d31e2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_day_outside_of_range.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gMonthDay", + "value": "--01-35" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_empty.json new file mode 100644 index 0000000..9d9e4d9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gMonthDay", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_free_form_text.json new file mode 100644 index 0000000..48dd5b2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gMonthDay", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_invalid_negative_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_invalid_negative_offset.json new file mode 100644 index 0000000..1c610bd --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_invalid_negative_offset.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gMonthDay", + "value": "--11-01-15:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_invalid_offset_with_seconds.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_invalid_offset_with_seconds.json new file mode 100644 index 0000000..57e40fd --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_invalid_offset_with_seconds.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gMonthDay", + "value": "--11-01+02:00:12" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_invalid_positive_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_invalid_positive_offset.json new file mode 100644 index 0000000..4078766 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_invalid_positive_offset.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gMonthDay", + "value": "--11-01+15:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_missing_leading_dashes.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_missing_leading_dashes.json new file mode 100644 index 0000000..0f9046f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_missing_leading_dashes.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gMonthDay", + "value": "01-15" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_missing_leading_digit.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_missing_leading_digit.json new file mode 100644 index 0000000..8dde27a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_missing_leading_digit.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gMonthDay", + "value": "--1-5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_non_existing_april_31st.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_non_existing_april_31st.json new file mode 100644 index 0000000..693747a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_non_existing_april_31st.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gMonthDay", + "value": "--04-31" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_unexpected_prefix_and_suffix.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_unexpected_prefix_and_suffix.json new file mode 100644 index 0000000..25677f9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_day_unexpected_prefix_and_suffix.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gMonthDay", + "value": "-01-30-" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_empty.json new file mode 100644 index 0000000..bc02d2b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gMonth", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_free_form_text.json new file mode 100644 index 0000000..bec5e4e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gMonth", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_invalid_negative_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_invalid_negative_offset.json new file mode 100644 index 0000000..5f3a4ed --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_invalid_negative_offset.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gMonth", + "value": "--11-15:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_invalid_offset_with_seconds.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_invalid_offset_with_seconds.json new file mode 100644 index 0000000..ccd5071 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_invalid_offset_with_seconds.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gMonth", + "value": "--11+02:00:12" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_invalid_positive_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_invalid_positive_offset.json new file mode 100644 index 0000000..57762c1 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_invalid_positive_offset.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gMonth", + "value": "--11+15:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_missing_leading_dashes.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_missing_leading_dashes.json new file mode 100644 index 0000000..b25f422 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_missing_leading_dashes.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gMonth", + "value": "01" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_missing_leading_digit.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_missing_leading_digit.json new file mode 100644 index 0000000..0a14f70 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_missing_leading_digit.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gMonth", + "value": "--1" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_month_outside_of_range.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_month_outside_of_range.json new file mode 100644 index 0000000..d16520d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_month_outside_of_range.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gMonth", + "value": "--13" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_unexpected_prefix_and_suffix.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_unexpected_prefix_and_suffix.json new file mode 100644 index 0000000..cee0d56 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_month_unexpected_prefix_and_suffix.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gMonth", + "value": "-01-" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_empty.json new file mode 100644 index 0000000..7308e5e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gYear", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_free_form_text.json new file mode 100644 index 0000000..641f8ac --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gYear", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_invalid_negative_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_invalid_negative_offset.json new file mode 100644 index 0000000..0cb7173 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_invalid_negative_offset.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gYear", + "value": "2001-15:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_invalid_offset_with_seconds.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_invalid_offset_with_seconds.json new file mode 100644 index 0000000..62a7209 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_invalid_offset_with_seconds.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gYear", + "value": "2001+02:00:12" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_invalid_positive_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_invalid_positive_offset.json new file mode 100644 index 0000000..ef66df6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_invalid_positive_offset.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gYear", + "value": "2001+15:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_missing_century.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_missing_century.json new file mode 100644 index 0000000..b20be35 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_missing_century.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gYear", + "value": "01" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_empty.json new file mode 100644 index 0000000..009bb10 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gYearMonth", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_free_form_text.json new file mode 100644 index 0000000..0d00578 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gYearMonth", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_invalid_negative_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_invalid_negative_offset.json new file mode 100644 index 0000000..84a41f5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_invalid_negative_offset.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gYearMonth", + "value": "2001-10-15:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_invalid_offset_with_seconds.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_invalid_offset_with_seconds.json new file mode 100644 index 0000000..2e8a904 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_invalid_offset_with_seconds.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gYearMonth", + "value": "2001-10+02:00:12" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_invalid_positive_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_invalid_positive_offset.json new file mode 100644 index 0000000..f23a2af --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_invalid_positive_offset.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gYearMonth", + "value": "2001-10+15:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_missing_century.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_missing_century.json new file mode 100644 index 0000000..5e96f0a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_missing_century.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gYearMonth", + "value": "01-13" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_missing_month.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_missing_month.json new file mode 100644 index 0000000..3b17e45 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_missing_month.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gYearMonth", + "value": "2001" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_month_out_of_range.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_month_out_of_range.json new file mode 100644 index 0000000..2d6405f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_month_month_out_of_range.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gYearMonth", + "value": "2001-13" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_unexpected_month.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_unexpected_month.json new file mode 100644 index 0000000..3d630cd --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/G_year_unexpected_month.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:gYear", + "value": "2001-12" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Hex_binary_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Hex_binary_free_form_text.json new file mode 100644 index 0000000..3da9679 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Hex_binary_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:hexBinary", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Hex_binary_odd_number_of_digits.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Hex_binary_odd_number_of_digits.json new file mode 100644 index 0000000..e7638bb --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Hex_binary_odd_number_of_digits.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:hexBinary", + "value": "123" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Hex_binary_single_digit.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Hex_binary_single_digit.json new file mode 100644 index 0000000..aad2334 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Hex_binary_single_digit.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:hexBinary", + "value": "1" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_decimal.json new file mode 100644 index 0000000..76903dd --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_decimal.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:int", + "value": "1.2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_empty.json new file mode 100644 index 0000000..22a9d81 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:int", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_free_form_text.json new file mode 100644 index 0000000..29638a0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:int", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_mathematical_formula.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_mathematical_formula.json new file mode 100644 index 0000000..d412543 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_mathematical_formula.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:int", + "value": "2**5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_max_plus_one.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_max_plus_one.json new file mode 100644 index 0000000..a2b69c3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_max_plus_one.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:int", + "value": "2147483648" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_min_minus_one.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_min_minus_one.json new file mode 100644 index 0000000..00f5c78 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_min_minus_one.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:int", + "value": "-2147483649" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_scientific.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_scientific.json new file mode 100644 index 0000000..4b209e8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Int_scientific.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:int", + "value": "1e2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_decimal.json new file mode 100644 index 0000000..c3289e6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_decimal.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:integer", + "value": "1.2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_empty.json new file mode 100644 index 0000000..a3cdcea --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:integer", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_free_form_text.json new file mode 100644 index 0000000..4f4ad28 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:integer", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_mathematical_formula.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_mathematical_formula.json new file mode 100644 index 0000000..34e4393 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_mathematical_formula.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:integer", + "value": "2**5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_scientific.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_scientific.json new file mode 100644 index 0000000..b4e7311 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Integer_scientific.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:integer", + "value": "1e2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_decimal.json new file mode 100644 index 0000000..d1425e9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_decimal.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:long", + "value": "1.2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_empty.json new file mode 100644 index 0000000..bc6cfb8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:long", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_free_form_text.json new file mode 100644 index 0000000..b55e471 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:long", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_mathematical_formula.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_mathematical_formula.json new file mode 100644 index 0000000..974fb58 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_mathematical_formula.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:long", + "value": "2**5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_max_plus_one.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_max_plus_one.json new file mode 100644 index 0000000..62253c4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_max_plus_one.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:long", + "value": "9223372036854775808" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_min_minus_one.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_min_minus_one.json new file mode 100644 index 0000000..8f4952e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_min_minus_one.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:long", + "value": "-9223372036854775809" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_scientific.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_scientific.json new file mode 100644 index 0000000..4f03717 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Long_scientific.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:long", + "value": "1e2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_decimal.json new file mode 100644 index 0000000..474f1bc --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_decimal.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:negativeInteger", + "value": "1.2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_empty.json new file mode 100644 index 0000000..468a0b8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:negativeInteger", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_explicitly_positive.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_explicitly_positive.json new file mode 100644 index 0000000..e19d4f0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_explicitly_positive.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:negativeInteger", + "value": "+1" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_explicitly_positive_zero.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_explicitly_positive_zero.json new file mode 100644 index 0000000..a3f7951 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_explicitly_positive_zero.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:negativeInteger", + "value": "+0" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_free_form_text.json new file mode 100644 index 0000000..794893a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:negativeInteger", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_implicitly_positive.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_implicitly_positive.json new file mode 100644 index 0000000..dba2195 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_implicitly_positive.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:negativeInteger", + "value": "1" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_mathematical_formula.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_mathematical_formula.json new file mode 100644 index 0000000..a9e42b0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_mathematical_formula.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:negativeInteger", + "value": "-2**5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_scientific.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_scientific.json new file mode 100644 index 0000000..76cad20 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_scientific.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:negativeInteger", + "value": "-1e2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_zero.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_zero.json new file mode 100644 index 0000000..f8abc48 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_zero.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:negativeInteger", + "value": "0" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_zero_prefixed_with_zeros.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_zero_prefixed_with_zeros.json new file mode 100644 index 0000000..77aa41f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Negative_integer_zero_prefixed_with_zeros.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:negativeInteger", + "value": "000" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_negative_integer_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_negative_integer_decimal.json new file mode 100644 index 0000000..1ca481d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_negative_integer_decimal.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:nonNegativeInteger", + "value": "1.2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_negative_integer_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_negative_integer_empty.json new file mode 100644 index 0000000..5d584e0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_negative_integer_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:nonNegativeInteger", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_negative_integer_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_negative_integer_free_form_text.json new file mode 100644 index 0000000..07e3788 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_negative_integer_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:nonNegativeInteger", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_negative_integer_negative.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_negative_integer_negative.json new file mode 100644 index 0000000..76a4f1a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_negative_integer_negative.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:nonNegativeInteger", + "value": "-1" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_decimal.json new file mode 100644 index 0000000..3809c7c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_decimal.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:nonPositiveInteger", + "value": "1.2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_empty.json new file mode 100644 index 0000000..2962c3b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:nonPositiveInteger", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_explicitly_positive.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_explicitly_positive.json new file mode 100644 index 0000000..2ccdcbd --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_explicitly_positive.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:nonPositiveInteger", + "value": "+1" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_free_form_text.json new file mode 100644 index 0000000..6e4e456 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:nonPositiveInteger", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_implicitly_positive.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_implicitly_positive.json new file mode 100644 index 0000000..924ec46 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_implicitly_positive.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:nonPositiveInteger", + "value": "1" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_mathematical_formula.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_mathematical_formula.json new file mode 100644 index 0000000..3acbc96 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_mathematical_formula.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:nonPositiveInteger", + "value": "-2**5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_scientific.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_scientific.json new file mode 100644 index 0000000..506632d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Non_positive_integer_scientific.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:nonPositiveInteger", + "value": "-1e2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_decimal.json new file mode 100644 index 0000000..e779df9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_decimal.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:positiveInteger", + "value": "1.2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_empty.json new file mode 100644 index 0000000..c3f0f60 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:positiveInteger", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_free_form_text.json new file mode 100644 index 0000000..839d66c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:positiveInteger", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_negative.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_negative.json new file mode 100644 index 0000000..d961651 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_negative.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:positiveInteger", + "value": "-1" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_zero.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_zero.json new file mode 100644 index 0000000..0747cba --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_zero.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:positiveInteger", + "value": "0" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_zero_prefixed_with_zeros.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_zero_prefixed_with_zeros.json new file mode 100644 index 0000000..c8cb047 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Positive_integer_zero_prefixed_with_zeros.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:positiveInteger", + "value": "000" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_decimal.json new file mode 100644 index 0000000..43b930e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_decimal.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:short", + "value": "1.2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_empty.json new file mode 100644 index 0000000..f5d0dc9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:short", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_free_form_text.json new file mode 100644 index 0000000..cbce197 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:short", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_mathematical_formula.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_mathematical_formula.json new file mode 100644 index 0000000..4c0338d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_mathematical_formula.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:short", + "value": "2**5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_max_plus_one.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_max_plus_one.json new file mode 100644 index 0000000..afc7219 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_max_plus_one.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:short", + "value": "32768" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_min_minus_one.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_min_minus_one.json new file mode 100644 index 0000000..43cefd0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_min_minus_one.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:short", + "value": "-32769" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_scientific.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_scientific.json new file mode 100644 index 0000000..59e3f0d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Short_scientific.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:short", + "value": "1e2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_NUL_as_utf16.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_NUL_as_utf16.json new file mode 100644 index 0000000..085f1e4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_NUL_as_utf16.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:string", + "value": "\u0000" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_NUL_as_utf32.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_NUL_as_utf32.json new file mode 100644 index 0000000..085f1e4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_NUL_as_utf32.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:string", + "value": "\u0000" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_NUL_as_x.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_NUL_as_x.json new file mode 100644 index 0000000..085f1e4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_NUL_as_x.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:string", + "value": "\u0000" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_01.json new file mode 100644 index 0000000..0a97f29 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_01.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:string", + "value": "\u6472\u0000\u00c0\u0012V\u00ea\u00ec\u00ea\u00b8\u00b4\u00e7;\udb28\udd89\u00ce\u008bOsJB\u00f4" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_02.json new file mode 100644 index 0000000..6446f89 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_02.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:string", + "value": "@\u00ddJ\u00a6\u0000\uda2b\udfb6\u00f5\ud8fd\udf75\ud801\udc90}" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_03.json new file mode 100644 index 0000000..a1c7c5d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_03.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:string", + "value": "\u0091\u00c8\u00ca\u0000\ud826\udfec" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_04.json new file mode 100644 index 0000000..55f2ec4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_04.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:string", + "value": "\udbd3\ude86\u0000R\t-8^" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_05.json new file mode 100644 index 0000000..ee9352c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_05.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:string", + "value": "\u0015>\u00d2\udb56\udf00L\u00cb)T\u0000\u00ce\u00e7\udaa9\uddcf\udbe1\udf7d\b\u00c0\u00ba\uda5a\udccf\u00ca\u00a08]\udbb2\ude08\u00181D\fY\ud942\udf23A\\\u00ac\u00ef\ud926\udce3\ud958\ude2cc" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_06.json new file mode 100644 index 0000000..26d157e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_06.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:string", + "value": "\ud8a9\udf8b\udaa5\udd5f\u00d1\u001c\u00b0\u1f58\u00aaW\uda1d\udc42\u0000\udae8\udf3b" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_07.json new file mode 100644 index 0000000..de2c135 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_07.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:string", + "value": "\ud937\udf63\u0000'\u001f \ud918\udeacxx\u00cf\u00d6\nwf" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_08.json new file mode 100644 index 0000000..4c5ccf5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_08.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:string", + "value": "\udaeb\udd55\ucbbe\u0017\u00d2\u00918\u00a4M\ud898\udcd5\u00d4\u00c5\u0000\r\ud9af\udfa9Zs6\u0012\u00c0>\u0019\udbd6\udf43\u000e\u00a7\udaba\udddb" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_09.json new file mode 100644 index 0000000..e45759a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_09.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:string", + "value": "\uda69\udd2b\u0012U\u0091\u00f4\u0081\u00f4\u0016\udbef\udc24\udaf4\udc94\u0000" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_10.json new file mode 100644 index 0000000..3a8adb7 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/String_negatively_fuzzed_10.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:string", + "value": "\u00b4\u00b2\u0082\u0000\udbb2\udc9d\u00c0\u00e2\u00a8*\u00fb\ud876\udfa9\u00f2\u008f\u00a4\u0082\u00a1\u00c2\u00dd_\uc1fd\uda71\udde8E\u00d6\udae5\udf31\u00fd\u2f2a\u00e5\u00f9H\ud9b5\udccbP\u00b6\u0013\u00c4" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_empty.json new file mode 100644 index 0000000..6546d5c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:time", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_free_form_text.json new file mode 100644 index 0000000..d487984 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:time", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_hour_out_of_range.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_hour_out_of_range.json new file mode 100644 index 0000000..aa20941 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_hour_out_of_range.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:time", + "value": "25:25:10" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_invalid_negative_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_invalid_negative_offset.json new file mode 100644 index 0000000..9268bea --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_invalid_negative_offset.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:time", + "value": "21:32:52-15:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_invalid_offset_with_seconds.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_invalid_offset_with_seconds.json new file mode 100644 index 0000000..8ee19ff --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_invalid_offset_with_seconds.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:time", + "value": "21:32:52-02:00:12" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_invalid_positive_offset.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_invalid_positive_offset.json new file mode 100644 index 0000000..5d963fb --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_invalid_positive_offset.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:time", + "value": "21:32:52+15:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_minute_out_of_range.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_minute_out_of_range.json new file mode 100644 index 0000000..bb5d26b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_minute_out_of_range.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:time", + "value": "01:61:10" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_missing_padded_zeros.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_missing_padded_zeros.json new file mode 100644 index 0000000..f34dc2c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_missing_padded_zeros.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:time", + "value": "1:20:10" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_missing_seconds.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_missing_seconds.json new file mode 100644 index 0000000..24cd08b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_missing_seconds.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:time", + "value": "21:32" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_negative.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_negative.json new file mode 100644 index 0000000..a326aed --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_negative.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:time", + "value": "-10:00:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_second_out_of_range.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_second_out_of_range.json new file mode 100644 index 0000000..fe8d66f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Time_second_out_of_range.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:time", + "value": "01:02:61" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_decimal.json new file mode 100644 index 0000000..4e31abf --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_decimal.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedByte", + "value": "1.2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_empty.json new file mode 100644 index 0000000..90aeb83 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedByte", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_free_form_text.json new file mode 100644 index 0000000..d54652d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedByte", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_mathematical_formula.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_mathematical_formula.json new file mode 100644 index 0000000..23b4557 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_mathematical_formula.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedByte", + "value": "2**5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_max_plus_one.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_max_plus_one.json new file mode 100644 index 0000000..eac3134 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_max_plus_one.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedByte", + "value": "256" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_negative.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_negative.json new file mode 100644 index 0000000..440701e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_negative.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedByte", + "value": "-1" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_scientific.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_scientific.json new file mode 100644 index 0000000..701c22f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_byte_scientific.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedByte", + "value": "1e2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_decimal.json new file mode 100644 index 0000000..3d5a451 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_decimal.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedInt", + "value": "1.2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_empty.json new file mode 100644 index 0000000..fcd2209 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedInt", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_free_form_text.json new file mode 100644 index 0000000..8310b62 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedInt", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_mathematical_formula.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_mathematical_formula.json new file mode 100644 index 0000000..517ad19 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_mathematical_formula.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedInt", + "value": "2**5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_max_plus_one.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_max_plus_one.json new file mode 100644 index 0000000..8e20a74 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_max_plus_one.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedInt", + "value": "4294967296" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_negative.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_negative.json new file mode 100644 index 0000000..f954762 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_negative.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedInt", + "value": "-1" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_scientific.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_scientific.json new file mode 100644 index 0000000..50e757e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_int_scientific.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedInt", + "value": "1e2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_decimal.json new file mode 100644 index 0000000..6ad7086 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_decimal.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedLong", + "value": "1.2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_empty.json new file mode 100644 index 0000000..66050a6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedLong", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_free_form_text.json new file mode 100644 index 0000000..2be399a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedLong", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_mathematical_formula.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_mathematical_formula.json new file mode 100644 index 0000000..7f393b3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_mathematical_formula.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedLong", + "value": "2**5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_max_plus_one.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_max_plus_one.json new file mode 100644 index 0000000..cc0e71e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_max_plus_one.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedLong", + "value": "18446744073709551616" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_negative.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_negative.json new file mode 100644 index 0000000..1b85803 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_negative.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedLong", + "value": "-1" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_scientific.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_scientific.json new file mode 100644 index 0000000..3966fba --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_long_scientific.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedLong", + "value": "1e2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_decimal.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_decimal.json new file mode 100644 index 0000000..4d0bd9e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_decimal.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedShort", + "value": "1.2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_empty.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_empty.json new file mode 100644 index 0000000..0d890e2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_empty.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedShort", + "value": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_free_form_text.json new file mode 100644 index 0000000..54f28e7 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_free_form_text.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedShort", + "value": "some free form text" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_mathematical_formula.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_mathematical_formula.json new file mode 100644 index 0000000..848339e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_mathematical_formula.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedShort", + "value": "2**5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_max_plus_one.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_max_plus_one.json new file mode 100644 index 0000000..0ec0275 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_max_plus_one.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedShort", + "value": "65536" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_negative.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_negative.json new file mode 100644 index 0000000..a9085f8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_negative.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedShort", + "value": "-1" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_scientific.json b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_scientific.json new file mode 100644 index 0000000..2e44980 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/InvalidValueExample/Qualifier/value/Unsigned_short_scientific.json @@ -0,0 +1,5 @@ +{ + "type": "something_86027eb8", + "valueType": "xs:unsignedShort", + "value": "1e2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/AdministrativeInformation/revision.json b/dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/AdministrativeInformation/revision.json new file mode 100644 index 0000000..37f232d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/MaxLengthViolation/AdministrativeInformation/revision.json @@ -0,0 +1,70 @@ +{ + "embeddedDataSpecifications": [ + { + "dataSpecification": { + "type": "ExternalReference", + "keys": [ + { + "type": "GlobalReference", + "value": "urn:another-company:03:97fadb7b" + } + ] + }, + "dataSpecificationContent": { + "preferredName": [ + { + "language": "en-JM-x-87ce29ed", + "text": "J5" + }, + { + "language": "en-JM-x-7c40ee17", + "text": "\u00db\u0103" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_06.json new file mode 100644 index 0000000..3326d27 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_06.json @@ -0,0 +1,3 @@ +{ + "createdAt": "\udbcf\udda6\ud879\udf78" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_07.json new file mode 100644 index 0000000..413b980 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_07.json @@ -0,0 +1,3 @@ +{ + "createdAt": "\u531f16\u00c8\u0012\ud814\udce0" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_08.json new file mode 100644 index 0000000..9dfd6ea --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_08.json @@ -0,0 +1,3 @@ +{ + "createdAt": "hh" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_09.json new file mode 100644 index 0000000..eebffe2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_09.json @@ -0,0 +1,3 @@ +{ + "createdAt": "E\u0085\ud804\udd26\ud842\uddc3Z" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_10.json new file mode 100644 index 0000000..72041de --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/negatively_fuzzed_10.json @@ -0,0 +1,3 @@ +{ + "createdAt": "\udae7\udefd\udae7\udefd\ud9ae\udefe\ud82f\udfa8\udbe4\udc8c\ud80f\udeb6" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/only_date.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/only_date.json new file mode 100644 index 0000000..875b24e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/only_date.json @@ -0,0 +1,3 @@ +{ + "createdAt": "2022-04-01" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/only_date_with_time_zone.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/only_date_with_time_zone.json new file mode 100644 index 0000000..2cf1778 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/only_date_with_time_zone.json @@ -0,0 +1,3 @@ +{ + "createdAt": "2022-04-01Z" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/without_minutes.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/without_minutes.json new file mode 100644 index 0000000..9f7fa84 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/without_minutes.json @@ -0,0 +1,3 @@ +{ + "createdAt": "2022-04-01T01Z" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/without_seconds.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/without_seconds.json new file mode 100644 index 0000000..d1eed33 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/createdAt/without_seconds.json @@ -0,0 +1,3 @@ +{ + "createdAt": "2022-04-01T01:02Z" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/revision/dot.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/revision/dot.json new file mode 100644 index 0000000..e153b6e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/revision/dot.json @@ -0,0 +1,3 @@ +{ + "revision": "1.0" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/revision/letter.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/revision/letter.json new file mode 100644 index 0000000..adc4fe0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/revision/letter.json @@ -0,0 +1,3 @@ +{ + "revision": "1.0rc1" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/revision/negative.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/revision/negative.json new file mode 100644 index 0000000..97e8c15 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/revision/negative.json @@ -0,0 +1,3 @@ +{ + "revision": "-1" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_01.json new file mode 100644 index 0000000..867db4a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_01.json @@ -0,0 +1,3 @@ +{ + "templateId": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_02.json new file mode 100644 index 0000000..a3f29d2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_02.json @@ -0,0 +1,3 @@ +{ + "templateId": "\u990d\u0017\u00bd\u00e9" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_03.json new file mode 100644 index 0000000..087bb5b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_03.json @@ -0,0 +1,3 @@ +{ + "templateId": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_04.json new file mode 100644 index 0000000..87eda06 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_04.json @@ -0,0 +1,3 @@ +{ + "templateId": "\u00ba\u00f2\u0018\u007f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_05.json new file mode 100644 index 0000000..f078e67 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_05.json @@ -0,0 +1,3 @@ +{ + "templateId": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_06.json new file mode 100644 index 0000000..5f63980 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_06.json @@ -0,0 +1,3 @@ +{ + "templateId": "0\u0000\u009a\uda84\ude06" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_07.json new file mode 100644 index 0000000..5216715 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_07.json @@ -0,0 +1,3 @@ +{ + "templateId": "\ubd07\u00e0c\u001dr\f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_08.json new file mode 100644 index 0000000..10851a6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_08.json @@ -0,0 +1,3 @@ +{ + "templateId": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_09.json new file mode 100644 index 0000000..43fbd3b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_09.json @@ -0,0 +1,3 @@ +{ + "templateId": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_10.json new file mode 100644 index 0000000..0544c5c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/templateId/negatively_fuzzed_10.json @@ -0,0 +1,3 @@ +{ + "templateId": "\u00ea\u00f2\u000f\ud9d8\ude54U" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/date_time_with_UTC_and_suffix.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/date_time_with_UTC_and_suffix.json new file mode 100644 index 0000000..60812ac --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/date_time_with_UTC_and_suffix.json @@ -0,0 +1,3 @@ +{ + "updatedAt": "2022-04-01T01:02:03Z-unexpected-suffix" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/date_time_with_offset.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/date_time_with_offset.json new file mode 100644 index 0000000..3bfff2d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/date_time_with_offset.json @@ -0,0 +1,3 @@ +{ + "updatedAt": "2022-04-01T01:02:03+02:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/date_time_without_zone.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/date_time_without_zone.json new file mode 100644 index 0000000..300a492 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/date_time_without_zone.json @@ -0,0 +1,3 @@ +{ + "updatedAt": "2022-04-01T01:02:03" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/empty.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/empty.json new file mode 100644 index 0000000..2287e72 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/empty.json @@ -0,0 +1,3 @@ +{ + "updatedAt": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/invalid_february_29th.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/invalid_february_29th.json new file mode 100644 index 0000000..a42a73b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/invalid_february_29th.json @@ -0,0 +1,3 @@ +{ + "updatedAt": "2026-02-29T01:02:03Z" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_01.json new file mode 100644 index 0000000..5684c27 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_01.json @@ -0,0 +1,3 @@ +{ + "updatedAt": "hh?a\u00e5x\uc733\u0010[\u0082\u0015 K/" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_02.json new file mode 100644 index 0000000..19ebcc3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_02.json @@ -0,0 +1,3 @@ +{ + "updatedAt": "<1\ud8b2\ude06\ud9e3\uddd0\u00c5\\H\udac2\ude13" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_03.json new file mode 100644 index 0000000..8690f92 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_03.json @@ -0,0 +1,3 @@ +{ + "updatedAt": "\ud84a\udf23\ud8ca\udc7c\u00cd\u00b7\u00f0\u0098\u00b2+\u009a\ud8c4\udd7f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_04.json new file mode 100644 index 0000000..d8ba91d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_04.json @@ -0,0 +1,3 @@ +{ + "updatedAt": "\ud8e9\udcb3\u00f0\u008d\u0085\ud8dd\udc2f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_05.json new file mode 100644 index 0000000..0ea997e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_05.json @@ -0,0 +1,3 @@ +{ + "updatedAt": "\udb4a\udfbee\ud80d\udd4d\u0097\u00f1>" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_06.json new file mode 100644 index 0000000..fdab6e5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_06.json @@ -0,0 +1,3 @@ +{ + "updatedAt": "\udbcf\udda6\ud879\udf78" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_07.json new file mode 100644 index 0000000..e4c7b72 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_07.json @@ -0,0 +1,3 @@ +{ + "updatedAt": "\u531f16\u00c8\u0012\ud814\udce0" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_08.json new file mode 100644 index 0000000..3ac9ab6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_08.json @@ -0,0 +1,3 @@ +{ + "updatedAt": "hh" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_09.json new file mode 100644 index 0000000..e98e156 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_09.json @@ -0,0 +1,3 @@ +{ + "updatedAt": "E\u0085\ud804\udd26\ud842\uddc3Z" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_10.json new file mode 100644 index 0000000..cf1d576 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/negatively_fuzzed_10.json @@ -0,0 +1,3 @@ +{ + "updatedAt": "\udae7\udefd\udae7\udefd\ud9ae\udefe\ud82f\udfa8\udbe4\udc8c\ud80f\udeb6" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/only_date.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/only_date.json new file mode 100644 index 0000000..1df9583 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/only_date.json @@ -0,0 +1,3 @@ +{ + "updatedAt": "2022-04-01" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/only_date_with_time_zone.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/only_date_with_time_zone.json new file mode 100644 index 0000000..1946ee8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/only_date_with_time_zone.json @@ -0,0 +1,3 @@ +{ + "updatedAt": "2022-04-01Z" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/without_minutes.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/without_minutes.json new file mode 100644 index 0000000..46c8017 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/without_minutes.json @@ -0,0 +1,3 @@ +{ + "updatedAt": "2022-04-01T01Z" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/without_seconds.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/without_seconds.json new file mode 100644 index 0000000..0653696 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/updatedAt/without_seconds.json @@ -0,0 +1,3 @@ +{ + "updatedAt": "2022-04-01T01:02Z" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/version/dot.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/version/dot.json new file mode 100644 index 0000000..703ffb7 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/version/dot.json @@ -0,0 +1,3 @@ +{ + "version": "1.0" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/version/letter.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/version/letter.json new file mode 100644 index 0000000..9650055 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/version/letter.json @@ -0,0 +1,3 @@ +{ + "version": "1.0rc1" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/version/negative.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/version/negative.json new file mode 100644 index 0000000..70203df --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AdministrativeInformation/version/negative.json @@ -0,0 +1,3 @@ +{ + "version": "-1" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_01.json new file mode 100644 index 0000000..1368e3c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "category": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "modelType": "AnnotatedRelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_02.json new file mode 100644 index 0000000..dba19e0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "category": "\u990d\u0017\u00bd\u00e9", + "modelType": "AnnotatedRelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_03.json new file mode 100644 index 0000000..4435e20 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "category": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "modelType": "AnnotatedRelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_04.json new file mode 100644 index 0000000..0ea0853 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "category": "\u00ba\u00f2\u0018\u007f", + "modelType": "AnnotatedRelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_05.json new file mode 100644 index 0000000..9c17e24 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "category": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "modelType": "AnnotatedRelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_06.json new file mode 100644 index 0000000..c09ea0a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "category": "0\u0000\u009a\uda84\ude06", + "modelType": "AnnotatedRelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_07.json new file mode 100644 index 0000000..c4280b5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "category": "\ubd07\u00e0c\u001dr\f", + "modelType": "AnnotatedRelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_08.json new file mode 100644 index 0000000..c0a4281 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "category": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "modelType": "AnnotatedRelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_09.json new file mode 100644 index 0000000..574e3a3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "category": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "modelType": "AnnotatedRelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_10.json new file mode 100644 index 0000000..34a06bd --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/category/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "category": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "modelType": "AnnotatedRelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_01.json new file mode 100644 index 0000000..4fb216a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "idShort": "\uda2a\udebe\udb83\udfab7", + "modelType": "AnnotatedRelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_02.json new file mode 100644 index 0000000..1f6c3bd --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u007f15", + "modelType": "AnnotatedRelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_03.json new file mode 100644 index 0000000..38f53b6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "idShort": "66a\u0007 $\u0005\u0098V\u98b5<8f\udaf9\udc16\u0088;\u00c9\u00d02\u00fe\udae2\udce77y", + "modelType": "AnnotatedRelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_04.json new file mode 100644 index 0000000..a05d8b3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u0087Y\ud900\udd7d\udaf4\ude2a", + "modelType": "AnnotatedRelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_05.json new file mode 100644 index 0000000..a0562c0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "idShort": "9\u4804\ud90d\udf5d", + "modelType": "AnnotatedRelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_06.json new file mode 100644 index 0000000..b1dc687 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "idShort": "@", + "modelType": "AnnotatedRelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_07.json new file mode 100644 index 0000000..3a06565 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "idShort": "[?\u00cd\u00f40\u00d9\ud9a8\udcd4\u00ea\u0002\u00b6\ud820\udfebs\udacb\ude6e\u008dU\ud8d6\udc7f\u00b0\ud82d\udda6", + "modelType": "AnnotatedRelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_08.json new file mode 100644 index 0000000..a11d4b3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u0084\u0005", + "modelType": "AnnotatedRelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_09.json new file mode 100644 index 0000000..ff6ce7a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u00ae\n|\u0013h\u000f\u00c8\u0081\u0080\udb35\udeccQ\uda66\udcec\u00a5\u00d5", + "modelType": "AnnotatedRelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_10.json new file mode 100644 index 0000000..a140d1d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AnnotatedRelationshipElement/idShort/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "idShort": "\uda3f\udc85\u0013\ud90d\udf5d", + "modelType": "AnnotatedRelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_01.json new file mode 100644 index 0000000..eb31839 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_01.json @@ -0,0 +1,9 @@ +{ + "category": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "id": "0", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_02.json new file mode 100644 index 0000000..b00b590 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_02.json @@ -0,0 +1,9 @@ +{ + "category": "\u990d\u0017\u00bd\u00e9", + "id": "0", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_03.json new file mode 100644 index 0000000..5769dc7 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_03.json @@ -0,0 +1,9 @@ +{ + "category": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "id": "0", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_04.json new file mode 100644 index 0000000..b20776e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_04.json @@ -0,0 +1,9 @@ +{ + "category": "\u00ba\u00f2\u0018\u007f", + "id": "0", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_05.json new file mode 100644 index 0000000..4caacc2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_05.json @@ -0,0 +1,9 @@ +{ + "category": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "id": "0", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_06.json new file mode 100644 index 0000000..0277c0f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_06.json @@ -0,0 +1,9 @@ +{ + "category": "0\u0000\u009a\uda84\ude06", + "id": "0", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_07.json new file mode 100644 index 0000000..1c63527 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_07.json @@ -0,0 +1,9 @@ +{ + "category": "\ubd07\u00e0c\u001dr\f", + "id": "0", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_08.json new file mode 100644 index 0000000..3b9a74d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_08.json @@ -0,0 +1,9 @@ +{ + "category": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "id": "0", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_09.json new file mode 100644 index 0000000..c4e4bf5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_09.json @@ -0,0 +1,9 @@ +{ + "category": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "id": "0", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_10.json new file mode 100644 index 0000000..5952870 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/category/negatively_fuzzed_10.json @@ -0,0 +1,9 @@ +{ + "category": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "id": "0", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_01.json new file mode 100644 index 0000000..e1d02be --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_01.json @@ -0,0 +1,8 @@ +{ + "id": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_02.json new file mode 100644 index 0000000..793a27e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_02.json @@ -0,0 +1,8 @@ +{ + "id": "\u990d\u0017\u00bd\u00e9", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_03.json new file mode 100644 index 0000000..fd7b5d6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_03.json @@ -0,0 +1,8 @@ +{ + "id": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_04.json new file mode 100644 index 0000000..4dc8df4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_04.json @@ -0,0 +1,8 @@ +{ + "id": "\u00ba\u00f2\u0018\u007f", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_05.json new file mode 100644 index 0000000..1bdb561 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_05.json @@ -0,0 +1,8 @@ +{ + "id": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_06.json new file mode 100644 index 0000000..817ee46 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_06.json @@ -0,0 +1,8 @@ +{ + "id": "0\u0000\u009a\uda84\ude06", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_07.json new file mode 100644 index 0000000..4fbeeed --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_07.json @@ -0,0 +1,8 @@ +{ + "id": "\ubd07\u00e0c\u001dr\f", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_08.json new file mode 100644 index 0000000..90e2968 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_08.json @@ -0,0 +1,8 @@ +{ + "id": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_09.json new file mode 100644 index 0000000..3c71da0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_09.json @@ -0,0 +1,8 @@ +{ + "id": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_10.json new file mode 100644 index 0000000..bf4c3c2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/id/negatively_fuzzed_10.json @@ -0,0 +1,8 @@ +{ + "id": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_01.json new file mode 100644 index 0000000..b3cf860 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_01.json @@ -0,0 +1,9 @@ +{ + "idShort": "\uda2a\udebe\udb83\udfab7", + "id": "0", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_02.json new file mode 100644 index 0000000..1fa9fdf --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_02.json @@ -0,0 +1,9 @@ +{ + "idShort": "\u007f15", + "id": "0", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_03.json new file mode 100644 index 0000000..164e8a2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_03.json @@ -0,0 +1,9 @@ +{ + "idShort": "66a\u0007 $\u0005\u0098V\u98b5<8f\udaf9\udc16\u0088;\u00c9\u00d02\u00fe\udae2\udce77y", + "id": "0", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_04.json new file mode 100644 index 0000000..cdedf1d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_04.json @@ -0,0 +1,9 @@ +{ + "idShort": "\u0087Y\ud900\udd7d\udaf4\ude2a", + "id": "0", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_05.json new file mode 100644 index 0000000..0dc9fa0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_05.json @@ -0,0 +1,9 @@ +{ + "idShort": "9\u4804\ud90d\udf5d", + "id": "0", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_06.json new file mode 100644 index 0000000..4f9d9c3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_06.json @@ -0,0 +1,9 @@ +{ + "idShort": "@", + "id": "0", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_07.json new file mode 100644 index 0000000..d36929c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_07.json @@ -0,0 +1,9 @@ +{ + "idShort": "[?\u00cd\u00f40\u00d9\ud9a8\udcd4\u00ea\u0002\u00b6\ud820\udfebs\udacb\ude6e\u008dU\ud8d6\udc7f\u00b0\ud82d\udda6", + "id": "0", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_08.json new file mode 100644 index 0000000..e65bb4f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_08.json @@ -0,0 +1,9 @@ +{ + "idShort": "\u0084\u0005", + "id": "0", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_09.json new file mode 100644 index 0000000..c0c2b00 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_09.json @@ -0,0 +1,9 @@ +{ + "idShort": "\u00ae\n|\u0013h\u000f\u00c8\u0081\u0080\udb35\udeccQ\uda66\udcec\u00a5\u00d5", + "id": "0", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_10.json new file mode 100644 index 0000000..d2c1a88 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetAdministrationShell/idShort/negatively_fuzzed_10.json @@ -0,0 +1,9 @@ +{ + "idShort": "\uda3f\udc85\u0013\ud90d\udf5d", + "id": "0", + "assetInformation": { + "assetKind": "Batch", + "globalAssetId": "6" + }, + "modelType": "AssetAdministrationShell" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_01.json new file mode 100644 index 0000000..ac948ec --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_01.json @@ -0,0 +1,5 @@ +{ + "assetKind": "Batch", + "globalAssetId": "0", + "assetType": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_02.json new file mode 100644 index 0000000..3e9fa51 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_02.json @@ -0,0 +1,5 @@ +{ + "assetKind": "Batch", + "globalAssetId": "0", + "assetType": "\u990d\u0017\u00bd\u00e9" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_03.json new file mode 100644 index 0000000..79962eb --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_03.json @@ -0,0 +1,5 @@ +{ + "assetKind": "Batch", + "globalAssetId": "0", + "assetType": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_04.json new file mode 100644 index 0000000..0ba0449 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_04.json @@ -0,0 +1,5 @@ +{ + "assetKind": "Batch", + "globalAssetId": "0", + "assetType": "\u00ba\u00f2\u0018\u007f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_05.json new file mode 100644 index 0000000..b54626f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_05.json @@ -0,0 +1,5 @@ +{ + "assetKind": "Batch", + "globalAssetId": "0", + "assetType": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_06.json new file mode 100644 index 0000000..be0a00a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_06.json @@ -0,0 +1,5 @@ +{ + "assetKind": "Batch", + "globalAssetId": "0", + "assetType": "0\u0000\u009a\uda84\ude06" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_07.json new file mode 100644 index 0000000..99d1c91 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_07.json @@ -0,0 +1,5 @@ +{ + "assetKind": "Batch", + "globalAssetId": "0", + "assetType": "\ubd07\u00e0c\u001dr\f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_08.json new file mode 100644 index 0000000..f72d7c6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_08.json @@ -0,0 +1,5 @@ +{ + "assetKind": "Batch", + "globalAssetId": "0", + "assetType": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_09.json new file mode 100644 index 0000000..fd4b1e2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_09.json @@ -0,0 +1,5 @@ +{ + "assetKind": "Batch", + "globalAssetId": "0", + "assetType": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_10.json new file mode 100644 index 0000000..1c2abce --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/assetType/negatively_fuzzed_10.json @@ -0,0 +1,5 @@ +{ + "assetKind": "Batch", + "globalAssetId": "0", + "assetType": "\u00ea\u00f2\u000f\ud9d8\ude54U" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_01.json new file mode 100644 index 0000000..0a3b565 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "assetKind": "Batch", + "globalAssetId": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_02.json new file mode 100644 index 0000000..b9078f2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "assetKind": "Batch", + "globalAssetId": "\u990d\u0017\u00bd\u00e9" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_03.json new file mode 100644 index 0000000..53b64d4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "assetKind": "Batch", + "globalAssetId": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_04.json new file mode 100644 index 0000000..a688658 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "assetKind": "Batch", + "globalAssetId": "\u00ba\u00f2\u0018\u007f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_05.json new file mode 100644 index 0000000..30bf6fc --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "assetKind": "Batch", + "globalAssetId": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_06.json new file mode 100644 index 0000000..3166b2e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "assetKind": "Batch", + "globalAssetId": "0\u0000\u009a\uda84\ude06" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_07.json new file mode 100644 index 0000000..dfb7d22 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "assetKind": "Batch", + "globalAssetId": "\ubd07\u00e0c\u001dr\f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_08.json new file mode 100644 index 0000000..b1368d2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "assetKind": "Batch", + "globalAssetId": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_09.json new file mode 100644 index 0000000..721d962 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "assetKind": "Batch", + "globalAssetId": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_10.json new file mode 100644 index 0000000..90ec04f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/AssetInformation/globalAssetId/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "assetKind": "Batch", + "globalAssetId": "\u00ea\u00f2\u000f\ud9d8\ude54U" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_01.json new file mode 100644 index 0000000..697531c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_01.json @@ -0,0 +1,19 @@ +{ + "category": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_02.json new file mode 100644 index 0000000..e79a2e2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_02.json @@ -0,0 +1,19 @@ +{ + "category": "\u990d\u0017\u00bd\u00e9", + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_03.json new file mode 100644 index 0000000..9fdb7b0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_03.json @@ -0,0 +1,19 @@ +{ + "category": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_04.json new file mode 100644 index 0000000..01789ec --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_04.json @@ -0,0 +1,19 @@ +{ + "category": "\u00ba\u00f2\u0018\u007f", + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_05.json new file mode 100644 index 0000000..08f8748 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_05.json @@ -0,0 +1,19 @@ +{ + "category": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_06.json new file mode 100644 index 0000000..3aac7e4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_06.json @@ -0,0 +1,19 @@ +{ + "category": "0\u0000\u009a\uda84\ude06", + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_07.json new file mode 100644 index 0000000..b0ca015 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_07.json @@ -0,0 +1,19 @@ +{ + "category": "\ubd07\u00e0c\u001dr\f", + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_08.json new file mode 100644 index 0000000..eda6980 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_08.json @@ -0,0 +1,19 @@ +{ + "category": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_09.json new file mode 100644 index 0000000..ab1a2f2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_09.json @@ -0,0 +1,19 @@ +{ + "category": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_10.json new file mode 100644 index 0000000..2c68f64 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/category/negatively_fuzzed_10.json @@ -0,0 +1,19 @@ +{ + "category": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_01.json new file mode 100644 index 0000000..4f685ad --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_01.json @@ -0,0 +1,19 @@ +{ + "idShort": "\uda2a\udebe\udb83\udfab7", + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_02.json new file mode 100644 index 0000000..5151ccd --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_02.json @@ -0,0 +1,19 @@ +{ + "idShort": "\u007f15", + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_03.json new file mode 100644 index 0000000..2965e88 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_03.json @@ -0,0 +1,19 @@ +{ + "idShort": "66a\u0007 $\u0005\u0098V\u98b5<8f\udaf9\udc16\u0088;\u00c9\u00d02\u00fe\udae2\udce77y", + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_04.json new file mode 100644 index 0000000..802fbf1 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_04.json @@ -0,0 +1,19 @@ +{ + "idShort": "\u0087Y\ud900\udd7d\udaf4\ude2a", + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_05.json new file mode 100644 index 0000000..7dc55e0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_05.json @@ -0,0 +1,19 @@ +{ + "idShort": "9\u4804\ud90d\udf5d", + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_06.json new file mode 100644 index 0000000..5bf93b3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_06.json @@ -0,0 +1,19 @@ +{ + "idShort": "@", + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_07.json new file mode 100644 index 0000000..f2482ec --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_07.json @@ -0,0 +1,19 @@ +{ + "idShort": "[?\u00cd\u00f40\u00d9\ud9a8\udcd4\u00ea\u0002\u00b6\ud820\udfebs\udacb\ude6e\u008dU\ud8d6\udc7f\u00b0\ud82d\udda6", + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_08.json new file mode 100644 index 0000000..8c5ce92 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_08.json @@ -0,0 +1,19 @@ +{ + "idShort": "\u0084\u0005", + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_09.json new file mode 100644 index 0000000..10b7329 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_09.json @@ -0,0 +1,19 @@ +{ + "idShort": "\u00ae\n|\u0013h\u000f\u00c8\u0081\u0080\udb35\udeccQ\uda66\udcec\u00a5\u00d5", + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_10.json new file mode 100644 index 0000000..6286bed --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/idShort/negatively_fuzzed_10.json @@ -0,0 +1,19 @@ +{ + "idShort": "\uda3f\udc85\u0013\ud90d\udf5d", + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/date_time_with_UTC_and_suffix.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/date_time_with_UTC_and_suffix.json new file mode 100644 index 0000000..714c25b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/date_time_with_UTC_and_suffix.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "lastUpdate": "2022-04-01T01:02:03Z-unexpected-suffix", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/date_time_with_offset.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/date_time_with_offset.json new file mode 100644 index 0000000..e5649ec --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/date_time_with_offset.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "lastUpdate": "2022-04-01T01:02:03+02:00", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/date_time_without_zone.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/date_time_without_zone.json new file mode 100644 index 0000000..d5d1729 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/date_time_without_zone.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "lastUpdate": "2022-04-01T01:02:03", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/empty.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/empty.json new file mode 100644 index 0000000..4f5c918 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/empty.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "lastUpdate": "", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/invalid_february_29th.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/invalid_february_29th.json new file mode 100644 index 0000000..a3191c3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/invalid_february_29th.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "lastUpdate": "2026-02-29T01:02:03Z", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_01.json new file mode 100644 index 0000000..ea02b62 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_01.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "lastUpdate": "hh?a\u00e5x\uc733\u0010[\u0082\u0015 K/", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_02.json new file mode 100644 index 0000000..5f8c964 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_02.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "lastUpdate": "<1\ud8b2\ude06\ud9e3\uddd0\u00c5\\H\udac2\ude13", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_03.json new file mode 100644 index 0000000..99e4bda --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_03.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "lastUpdate": "\ud84a\udf23\ud8ca\udc7c\u00cd\u00b7\u00f0\u0098\u00b2+\u009a\ud8c4\udd7f", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_04.json new file mode 100644 index 0000000..087854e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_04.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "lastUpdate": "\ud8e9\udcb3\u00f0\u008d\u0085\ud8dd\udc2f", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_05.json new file mode 100644 index 0000000..ddb4cd1 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_05.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "lastUpdate": "\udb4a\udfbee\ud80d\udd4d\u0097\u00f1>", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_06.json new file mode 100644 index 0000000..e2dcb50 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_06.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "lastUpdate": "\udbcf\udda6\ud879\udf78", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_07.json new file mode 100644 index 0000000..76a6aeb --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_07.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "lastUpdate": "\u531f16\u00c8\u0012\ud814\udce0", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_08.json new file mode 100644 index 0000000..9290e67 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_08.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "lastUpdate": "hh", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_09.json new file mode 100644 index 0000000..6c68bcb --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_09.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "lastUpdate": "E\u0085\ud804\udd26\ud842\uddc3Z", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_10.json new file mode 100644 index 0000000..518292b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/negatively_fuzzed_10.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "lastUpdate": "\udae7\udefd\udae7\udefd\ud9ae\udefe\ud82f\udfa8\udbe4\udc8c\ud80f\udeb6", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/only_date.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/only_date.json new file mode 100644 index 0000000..f17f72c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/only_date.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "lastUpdate": "2022-04-01", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/only_date_with_time_zone.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/only_date_with_time_zone.json new file mode 100644 index 0000000..1eb13af --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/only_date_with_time_zone.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "lastUpdate": "2022-04-01Z", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/without_minutes.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/without_minutes.json new file mode 100644 index 0000000..3ad871a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/without_minutes.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "lastUpdate": "2022-04-01T01Z", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/without_seconds.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/without_seconds.json new file mode 100644 index 0000000..047fda5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/lastUpdate/without_seconds.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "lastUpdate": "2022-04-01T01:02Z", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/empty.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/empty.json new file mode 100644 index 0000000..3037809 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/empty.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "maxInterval": "", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/free_form_text.json new file mode 100644 index 0000000..443ee30 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/free_form_text.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "maxInterval": "some free form text", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/integer.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/integer.json new file mode 100644 index 0000000..3997fd3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/integer.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "maxInterval": "1234", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/leading_P_missing.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/leading_P_missing.json new file mode 100644 index 0000000..02eb8dd --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/leading_P_missing.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "maxInterval": "1Y", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/negative_years.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/negative_years.json new file mode 100644 index 0000000..0176a42 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/negative_years.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "maxInterval": "P-1Y", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/positive_year_negative_months.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/positive_year_negative_months.json new file mode 100644 index 0000000..63409fd --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/positive_year_negative_months.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "maxInterval": "P1Y-1M", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/separator_T_missing.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/separator_T_missing.json new file mode 100644 index 0000000..ca37f4c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/separator_T_missing.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "maxInterval": "P1S", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/the_order_matters.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/the_order_matters.json new file mode 100644 index 0000000..462c598 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/maxInterval/the_order_matters.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "maxInterval": "P1M2Y", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_01.json new file mode 100644 index 0000000..6484283 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_01.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "messageTopic": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_02.json new file mode 100644 index 0000000..53f4bfb --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_02.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "messageTopic": "\u990d\u0017\u00bd\u00e9", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_03.json new file mode 100644 index 0000000..a707b98 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_03.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "messageTopic": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_04.json new file mode 100644 index 0000000..8e03bd6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_04.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "messageTopic": "\u00ba\u00f2\u0018\u007f", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_05.json new file mode 100644 index 0000000..46228fe --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_05.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "messageTopic": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_06.json new file mode 100644 index 0000000..1264f38 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_06.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "messageTopic": "0\u0000\u009a\uda84\ude06", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_07.json new file mode 100644 index 0000000..6c7492c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_07.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "messageTopic": "\ubd07\u00e0c\u001dr\f", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_08.json new file mode 100644 index 0000000..914c0a6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_08.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "messageTopic": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_09.json new file mode 100644 index 0000000..bcdb2d9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_09.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "messageTopic": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_10.json new file mode 100644 index 0000000..e8730d2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/messageTopic/negatively_fuzzed_10.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "messageTopic": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/empty.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/empty.json new file mode 100644 index 0000000..4685e08 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/empty.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "minInterval": "", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/free_form_text.json new file mode 100644 index 0000000..8ad4682 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/free_form_text.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "minInterval": "some free form text", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/integer.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/integer.json new file mode 100644 index 0000000..8b8d105 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/integer.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "minInterval": "1234", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/leading_P_missing.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/leading_P_missing.json new file mode 100644 index 0000000..2874427 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/leading_P_missing.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "minInterval": "1Y", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/negative_years.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/negative_years.json new file mode 100644 index 0000000..80574f8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/negative_years.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "minInterval": "P-1Y", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/positive_year_negative_months.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/positive_year_negative_months.json new file mode 100644 index 0000000..60fa9d2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/positive_year_negative_months.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "minInterval": "P1Y-1M", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/separator_T_missing.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/separator_T_missing.json new file mode 100644 index 0000000..05f8904 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/separator_T_missing.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "minInterval": "P1S", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/the_order_matters.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/the_order_matters.json new file mode 100644 index 0000000..d27ec13 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/BasicEventElement/minInterval/the_order_matters.json @@ -0,0 +1,19 @@ +{ + "observed": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:yet-another-company:02:3262900a" + }, + { + "type": "Property", + "value": "something0e5ec53f" + } + ] + }, + "direction": "input", + "state": "on", + "minInterval": "P1M2Y", + "modelType": "BasicEventElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_01.json new file mode 100644 index 0000000..3452d6a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "category": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_02.json new file mode 100644 index 0000000..4d54640 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "category": "\u990d\u0017\u00bd\u00e9", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_03.json new file mode 100644 index 0000000..d0cd872 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "category": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_04.json new file mode 100644 index 0000000..6c6e555 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "category": "\u00ba\u00f2\u0018\u007f", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_05.json new file mode 100644 index 0000000..c65381f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "category": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_06.json new file mode 100644 index 0000000..8f8caff --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "category": "0\u0000\u009a\uda84\ude06", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_07.json new file mode 100644 index 0000000..192295a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "category": "\ubd07\u00e0c\u001dr\f", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_08.json new file mode 100644 index 0000000..69b5f7c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "category": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_09.json new file mode 100644 index 0000000..7bde43d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "category": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_10.json new file mode 100644 index 0000000..5f38036 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/category/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "category": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/empty.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/empty.json new file mode 100644 index 0000000..99167f2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/empty.json @@ -0,0 +1,4 @@ +{ + "contentType": "", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_01.json new file mode 100644 index 0000000..392853e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "contentType": "\uda86\udf2e\udb69\udf6e\udae1\udefa7\u001e\u00fd\u00d1\u009d|\udbc6\uddcd", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_02.json new file mode 100644 index 0000000..392853e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "contentType": "\uda86\udf2e\udb69\udf6e\udae1\udefa7\u001e\u00fd\u00d1\u009d|\udbc6\uddcd", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_03.json new file mode 100644 index 0000000..661eaa3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "contentType": "\ud845\udd39", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_04.json new file mode 100644 index 0000000..d81b741 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "contentType": "\u00d0\u00d0", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_05.json new file mode 100644 index 0000000..556d8ad --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "contentType": "\udb37\udd7d\u00a7\u0085\u00b0\u00a2\udace\udc5a>3\udba3\udd37", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_06.json new file mode 100644 index 0000000..6381a68 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "contentType": "q\u0095d", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_07.json new file mode 100644 index 0000000..57701e1 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "contentType": "0", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_08.json new file mode 100644 index 0000000..99167f2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "contentType": "", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_09.json new file mode 100644 index 0000000..3e26d4a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "contentType": "\r|\u00e4", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_10.json new file mode 100644 index 0000000..8dc66bf --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "contentType": "\ud832\udfb0\ud832\udfb0", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/number.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/number.json new file mode 100644 index 0000000..4dd00ab --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/contentType/number.json @@ -0,0 +1,4 @@ +{ + "contentType": "1234", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_01.json new file mode 100644 index 0000000..71b5398 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "idShort": "\uda2a\udebe\udb83\udfab7", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_02.json new file mode 100644 index 0000000..27c925a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u007f15", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_03.json new file mode 100644 index 0000000..7cb61d5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "idShort": "66a\u0007 $\u0005\u0098V\u98b5<8f\udaf9\udc16\u0088;\u00c9\u00d02\u00fe\udae2\udce77y", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_04.json new file mode 100644 index 0000000..4988309 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u0087Y\ud900\udd7d\udaf4\ude2a", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_05.json new file mode 100644 index 0000000..dde7106 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "idShort": "9\u4804\ud90d\udf5d", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_06.json new file mode 100644 index 0000000..ab6de15 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "idShort": "@", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_07.json new file mode 100644 index 0000000..851445d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "idShort": "[?\u00cd\u00f40\u00d9\ud9a8\udcd4\u00ea\u0002\u00b6\ud820\udfebs\udacb\ude6e\u008dU\ud8d6\udc7f\u00b0\ud82d\udda6", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_08.json new file mode 100644 index 0000000..10078e5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u0084\u0005", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_09.json new file mode 100644 index 0000000..0d004b8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u00ae\n|\u0013h\u000f\u00c8\u0081\u0080\udb35\udeccQ\uda66\udcec\u00a5\u00d5", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_10.json new file mode 100644 index 0000000..338ba26 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Blob/idShort/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "idShort": "\uda3f\udc85\u0013\ud90d\udf5d", + "modelType": "Blob" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_01.json new file mode 100644 index 0000000..ad545ee --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "category": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "modelType": "Capability" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_02.json new file mode 100644 index 0000000..e80c757 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "category": "\u990d\u0017\u00bd\u00e9", + "modelType": "Capability" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_03.json new file mode 100644 index 0000000..52d18a1 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "category": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "modelType": "Capability" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_04.json new file mode 100644 index 0000000..29d9c25 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "category": "\u00ba\u00f2\u0018\u007f", + "modelType": "Capability" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_05.json new file mode 100644 index 0000000..d332090 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "category": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "modelType": "Capability" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_06.json new file mode 100644 index 0000000..978f679 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "category": "0\u0000\u009a\uda84\ude06", + "modelType": "Capability" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_07.json new file mode 100644 index 0000000..b7c6013 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "category": "\ubd07\u00e0c\u001dr\f", + "modelType": "Capability" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_08.json new file mode 100644 index 0000000..885e546 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "category": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "modelType": "Capability" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_09.json new file mode 100644 index 0000000..7c39dad --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "category": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "modelType": "Capability" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_10.json new file mode 100644 index 0000000..6e868e8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/category/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "category": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "modelType": "Capability" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_01.json new file mode 100644 index 0000000..ee26b18 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "idShort": "\uda2a\udebe\udb83\udfab7", + "modelType": "Capability" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_02.json new file mode 100644 index 0000000..7c48d1f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u007f15", + "modelType": "Capability" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_03.json new file mode 100644 index 0000000..510e208 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "idShort": "66a\u0007 $\u0005\u0098V\u98b5<8f\udaf9\udc16\u0088;\u00c9\u00d02\u00fe\udae2\udce77y", + "modelType": "Capability" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_04.json new file mode 100644 index 0000000..6575413 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u0087Y\ud900\udd7d\udaf4\ude2a", + "modelType": "Capability" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_05.json new file mode 100644 index 0000000..6a4cc7a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "idShort": "9\u4804\ud90d\udf5d", + "modelType": "Capability" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_06.json new file mode 100644 index 0000000..914669b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "idShort": "@", + "modelType": "Capability" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_07.json new file mode 100644 index 0000000..30c9ba0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "idShort": "[?\u00cd\u00f40\u00d9\ud9a8\udcd4\u00ea\u0002\u00b6\ud820\udfebs\udacb\ude6e\u008dU\ud8d6\udc7f\u00b0\ud82d\udda6", + "modelType": "Capability" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_08.json new file mode 100644 index 0000000..f1f030b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u0084\u0005", + "modelType": "Capability" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_09.json new file mode 100644 index 0000000..6e5e260 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u00ae\n|\u0013h\u000f\u00c8\u0081\u0080\udb35\udeccQ\uda66\udcec\u00a5\u00d5", + "modelType": "Capability" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_10.json new file mode 100644 index 0000000..27b00f4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Capability/idShort/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "idShort": "\uda3f\udc85\u0013\ud90d\udf5d", + "modelType": "Capability" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_01.json new file mode 100644 index 0000000..1a2175f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_01.json @@ -0,0 +1,5 @@ +{ + "category": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "id": "0", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_02.json new file mode 100644 index 0000000..f39c513 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_02.json @@ -0,0 +1,5 @@ +{ + "category": "\u990d\u0017\u00bd\u00e9", + "id": "0", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_03.json new file mode 100644 index 0000000..72bc311 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_03.json @@ -0,0 +1,5 @@ +{ + "category": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "id": "0", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_04.json new file mode 100644 index 0000000..aa6943e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_04.json @@ -0,0 +1,5 @@ +{ + "category": "\u00ba\u00f2\u0018\u007f", + "id": "0", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_05.json new file mode 100644 index 0000000..6237cb3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_05.json @@ -0,0 +1,5 @@ +{ + "category": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "id": "0", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_06.json new file mode 100644 index 0000000..659ce22 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_06.json @@ -0,0 +1,5 @@ +{ + "category": "0\u0000\u009a\uda84\ude06", + "id": "0", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_07.json new file mode 100644 index 0000000..5dbefd2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_07.json @@ -0,0 +1,5 @@ +{ + "category": "\ubd07\u00e0c\u001dr\f", + "id": "0", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_08.json new file mode 100644 index 0000000..3f09ac3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_08.json @@ -0,0 +1,5 @@ +{ + "category": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "id": "0", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_09.json new file mode 100644 index 0000000..3919300 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_09.json @@ -0,0 +1,5 @@ +{ + "category": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "id": "0", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_10.json new file mode 100644 index 0000000..d8545d0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/category/negatively_fuzzed_10.json @@ -0,0 +1,5 @@ +{ + "category": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "id": "0", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_01.json new file mode 100644 index 0000000..1a6e849 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "id": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_02.json new file mode 100644 index 0000000..77c3f43 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "id": "\u990d\u0017\u00bd\u00e9", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_03.json new file mode 100644 index 0000000..f2216ae --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "id": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_04.json new file mode 100644 index 0000000..e472980 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "id": "\u00ba\u00f2\u0018\u007f", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_05.json new file mode 100644 index 0000000..80d3067 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "id": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_06.json new file mode 100644 index 0000000..8e93073 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "id": "0\u0000\u009a\uda84\ude06", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_07.json new file mode 100644 index 0000000..e8de2be --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "id": "\ubd07\u00e0c\u001dr\f", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_08.json new file mode 100644 index 0000000..ed87a64 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "id": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_09.json new file mode 100644 index 0000000..8368789 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "id": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_10.json new file mode 100644 index 0000000..f02f41c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/id/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "id": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_01.json new file mode 100644 index 0000000..358525e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_01.json @@ -0,0 +1,5 @@ +{ + "idShort": "\uda2a\udebe\udb83\udfab7", + "id": "0", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_02.json new file mode 100644 index 0000000..a2a76df --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_02.json @@ -0,0 +1,5 @@ +{ + "idShort": "\u007f15", + "id": "0", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_03.json new file mode 100644 index 0000000..2f0d7a3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_03.json @@ -0,0 +1,5 @@ +{ + "idShort": "66a\u0007 $\u0005\u0098V\u98b5<8f\udaf9\udc16\u0088;\u00c9\u00d02\u00fe\udae2\udce77y", + "id": "0", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_04.json new file mode 100644 index 0000000..889b675 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_04.json @@ -0,0 +1,5 @@ +{ + "idShort": "\u0087Y\ud900\udd7d\udaf4\ude2a", + "id": "0", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_05.json new file mode 100644 index 0000000..d07b636 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_05.json @@ -0,0 +1,5 @@ +{ + "idShort": "9\u4804\ud90d\udf5d", + "id": "0", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_06.json new file mode 100644 index 0000000..dfcb7bd --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_06.json @@ -0,0 +1,5 @@ +{ + "idShort": "@", + "id": "0", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_07.json new file mode 100644 index 0000000..b444d9c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_07.json @@ -0,0 +1,5 @@ +{ + "idShort": "[?\u00cd\u00f40\u00d9\ud9a8\udcd4\u00ea\u0002\u00b6\ud820\udfebs\udacb\ude6e\u008dU\ud8d6\udc7f\u00b0\ud82d\udda6", + "id": "0", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_08.json new file mode 100644 index 0000000..5b355de --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_08.json @@ -0,0 +1,5 @@ +{ + "idShort": "\u0084\u0005", + "id": "0", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_09.json new file mode 100644 index 0000000..cbdf480 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_09.json @@ -0,0 +1,5 @@ +{ + "idShort": "\u00ae\n|\u0013h\u000f\u00c8\u0081\u0080\udb35\udeccQ\uda66\udcec\u00a5\u00d5", + "id": "0", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_10.json new file mode 100644 index 0000000..bff9110 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ConceptDescription/idShort/negatively_fuzzed_10.json @@ -0,0 +1,5 @@ +{ + "idShort": "\uda3f\udc85\u0013\ud90d\udf5d", + "id": "0", + "modelType": "ConceptDescription" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_01.json new file mode 100644 index 0000000..180799c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_01.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "sourceOfDefinition": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_02.json new file mode 100644 index 0000000..2b6597e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_02.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "sourceOfDefinition": "\u990d\u0017\u00bd\u00e9", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_03.json new file mode 100644 index 0000000..8df4422 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_03.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "sourceOfDefinition": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_04.json new file mode 100644 index 0000000..3e09fb8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_04.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "sourceOfDefinition": "\u00ba\u00f2\u0018\u007f", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_05.json new file mode 100644 index 0000000..4766295 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_05.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "sourceOfDefinition": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_06.json new file mode 100644 index 0000000..9e2f4f6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_06.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "sourceOfDefinition": "0\u0000\u009a\uda84\ude06", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_07.json new file mode 100644 index 0000000..cc35ea8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_07.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "sourceOfDefinition": "\ubd07\u00e0c\u001dr\f", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_08.json new file mode 100644 index 0000000..4e1aaae --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_08.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "sourceOfDefinition": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_09.json new file mode 100644 index 0000000..4221c0d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_09.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "sourceOfDefinition": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_10.json new file mode 100644 index 0000000..70d1289 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/sourceOfDefinition/negatively_fuzzed_10.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "sourceOfDefinition": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_01.json new file mode 100644 index 0000000..9b60022 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_01.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "symbol": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_02.json new file mode 100644 index 0000000..aca97d1 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_02.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "symbol": "\u990d\u0017\u00bd\u00e9", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_03.json new file mode 100644 index 0000000..4136daa --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_03.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "symbol": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_04.json new file mode 100644 index 0000000..52eecbf --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_04.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "symbol": "\u00ba\u00f2\u0018\u007f", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_05.json new file mode 100644 index 0000000..6dd6fcd --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_05.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "symbol": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_06.json new file mode 100644 index 0000000..0fc0e70 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_06.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "symbol": "0\u0000\u009a\uda84\ude06", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_07.json new file mode 100644 index 0000000..4df81f1 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_07.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "symbol": "\ubd07\u00e0c\u001dr\f", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_08.json new file mode 100644 index 0000000..abbef4d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_08.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "symbol": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_09.json new file mode 100644 index 0000000..77692a1 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_09.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "symbol": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_10.json new file mode 100644 index 0000000..e5dbb76 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/symbol/negatively_fuzzed_10.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "symbol": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_01.json new file mode 100644 index 0000000..9e05f6f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_01.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "unit": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_02.json new file mode 100644 index 0000000..babe65f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_02.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "unit": "\u990d\u0017\u00bd\u00e9", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_03.json new file mode 100644 index 0000000..054038b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_03.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "unit": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_04.json new file mode 100644 index 0000000..f9344ce --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_04.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "unit": "\u00ba\u00f2\u0018\u007f", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_05.json new file mode 100644 index 0000000..aa8dcbe --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_05.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "unit": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_06.json new file mode 100644 index 0000000..efa6ae6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_06.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "unit": "0\u0000\u009a\uda84\ude06", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_07.json new file mode 100644 index 0000000..af445da --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_07.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "unit": "\ubd07\u00e0c\u001dr\f", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_08.json new file mode 100644 index 0000000..df84c89 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_08.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "unit": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_09.json new file mode 100644 index 0000000..baa4c2c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_09.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "unit": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_10.json new file mode 100644 index 0000000..9701d42 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/unit/negatively_fuzzed_10.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "unit": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_01.json new file mode 100644 index 0000000..82ceb6b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_01.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "value": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_02.json new file mode 100644 index 0000000..5127e77 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_02.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "value": "\u990d\u0017\u00bd\u00e9", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_03.json new file mode 100644 index 0000000..b15cf70 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_03.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "value": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_04.json new file mode 100644 index 0000000..725e95b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_04.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "value": "\u00ba\u00f2\u0018\u007f", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_05.json new file mode 100644 index 0000000..d84bfa1 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_05.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "value": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_06.json new file mode 100644 index 0000000..a0b7cc1 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_06.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "value": "0\u0000\u009a\uda84\ude06", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_07.json new file mode 100644 index 0000000..91add6b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_07.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "value": "\ubd07\u00e0c\u001dr\f", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_08.json new file mode 100644 index 0000000..551613f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_08.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "value": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_09.json new file mode 100644 index 0000000..45ebead --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_09.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "value": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_10.json new file mode 100644 index 0000000..0e502dc --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/value/negatively_fuzzed_10.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "value": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_01.json new file mode 100644 index 0000000..0cbf73d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_01.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "valueFormat": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_02.json new file mode 100644 index 0000000..a40f58f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_02.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "valueFormat": "\u990d\u0017\u00bd\u00e9", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_03.json new file mode 100644 index 0000000..7f34606 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_03.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "valueFormat": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_04.json new file mode 100644 index 0000000..96e73b9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_04.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "valueFormat": "\u00ba\u00f2\u0018\u007f", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_05.json new file mode 100644 index 0000000..260e5e7 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_05.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "valueFormat": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_06.json new file mode 100644 index 0000000..263ebf4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_06.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "valueFormat": "0\u0000\u009a\uda84\ude06", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_07.json new file mode 100644 index 0000000..321fc96 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_07.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "valueFormat": "\ubd07\u00e0c\u001dr\f", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_08.json new file mode 100644 index 0000000..9169e5e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_08.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "valueFormat": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_09.json new file mode 100644 index 0000000..0f46cb0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_09.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "valueFormat": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_10.json new file mode 100644 index 0000000..ed2aca7 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/DataSpecificationIec61360/valueFormat/negatively_fuzzed_10.json @@ -0,0 +1,10 @@ +{ + "preferredName": [ + { + "language": "en-JM-x-c7dddb5b", + "text": "6" + } + ], + "valueFormat": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "modelType": "DataSpecificationIec61360" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_01.json new file mode 100644 index 0000000..2deb4c5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "category": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_02.json new file mode 100644 index 0000000..5690653 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "category": "\u990d\u0017\u00bd\u00e9", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_03.json new file mode 100644 index 0000000..82f3052 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "category": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_04.json new file mode 100644 index 0000000..4d88b72 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "category": "\u00ba\u00f2\u0018\u007f", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_05.json new file mode 100644 index 0000000..0ca69b2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "category": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_06.json new file mode 100644 index 0000000..91e9278 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "category": "0\u0000\u009a\uda84\ude06", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_07.json new file mode 100644 index 0000000..efb6128 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "category": "\ubd07\u00e0c\u001dr\f", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_08.json new file mode 100644 index 0000000..a4dfa44 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "category": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_09.json new file mode 100644 index 0000000..bdf659f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "category": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_10.json new file mode 100644 index 0000000..994a0cc --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/category/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "category": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_01.json new file mode 100644 index 0000000..4556c27 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "globalAssetId": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_02.json new file mode 100644 index 0000000..61273a9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "globalAssetId": "\u990d\u0017\u00bd\u00e9", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_03.json new file mode 100644 index 0000000..5ce43f2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "globalAssetId": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_04.json new file mode 100644 index 0000000..bc8cec9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "globalAssetId": "\u00ba\u00f2\u0018\u007f", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_05.json new file mode 100644 index 0000000..070bc9e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "globalAssetId": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_06.json new file mode 100644 index 0000000..c23afd5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "globalAssetId": "0\u0000\u009a\uda84\ude06", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_07.json new file mode 100644 index 0000000..05be664 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "globalAssetId": "\ubd07\u00e0c\u001dr\f", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_08.json new file mode 100644 index 0000000..4bb0e61 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "globalAssetId": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_09.json new file mode 100644 index 0000000..c939751 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "globalAssetId": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_10.json new file mode 100644 index 0000000..d955b8d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/globalAssetId/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "globalAssetId": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_01.json new file mode 100644 index 0000000..b5f4a53 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "idShort": "\uda2a\udebe\udb83\udfab7", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_02.json new file mode 100644 index 0000000..d293d36 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u007f15", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_03.json new file mode 100644 index 0000000..5e0905a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "idShort": "66a\u0007 $\u0005\u0098V\u98b5<8f\udaf9\udc16\u0088;\u00c9\u00d02\u00fe\udae2\udce77y", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_04.json new file mode 100644 index 0000000..fbe9589 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u0087Y\ud900\udd7d\udaf4\ude2a", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_05.json new file mode 100644 index 0000000..ea04941 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "idShort": "9\u4804\ud90d\udf5d", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_06.json new file mode 100644 index 0000000..0b7e8c3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "idShort": "@", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_07.json new file mode 100644 index 0000000..6da695c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "idShort": "[?\u00cd\u00f40\u00d9\ud9a8\udcd4\u00ea\u0002\u00b6\ud820\udfebs\udacb\ude6e\u008dU\ud8d6\udc7f\u00b0\ud82d\udda6", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_08.json new file mode 100644 index 0000000..654ac8b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u0084\u0005", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_09.json new file mode 100644 index 0000000..28a7410 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u00ae\n|\u0013h\u000f\u00c8\u0081\u0080\udb35\udeccQ\uda66\udcec\u00a5\u00d5", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_10.json new file mode 100644 index 0000000..6a380e9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Entity/idShort/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "idShort": "\uda3f\udc85\u0013\ud90d\udf5d", + "modelType": "Entity" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/date_time_with_UTC_and_suffix.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/date_time_with_UTC_and_suffix.json new file mode 100644 index 0000000..2d3f953 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/date_time_with_UTC_and_suffix.json @@ -0,0 +1,25 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "timeStamp": "2022-04-01T01:02:03Z-unexpected-suffix" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/date_time_with_offset.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/date_time_with_offset.json new file mode 100644 index 0000000..896e08a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/date_time_with_offset.json @@ -0,0 +1,25 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "timeStamp": "2022-04-01T01:02:03+02:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/date_time_without_zone.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/date_time_without_zone.json new file mode 100644 index 0000000..0725f77 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/date_time_without_zone.json @@ -0,0 +1,25 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "timeStamp": "2022-04-01T01:02:03" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/empty.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/empty.json new file mode 100644 index 0000000..1fc292d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/empty.json @@ -0,0 +1,25 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "timeStamp": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/invalid_february_29th.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/invalid_february_29th.json new file mode 100644 index 0000000..ac5ac3b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/invalid_february_29th.json @@ -0,0 +1,25 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "timeStamp": "2026-02-29T01:02:03Z" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_01.json new file mode 100644 index 0000000..0c7ff7b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_01.json @@ -0,0 +1,25 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "timeStamp": "hh?a\u00e5x\uc733\u0010[\u0082\u0015 K/" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_02.json new file mode 100644 index 0000000..3f1fe38 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_02.json @@ -0,0 +1,25 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "timeStamp": "<1\ud8b2\ude06\ud9e3\uddd0\u00c5\\H\udac2\ude13" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_03.json new file mode 100644 index 0000000..61e5c20 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_03.json @@ -0,0 +1,25 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "timeStamp": "\ud84a\udf23\ud8ca\udc7c\u00cd\u00b7\u00f0\u0098\u00b2+\u009a\ud8c4\udd7f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_04.json new file mode 100644 index 0000000..3b1906a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_04.json @@ -0,0 +1,25 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "timeStamp": "\ud8e9\udcb3\u00f0\u008d\u0085\ud8dd\udc2f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_05.json new file mode 100644 index 0000000..1ae29cd --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_05.json @@ -0,0 +1,25 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "timeStamp": "\udb4a\udfbee\ud80d\udd4d\u0097\u00f1>" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_06.json new file mode 100644 index 0000000..03dcc04 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_06.json @@ -0,0 +1,25 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "timeStamp": "\udbcf\udda6\ud879\udf78" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_07.json new file mode 100644 index 0000000..da73abb --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_07.json @@ -0,0 +1,25 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "timeStamp": "\u531f16\u00c8\u0012\ud814\udce0" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_08.json new file mode 100644 index 0000000..d436086 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_08.json @@ -0,0 +1,25 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "timeStamp": "hh" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_09.json new file mode 100644 index 0000000..d02a38f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_09.json @@ -0,0 +1,25 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "timeStamp": "E\u0085\ud804\udd26\ud842\uddc3Z" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_10.json new file mode 100644 index 0000000..1bff37a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/negatively_fuzzed_10.json @@ -0,0 +1,25 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "timeStamp": "\udae7\udefd\udae7\udefd\ud9ae\udefe\ud82f\udfa8\udbe4\udc8c\ud80f\udeb6" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/only_date.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/only_date.json new file mode 100644 index 0000000..ca9d853 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/only_date.json @@ -0,0 +1,25 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "timeStamp": "2022-04-01" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/only_date_with_time_zone.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/only_date_with_time_zone.json new file mode 100644 index 0000000..1fd9491 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/only_date_with_time_zone.json @@ -0,0 +1,25 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "timeStamp": "2022-04-01Z" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/without_minutes.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/without_minutes.json new file mode 100644 index 0000000..84ad1d7 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/without_minutes.json @@ -0,0 +1,25 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "timeStamp": "2022-04-01T01Z" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/without_seconds.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/without_seconds.json new file mode 100644 index 0000000..76d56e6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/timeStamp/without_seconds.json @@ -0,0 +1,25 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "timeStamp": "2022-04-01T01:02Z" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_01.json new file mode 100644 index 0000000..adcc8ec --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_01.json @@ -0,0 +1,26 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "topic": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "timeStamp": "2022-04-01T24:00:00-00:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_02.json new file mode 100644 index 0000000..847de5f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_02.json @@ -0,0 +1,26 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "topic": "\u990d\u0017\u00bd\u00e9", + "timeStamp": "2022-04-01T24:00:00-00:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_03.json new file mode 100644 index 0000000..d802e46 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_03.json @@ -0,0 +1,26 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "topic": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "timeStamp": "2022-04-01T24:00:00-00:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_04.json new file mode 100644 index 0000000..424d630 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_04.json @@ -0,0 +1,26 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "topic": "\u00ba\u00f2\u0018\u007f", + "timeStamp": "2022-04-01T24:00:00-00:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_05.json new file mode 100644 index 0000000..9d58de3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_05.json @@ -0,0 +1,26 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "topic": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "timeStamp": "2022-04-01T24:00:00-00:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_06.json new file mode 100644 index 0000000..62c9220 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_06.json @@ -0,0 +1,26 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "topic": "0\u0000\u009a\uda84\ude06", + "timeStamp": "2022-04-01T24:00:00-00:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_07.json new file mode 100644 index 0000000..43b74c0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_07.json @@ -0,0 +1,26 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "topic": "\ubd07\u00e0c\u001dr\f", + "timeStamp": "2022-04-01T24:00:00-00:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_08.json new file mode 100644 index 0000000..e47eb6c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_08.json @@ -0,0 +1,26 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "topic": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "timeStamp": "2022-04-01T24:00:00-00:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_09.json new file mode 100644 index 0000000..29fe852 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_09.json @@ -0,0 +1,26 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "topic": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "timeStamp": "2022-04-01T24:00:00-00:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_10.json new file mode 100644 index 0000000..eb53592 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/EventPayload/topic/negatively_fuzzed_10.json @@ -0,0 +1,26 @@ +{ + "source": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:some-company:15:84fd2b1b" + }, + { + "type": "EventElement", + "value": "something3a3b97e8" + } + ] + }, + "observableReference": { + "type": "ModelReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:something:13:06d93ead" + } + ] + }, + "topic": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "timeStamp": "2022-04-01T24:00:00-00:00" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_01.json new file mode 100644 index 0000000..000c3d0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_01.json @@ -0,0 +1,3 @@ +{ + "name": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_02.json new file mode 100644 index 0000000..f411043 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_02.json @@ -0,0 +1,3 @@ +{ + "name": "\u990d\u0017\u00bd\u00e9" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_03.json new file mode 100644 index 0000000..8d96c08 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_03.json @@ -0,0 +1,3 @@ +{ + "name": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_04.json new file mode 100644 index 0000000..b6eaf7c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_04.json @@ -0,0 +1,3 @@ +{ + "name": "\u00ba\u00f2\u0018\u007f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_05.json new file mode 100644 index 0000000..cac1b1f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_05.json @@ -0,0 +1,3 @@ +{ + "name": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_06.json new file mode 100644 index 0000000..97c234e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_06.json @@ -0,0 +1,3 @@ +{ + "name": "0\u0000\u009a\uda84\ude06" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_07.json new file mode 100644 index 0000000..eb59e66 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_07.json @@ -0,0 +1,3 @@ +{ + "name": "\ubd07\u00e0c\u001dr\f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_08.json new file mode 100644 index 0000000..7948278 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_08.json @@ -0,0 +1,3 @@ +{ + "name": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_09.json new file mode 100644 index 0000000..c544c11 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_09.json @@ -0,0 +1,3 @@ +{ + "name": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_10.json new file mode 100644 index 0000000..9e8f20d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Extension/name/negatively_fuzzed_10.json @@ -0,0 +1,3 @@ +{ + "name": "\u00ea\u00f2\u000f\ud9d8\ude54U" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_01.json new file mode 100644 index 0000000..9a7a00a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "category": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_02.json new file mode 100644 index 0000000..ac19da5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "category": "\u990d\u0017\u00bd\u00e9", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_03.json new file mode 100644 index 0000000..50279ef --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "category": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_04.json new file mode 100644 index 0000000..ef3c326 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "category": "\u00ba\u00f2\u0018\u007f", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_05.json new file mode 100644 index 0000000..2400737 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "category": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_06.json new file mode 100644 index 0000000..5bdd533 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "category": "0\u0000\u009a\uda84\ude06", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_07.json new file mode 100644 index 0000000..e47104f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "category": "\ubd07\u00e0c\u001dr\f", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_08.json new file mode 100644 index 0000000..f77fea0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "category": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_09.json new file mode 100644 index 0000000..77695ab --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "category": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_10.json new file mode 100644 index 0000000..b452a14 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/category/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "category": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/empty.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/empty.json new file mode 100644 index 0000000..091bc72 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/empty.json @@ -0,0 +1,4 @@ +{ + "contentType": "", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_01.json new file mode 100644 index 0000000..6f84948 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "contentType": "\uda86\udf2e\udb69\udf6e\udae1\udefa7\u001e\u00fd\u00d1\u009d|\udbc6\uddcd", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_02.json new file mode 100644 index 0000000..6f84948 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "contentType": "\uda86\udf2e\udb69\udf6e\udae1\udefa7\u001e\u00fd\u00d1\u009d|\udbc6\uddcd", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_03.json new file mode 100644 index 0000000..6f42afb --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "contentType": "\ud845\udd39", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_04.json new file mode 100644 index 0000000..be51646 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "contentType": "\u00d0\u00d0", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_05.json new file mode 100644 index 0000000..d8f1712 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "contentType": "\udb37\udd7d\u00a7\u0085\u00b0\u00a2\udace\udc5a>3\udba3\udd37", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_06.json new file mode 100644 index 0000000..be751b2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "contentType": "q\u0095d", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_07.json new file mode 100644 index 0000000..96198e9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "contentType": "0", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_08.json new file mode 100644 index 0000000..091bc72 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "contentType": "", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_09.json new file mode 100644 index 0000000..886fd99 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "contentType": "\r|\u00e4", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_10.json new file mode 100644 index 0000000..39e1387 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "contentType": "\ud832\udfb0\ud832\udfb0", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/number.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/number.json new file mode 100644 index 0000000..a3701db --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/contentType/number.json @@ -0,0 +1,4 @@ +{ + "contentType": "1234", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_01.json new file mode 100644 index 0000000..7e5e419 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "idShort": "\uda2a\udebe\udb83\udfab7", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_02.json new file mode 100644 index 0000000..6283779 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u007f15", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_03.json new file mode 100644 index 0000000..fc3231a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "idShort": "66a\u0007 $\u0005\u0098V\u98b5<8f\udaf9\udc16\u0088;\u00c9\u00d02\u00fe\udae2\udce77y", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_04.json new file mode 100644 index 0000000..34aafe1 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u0087Y\ud900\udd7d\udaf4\ude2a", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_05.json new file mode 100644 index 0000000..b8f36b4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "idShort": "9\u4804\ud90d\udf5d", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_06.json new file mode 100644 index 0000000..03ba5d6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "idShort": "@", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_07.json new file mode 100644 index 0000000..db5aa7d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "idShort": "[?\u00cd\u00f40\u00d9\ud9a8\udcd4\u00ea\u0002\u00b6\ud820\udfebs\udacb\ude6e\u008dU\ud8d6\udc7f\u00b0\ud82d\udda6", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_08.json new file mode 100644 index 0000000..014c0cb --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u0084\u0005", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_09.json new file mode 100644 index 0000000..d3ee88e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u00ae\n|\u0013h\u000f\u00c8\u0081\u0080\udb35\udeccQ\uda66\udcec\u00a5\u00d5", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_10.json new file mode 100644 index 0000000..f86b210 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/idShort/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "idShort": "\uda3f\udc85\u0013\ud90d\udf5d", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_01.json new file mode 100644 index 0000000..2f9fc4a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "value": "\ud8eb\udfa4", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_02.json new file mode 100644 index 0000000..3180b1a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "value": "\udb37\udeae\uaa01", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_03.json new file mode 100644 index 0000000..e654fb9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "value": "\u00e7\u00f6", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_04.json new file mode 100644 index 0000000..a26720a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "value": "_\u0018\u00e5\u00a2\u0084z|\u009d\udbf0\ude8b\ud949\udd5e\udbb9\udd61i\udb0a\udf21-\u0081", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_05.json new file mode 100644 index 0000000..488b1c4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "value": "\u0086\u4023\ud819\uddc5", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_06.json new file mode 100644 index 0000000..64672b7 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "value": "\udb37\udeae\uaa01\ud966\udd0a", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_07.json new file mode 100644 index 0000000..71e71f4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "value": "\u0801\u0801\u007f\ud858\udea9", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_08.json new file mode 100644 index 0000000..c2a82dd --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "value": "\ue140P\u0081K\u00e2", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_09.json new file mode 100644 index 0000000..fbb81d0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "value": "\u00f0\"u", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_10.json new file mode 100644 index 0000000..f2d3fa3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "value": "00\ud800\udc07", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_made_up_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_made_up_01.json new file mode 100644 index 0000000..e5d02b4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_made_up_01.json @@ -0,0 +1,4 @@ +{ + "value": "http://exa mple.org", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_made_up_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_made_up_02.json new file mode 100644 index 0000000..99be1d4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/File/value/negatively_made_up_02.json @@ -0,0 +1,4 @@ +{ + "value": "://example.org", + "modelType": "File" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_01.json new file mode 100644 index 0000000..5445134 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "type": "EventElement", + "value": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_02.json new file mode 100644 index 0000000..323ddb2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "type": "EventElement", + "value": "\u990d\u0017\u00bd\u00e9" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_03.json new file mode 100644 index 0000000..5992969 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "type": "EventElement", + "value": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_04.json new file mode 100644 index 0000000..753b879 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "type": "EventElement", + "value": "\u00ba\u00f2\u0018\u007f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_05.json new file mode 100644 index 0000000..0f73de6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "type": "EventElement", + "value": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_06.json new file mode 100644 index 0000000..77d47d7 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "type": "EventElement", + "value": "0\u0000\u009a\uda84\ude06" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_07.json new file mode 100644 index 0000000..3f4aa65 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "type": "EventElement", + "value": "\ubd07\u00e0c\u001dr\f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_08.json new file mode 100644 index 0000000..1da541d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "type": "EventElement", + "value": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_09.json new file mode 100644 index 0000000..7c2b08b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "type": "EventElement", + "value": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_10.json new file mode 100644 index 0000000..b74a681 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Key/value/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "type": "EventElement", + "value": "\u00ea\u00f2\u000f\ud9d8\ude54U" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/empty.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/empty.json new file mode 100644 index 0000000..85e3109 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/empty.json @@ -0,0 +1,4 @@ +{ + "language": "", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/free_form_text.json new file mode 100644 index 0000000..371a3a4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/free_form_text.json @@ -0,0 +1,4 @@ +{ + "language": "some free-form text", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_01.json new file mode 100644 index 0000000..51a5c57 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "language": "\ud836\ude00\udb88\udc76\ud86e\udff6\ud934\udd55\u00bc\u00b0\u0007\u00ea\u008b\u0000\u0004\ud817\ude5a", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_02.json new file mode 100644 index 0000000..7a0359c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "language": "\u00dbg\udbd4\udd56\u00b2\ud9d5\ude34e\u00b4\uda1d\udf95", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_03.json new file mode 100644 index 0000000..a52b6f2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "language": "\udae7\udefd\udae7\udefd", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_04.json new file mode 100644 index 0000000..df7f726 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "language": "0", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_05.json new file mode 100644 index 0000000..e5266ac --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "language": "\udbc2\udf017111", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_06.json new file mode 100644 index 0000000..86945d9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "language": "\udb7f\ude8f", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_07.json new file mode 100644 index 0000000..68fc353 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "language": "\udae7\udefd", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_08.json new file mode 100644 index 0000000..ef64eea --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "language": "\u00f8P\u00ed", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_09.json new file mode 100644 index 0000000..79d633d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "language": "p\u00dc\ud9ce\udfcb\u00aeA\u00c7", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_10.json new file mode 100644 index 0000000..de6b7df --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/language/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "language": "\udb85\uddc8\u000b~\u00fb\u0095\udb19\udcc4", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_01.json new file mode 100644 index 0000000..923212d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_02.json new file mode 100644 index 0000000..28eece9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\u990d\u0017\u00bd\u00e9" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_03.json new file mode 100644 index 0000000..891df04 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_04.json new file mode 100644 index 0000000..b01ad8c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\u00ba\u00f2\u0018\u007f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_05.json new file mode 100644 index 0000000..cc9d39e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_06.json new file mode 100644 index 0000000..90317a4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "0\u0000\u009a\uda84\ude06" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_07.json new file mode 100644 index 0000000..e9a4dc8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\ubd07\u00e0c\u001dr\f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_08.json new file mode 100644 index 0000000..8f5dbd3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_09.json new file mode 100644 index 0000000..c090e3a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_10.json new file mode 100644 index 0000000..b31dac5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringDefinitionTypeIec61360/text/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\u00ea\u00f2\u000f\ud9d8\ude54U" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/empty.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/empty.json new file mode 100644 index 0000000..85e3109 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/empty.json @@ -0,0 +1,4 @@ +{ + "language": "", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/free_form_text.json new file mode 100644 index 0000000..371a3a4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/free_form_text.json @@ -0,0 +1,4 @@ +{ + "language": "some free-form text", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_01.json new file mode 100644 index 0000000..51a5c57 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "language": "\ud836\ude00\udb88\udc76\ud86e\udff6\ud934\udd55\u00bc\u00b0\u0007\u00ea\u008b\u0000\u0004\ud817\ude5a", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_02.json new file mode 100644 index 0000000..7a0359c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "language": "\u00dbg\udbd4\udd56\u00b2\ud9d5\ude34e\u00b4\uda1d\udf95", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_03.json new file mode 100644 index 0000000..a52b6f2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "language": "\udae7\udefd\udae7\udefd", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_04.json new file mode 100644 index 0000000..df7f726 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "language": "0", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_05.json new file mode 100644 index 0000000..e5266ac --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "language": "\udbc2\udf017111", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_06.json new file mode 100644 index 0000000..86945d9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "language": "\udb7f\ude8f", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_07.json new file mode 100644 index 0000000..68fc353 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "language": "\udae7\udefd", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_08.json new file mode 100644 index 0000000..ef64eea --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "language": "\u00f8P\u00ed", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_09.json new file mode 100644 index 0000000..79d633d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "language": "p\u00dc\ud9ce\udfcb\u00aeA\u00c7", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_10.json new file mode 100644 index 0000000..de6b7df --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/language/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "language": "\udb85\uddc8\u000b~\u00fb\u0095\udb19\udcc4", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_01.json new file mode 100644 index 0000000..923212d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_02.json new file mode 100644 index 0000000..28eece9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\u990d\u0017\u00bd\u00e9" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_03.json new file mode 100644 index 0000000..891df04 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_04.json new file mode 100644 index 0000000..b01ad8c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\u00ba\u00f2\u0018\u007f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_05.json new file mode 100644 index 0000000..cc9d39e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_06.json new file mode 100644 index 0000000..90317a4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "0\u0000\u009a\uda84\ude06" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_07.json new file mode 100644 index 0000000..e9a4dc8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\ubd07\u00e0c\u001dr\f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_08.json new file mode 100644 index 0000000..8f5dbd3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_09.json new file mode 100644 index 0000000..c090e3a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_10.json new file mode 100644 index 0000000..b31dac5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringNameType/text/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\u00ea\u00f2\u000f\ud9d8\ude54U" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/empty.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/empty.json new file mode 100644 index 0000000..85e3109 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/empty.json @@ -0,0 +1,4 @@ +{ + "language": "", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/free_form_text.json new file mode 100644 index 0000000..371a3a4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/free_form_text.json @@ -0,0 +1,4 @@ +{ + "language": "some free-form text", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_01.json new file mode 100644 index 0000000..51a5c57 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "language": "\ud836\ude00\udb88\udc76\ud86e\udff6\ud934\udd55\u00bc\u00b0\u0007\u00ea\u008b\u0000\u0004\ud817\ude5a", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_02.json new file mode 100644 index 0000000..7a0359c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "language": "\u00dbg\udbd4\udd56\u00b2\ud9d5\ude34e\u00b4\uda1d\udf95", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_03.json new file mode 100644 index 0000000..a52b6f2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "language": "\udae7\udefd\udae7\udefd", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_04.json new file mode 100644 index 0000000..df7f726 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "language": "0", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_05.json new file mode 100644 index 0000000..e5266ac --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "language": "\udbc2\udf017111", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_06.json new file mode 100644 index 0000000..86945d9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "language": "\udb7f\ude8f", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_07.json new file mode 100644 index 0000000..68fc353 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "language": "\udae7\udefd", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_08.json new file mode 100644 index 0000000..ef64eea --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "language": "\u00f8P\u00ed", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_09.json new file mode 100644 index 0000000..79d633d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "language": "p\u00dc\ud9ce\udfcb\u00aeA\u00c7", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_10.json new file mode 100644 index 0000000..de6b7df --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/language/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "language": "\udb85\uddc8\u000b~\u00fb\u0095\udb19\udcc4", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_01.json new file mode 100644 index 0000000..923212d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_02.json new file mode 100644 index 0000000..28eece9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\u990d\u0017\u00bd\u00e9" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_03.json new file mode 100644 index 0000000..891df04 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_04.json new file mode 100644 index 0000000..b01ad8c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\u00ba\u00f2\u0018\u007f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_05.json new file mode 100644 index 0000000..cc9d39e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_06.json new file mode 100644 index 0000000..90317a4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "0\u0000\u009a\uda84\ude06" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_07.json new file mode 100644 index 0000000..e9a4dc8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\ubd07\u00e0c\u001dr\f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_08.json new file mode 100644 index 0000000..8f5dbd3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_09.json new file mode 100644 index 0000000..c090e3a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_10.json new file mode 100644 index 0000000..b31dac5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringPreferredNameTypeIec61360/text/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\u00ea\u00f2\u000f\ud9d8\ude54U" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/empty.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/empty.json new file mode 100644 index 0000000..85e3109 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/empty.json @@ -0,0 +1,4 @@ +{ + "language": "", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/free_form_text.json new file mode 100644 index 0000000..371a3a4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/free_form_text.json @@ -0,0 +1,4 @@ +{ + "language": "some free-form text", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_01.json new file mode 100644 index 0000000..51a5c57 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "language": "\ud836\ude00\udb88\udc76\ud86e\udff6\ud934\udd55\u00bc\u00b0\u0007\u00ea\u008b\u0000\u0004\ud817\ude5a", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_02.json new file mode 100644 index 0000000..7a0359c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "language": "\u00dbg\udbd4\udd56\u00b2\ud9d5\ude34e\u00b4\uda1d\udf95", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_03.json new file mode 100644 index 0000000..a52b6f2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "language": "\udae7\udefd\udae7\udefd", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_04.json new file mode 100644 index 0000000..df7f726 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "language": "0", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_05.json new file mode 100644 index 0000000..e5266ac --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "language": "\udbc2\udf017111", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_06.json new file mode 100644 index 0000000..86945d9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "language": "\udb7f\ude8f", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_07.json new file mode 100644 index 0000000..68fc353 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "language": "\udae7\udefd", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_08.json new file mode 100644 index 0000000..ef64eea --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "language": "\u00f8P\u00ed", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_09.json new file mode 100644 index 0000000..79d633d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "language": "p\u00dc\ud9ce\udfcb\u00aeA\u00c7", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_10.json new file mode 100644 index 0000000..de6b7df --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/language/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "language": "\udb85\uddc8\u000b~\u00fb\u0095\udb19\udcc4", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_01.json new file mode 100644 index 0000000..923212d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_02.json new file mode 100644 index 0000000..28eece9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\u990d\u0017\u00bd\u00e9" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_03.json new file mode 100644 index 0000000..891df04 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_04.json new file mode 100644 index 0000000..b01ad8c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\u00ba\u00f2\u0018\u007f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_05.json new file mode 100644 index 0000000..cc9d39e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_06.json new file mode 100644 index 0000000..90317a4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "0\u0000\u009a\uda84\ude06" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_07.json new file mode 100644 index 0000000..e9a4dc8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\ubd07\u00e0c\u001dr\f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_08.json new file mode 100644 index 0000000..8f5dbd3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_09.json new file mode 100644 index 0000000..c090e3a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_10.json new file mode 100644 index 0000000..b31dac5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringShortNameTypeIec61360/text/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\u00ea\u00f2\u000f\ud9d8\ude54U" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/empty.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/empty.json new file mode 100644 index 0000000..85e3109 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/empty.json @@ -0,0 +1,4 @@ +{ + "language": "", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/free_form_text.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/free_form_text.json new file mode 100644 index 0000000..371a3a4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/free_form_text.json @@ -0,0 +1,4 @@ +{ + "language": "some free-form text", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_01.json new file mode 100644 index 0000000..51a5c57 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "language": "\ud836\ude00\udb88\udc76\ud86e\udff6\ud934\udd55\u00bc\u00b0\u0007\u00ea\u008b\u0000\u0004\ud817\ude5a", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_02.json new file mode 100644 index 0000000..7a0359c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "language": "\u00dbg\udbd4\udd56\u00b2\ud9d5\ude34e\u00b4\uda1d\udf95", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_03.json new file mode 100644 index 0000000..a52b6f2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "language": "\udae7\udefd\udae7\udefd", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_04.json new file mode 100644 index 0000000..df7f726 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "language": "0", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_05.json new file mode 100644 index 0000000..e5266ac --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "language": "\udbc2\udf017111", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_06.json new file mode 100644 index 0000000..86945d9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "language": "\udb7f\ude8f", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_07.json new file mode 100644 index 0000000..68fc353 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "language": "\udae7\udefd", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_08.json new file mode 100644 index 0000000..ef64eea --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "language": "\u00f8P\u00ed", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_09.json new file mode 100644 index 0000000..79d633d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "language": "p\u00dc\ud9ce\udfcb\u00aeA\u00c7", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_10.json new file mode 100644 index 0000000..de6b7df --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/language/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "language": "\udb85\uddc8\u000b~\u00fb\u0095\udb19\udcc4", + "text": "J5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_01.json new file mode 100644 index 0000000..923212d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_02.json new file mode 100644 index 0000000..28eece9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\u990d\u0017\u00bd\u00e9" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_03.json new file mode 100644 index 0000000..891df04 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_04.json new file mode 100644 index 0000000..b01ad8c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\u00ba\u00f2\u0018\u007f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_05.json new file mode 100644 index 0000000..cc9d39e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_06.json new file mode 100644 index 0000000..90317a4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "0\u0000\u009a\uda84\ude06" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_07.json new file mode 100644 index 0000000..e9a4dc8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\ubd07\u00e0c\u001dr\f" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_08.json new file mode 100644 index 0000000..8f5dbd3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_09.json new file mode 100644 index 0000000..c090e3a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_10.json new file mode 100644 index 0000000..b31dac5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/LangStringTextType/text/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "language": "en-JM-x-8fafefb1", + "text": "\u00ea\u00f2\u000f\ud9d8\ude54U" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_01.json new file mode 100644 index 0000000..dc1d2ba --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "category": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "modelType": "MultiLanguageProperty" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_02.json new file mode 100644 index 0000000..b023905 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "category": "\u990d\u0017\u00bd\u00e9", + "modelType": "MultiLanguageProperty" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_03.json new file mode 100644 index 0000000..af7a24d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "category": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "modelType": "MultiLanguageProperty" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_04.json new file mode 100644 index 0000000..8f65dec --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "category": "\u00ba\u00f2\u0018\u007f", + "modelType": "MultiLanguageProperty" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_05.json new file mode 100644 index 0000000..de52663 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "category": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "modelType": "MultiLanguageProperty" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_06.json new file mode 100644 index 0000000..1433fd5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "category": "0\u0000\u009a\uda84\ude06", + "modelType": "MultiLanguageProperty" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_07.json new file mode 100644 index 0000000..3ef0d19 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "category": "\ubd07\u00e0c\u001dr\f", + "modelType": "MultiLanguageProperty" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_08.json new file mode 100644 index 0000000..9dffd5c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "category": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "modelType": "MultiLanguageProperty" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_09.json new file mode 100644 index 0000000..a8ba265 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "category": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "modelType": "MultiLanguageProperty" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_10.json new file mode 100644 index 0000000..5839de1 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/category/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "category": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "modelType": "MultiLanguageProperty" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_01.json new file mode 100644 index 0000000..6e45888 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "idShort": "\uda2a\udebe\udb83\udfab7", + "modelType": "MultiLanguageProperty" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_02.json new file mode 100644 index 0000000..dc150c3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u007f15", + "modelType": "MultiLanguageProperty" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_03.json new file mode 100644 index 0000000..d9aec11 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "idShort": "66a\u0007 $\u0005\u0098V\u98b5<8f\udaf9\udc16\u0088;\u00c9\u00d02\u00fe\udae2\udce77y", + "modelType": "MultiLanguageProperty" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_04.json new file mode 100644 index 0000000..fcd7184 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u0087Y\ud900\udd7d\udaf4\ude2a", + "modelType": "MultiLanguageProperty" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_05.json new file mode 100644 index 0000000..a698a52 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "idShort": "9\u4804\ud90d\udf5d", + "modelType": "MultiLanguageProperty" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_06.json new file mode 100644 index 0000000..2a16262 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "idShort": "@", + "modelType": "MultiLanguageProperty" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_07.json new file mode 100644 index 0000000..b937e73 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "idShort": "[?\u00cd\u00f40\u00d9\ud9a8\udcd4\u00ea\u0002\u00b6\ud820\udfebs\udacb\ude6e\u008dU\ud8d6\udc7f\u00b0\ud82d\udda6", + "modelType": "MultiLanguageProperty" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_08.json new file mode 100644 index 0000000..627547d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u0084\u0005", + "modelType": "MultiLanguageProperty" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_09.json new file mode 100644 index 0000000..70253f5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u00ae\n|\u0013h\u000f\u00c8\u0081\u0080\udb35\udeccQ\uda66\udcec\u00a5\u00d5", + "modelType": "MultiLanguageProperty" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_10.json new file mode 100644 index 0000000..aa14496 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/MultiLanguageProperty/idShort/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "idShort": "\uda3f\udc85\u0013\ud90d\udf5d", + "modelType": "MultiLanguageProperty" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_01.json new file mode 100644 index 0000000..33245d2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "category": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "modelType": "Operation" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_02.json new file mode 100644 index 0000000..b4c9589 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "category": "\u990d\u0017\u00bd\u00e9", + "modelType": "Operation" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_03.json new file mode 100644 index 0000000..3332588 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "category": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "modelType": "Operation" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_04.json new file mode 100644 index 0000000..f252b1e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "category": "\u00ba\u00f2\u0018\u007f", + "modelType": "Operation" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_05.json new file mode 100644 index 0000000..601f1f3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "category": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "modelType": "Operation" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_06.json new file mode 100644 index 0000000..b8d1c21 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "category": "0\u0000\u009a\uda84\ude06", + "modelType": "Operation" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_07.json new file mode 100644 index 0000000..846db8e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "category": "\ubd07\u00e0c\u001dr\f", + "modelType": "Operation" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_08.json new file mode 100644 index 0000000..13475b5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "category": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "modelType": "Operation" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_09.json new file mode 100644 index 0000000..48f4fae --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "category": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "modelType": "Operation" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_10.json new file mode 100644 index 0000000..054e9fe --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/category/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "category": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "modelType": "Operation" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_01.json new file mode 100644 index 0000000..3e4db6e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "idShort": "\uda2a\udebe\udb83\udfab7", + "modelType": "Operation" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_02.json new file mode 100644 index 0000000..1977aed --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u007f15", + "modelType": "Operation" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_03.json new file mode 100644 index 0000000..f22e739 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "idShort": "66a\u0007 $\u0005\u0098V\u98b5<8f\udaf9\udc16\u0088;\u00c9\u00d02\u00fe\udae2\udce77y", + "modelType": "Operation" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_04.json new file mode 100644 index 0000000..6af8d56 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u0087Y\ud900\udd7d\udaf4\ude2a", + "modelType": "Operation" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_05.json new file mode 100644 index 0000000..12d4f69 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "idShort": "9\u4804\ud90d\udf5d", + "modelType": "Operation" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_06.json new file mode 100644 index 0000000..15e4b1a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "idShort": "@", + "modelType": "Operation" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_07.json new file mode 100644 index 0000000..82a2a99 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "idShort": "[?\u00cd\u00f40\u00d9\ud9a8\udcd4\u00ea\u0002\u00b6\ud820\udfebs\udacb\ude6e\u008dU\ud8d6\udc7f\u00b0\ud82d\udda6", + "modelType": "Operation" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_08.json new file mode 100644 index 0000000..79c6bc9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u0084\u0005", + "modelType": "Operation" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_09.json new file mode 100644 index 0000000..ab6b492 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u00ae\n|\u0013h\u000f\u00c8\u0081\u0080\udb35\udeccQ\uda66\udcec\u00a5\u00d5", + "modelType": "Operation" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_10.json new file mode 100644 index 0000000..8a3a89a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Operation/idShort/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "idShort": "\uda3f\udc85\u0013\ud90d\udf5d", + "modelType": "Operation" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_01.json new file mode 100644 index 0000000..7589955 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_01.json @@ -0,0 +1,5 @@ +{ + "category": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "valueType": "xs:gDay", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_02.json new file mode 100644 index 0000000..fdc7ef5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_02.json @@ -0,0 +1,5 @@ +{ + "category": "\u990d\u0017\u00bd\u00e9", + "valueType": "xs:gDay", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_03.json new file mode 100644 index 0000000..f3b3dcb --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_03.json @@ -0,0 +1,5 @@ +{ + "category": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "valueType": "xs:gDay", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_04.json new file mode 100644 index 0000000..a3f5443 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_04.json @@ -0,0 +1,5 @@ +{ + "category": "\u00ba\u00f2\u0018\u007f", + "valueType": "xs:gDay", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_05.json new file mode 100644 index 0000000..d18e485 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_05.json @@ -0,0 +1,5 @@ +{ + "category": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "valueType": "xs:gDay", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_06.json new file mode 100644 index 0000000..be7ee7b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_06.json @@ -0,0 +1,5 @@ +{ + "category": "0\u0000\u009a\uda84\ude06", + "valueType": "xs:gDay", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_07.json new file mode 100644 index 0000000..b61fffa --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_07.json @@ -0,0 +1,5 @@ +{ + "category": "\ubd07\u00e0c\u001dr\f", + "valueType": "xs:gDay", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_08.json new file mode 100644 index 0000000..9961111 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_08.json @@ -0,0 +1,5 @@ +{ + "category": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "valueType": "xs:gDay", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_09.json new file mode 100644 index 0000000..9e6e01b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_09.json @@ -0,0 +1,5 @@ +{ + "category": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "valueType": "xs:gDay", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_10.json new file mode 100644 index 0000000..f28abed --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/category/negatively_fuzzed_10.json @@ -0,0 +1,5 @@ +{ + "category": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "valueType": "xs:gDay", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_01.json new file mode 100644 index 0000000..62b85e5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_01.json @@ -0,0 +1,5 @@ +{ + "idShort": "\uda2a\udebe\udb83\udfab7", + "valueType": "xs:gDay", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_02.json new file mode 100644 index 0000000..f85b43a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_02.json @@ -0,0 +1,5 @@ +{ + "idShort": "\u007f15", + "valueType": "xs:gDay", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_03.json new file mode 100644 index 0000000..ecef431 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_03.json @@ -0,0 +1,5 @@ +{ + "idShort": "66a\u0007 $\u0005\u0098V\u98b5<8f\udaf9\udc16\u0088;\u00c9\u00d02\u00fe\udae2\udce77y", + "valueType": "xs:gDay", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_04.json new file mode 100644 index 0000000..70efa45 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_04.json @@ -0,0 +1,5 @@ +{ + "idShort": "\u0087Y\ud900\udd7d\udaf4\ude2a", + "valueType": "xs:gDay", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_05.json new file mode 100644 index 0000000..407b47b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_05.json @@ -0,0 +1,5 @@ +{ + "idShort": "9\u4804\ud90d\udf5d", + "valueType": "xs:gDay", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_06.json new file mode 100644 index 0000000..213f416 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_06.json @@ -0,0 +1,5 @@ +{ + "idShort": "@", + "valueType": "xs:gDay", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_07.json new file mode 100644 index 0000000..f8ba50c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_07.json @@ -0,0 +1,5 @@ +{ + "idShort": "[?\u00cd\u00f40\u00d9\ud9a8\udcd4\u00ea\u0002\u00b6\ud820\udfebs\udacb\ude6e\u008dU\ud8d6\udc7f\u00b0\ud82d\udda6", + "valueType": "xs:gDay", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_08.json new file mode 100644 index 0000000..f61888d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_08.json @@ -0,0 +1,5 @@ +{ + "idShort": "\u0084\u0005", + "valueType": "xs:gDay", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_09.json new file mode 100644 index 0000000..e885e6f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_09.json @@ -0,0 +1,5 @@ +{ + "idShort": "\u00ae\n|\u0013h\u000f\u00c8\u0081\u0080\udb35\udeccQ\uda66\udcec\u00a5\u00d5", + "valueType": "xs:gDay", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_10.json new file mode 100644 index 0000000..47d74bb --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Property/idShort/negatively_fuzzed_10.json @@ -0,0 +1,5 @@ +{ + "idShort": "\uda3f\udc85\u0013\ud90d\udf5d", + "valueType": "xs:gDay", + "modelType": "Property" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_01.json new file mode 100644 index 0000000..b051bdd --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "type": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "valueType": "xs:gDay" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_02.json new file mode 100644 index 0000000..4672bbe --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "type": "\u990d\u0017\u00bd\u00e9", + "valueType": "xs:gDay" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_03.json new file mode 100644 index 0000000..c3dbda9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "type": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "valueType": "xs:gDay" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_04.json new file mode 100644 index 0000000..4a51ca5 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "type": "\u00ba\u00f2\u0018\u007f", + "valueType": "xs:gDay" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_05.json new file mode 100644 index 0000000..a52242f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "type": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "valueType": "xs:gDay" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_06.json new file mode 100644 index 0000000..01e32f4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "type": "0\u0000\u009a\uda84\ude06", + "valueType": "xs:gDay" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_07.json new file mode 100644 index 0000000..726c254 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "type": "\ubd07\u00e0c\u001dr\f", + "valueType": "xs:gDay" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_08.json new file mode 100644 index 0000000..be5c34d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "type": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "valueType": "xs:gDay" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_09.json new file mode 100644 index 0000000..4c70d22 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "type": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "valueType": "xs:gDay" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_10.json new file mode 100644 index 0000000..1312cb4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Qualifier/type/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "type": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "valueType": "xs:gDay" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_01.json new file mode 100644 index 0000000..7398698 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_01.json @@ -0,0 +1,5 @@ +{ + "category": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "valueType": "xs:gDay", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_02.json new file mode 100644 index 0000000..d1487b0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_02.json @@ -0,0 +1,5 @@ +{ + "category": "\u990d\u0017\u00bd\u00e9", + "valueType": "xs:gDay", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_03.json new file mode 100644 index 0000000..17b7f2c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_03.json @@ -0,0 +1,5 @@ +{ + "category": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "valueType": "xs:gDay", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_04.json new file mode 100644 index 0000000..967a95f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_04.json @@ -0,0 +1,5 @@ +{ + "category": "\u00ba\u00f2\u0018\u007f", + "valueType": "xs:gDay", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_05.json new file mode 100644 index 0000000..817eab2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_05.json @@ -0,0 +1,5 @@ +{ + "category": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "valueType": "xs:gDay", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_06.json new file mode 100644 index 0000000..cdf7749 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_06.json @@ -0,0 +1,5 @@ +{ + "category": "0\u0000\u009a\uda84\ude06", + "valueType": "xs:gDay", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_07.json new file mode 100644 index 0000000..572bdc4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_07.json @@ -0,0 +1,5 @@ +{ + "category": "\ubd07\u00e0c\u001dr\f", + "valueType": "xs:gDay", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_08.json new file mode 100644 index 0000000..4beece7 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_08.json @@ -0,0 +1,5 @@ +{ + "category": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "valueType": "xs:gDay", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_09.json new file mode 100644 index 0000000..fac86f7 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_09.json @@ -0,0 +1,5 @@ +{ + "category": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "valueType": "xs:gDay", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_10.json new file mode 100644 index 0000000..657c8a6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/category/negatively_fuzzed_10.json @@ -0,0 +1,5 @@ +{ + "category": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "valueType": "xs:gDay", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_01.json new file mode 100644 index 0000000..77aee25 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_01.json @@ -0,0 +1,5 @@ +{ + "idShort": "\uda2a\udebe\udb83\udfab7", + "valueType": "xs:gDay", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_02.json new file mode 100644 index 0000000..15a99cf --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_02.json @@ -0,0 +1,5 @@ +{ + "idShort": "\u007f15", + "valueType": "xs:gDay", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_03.json new file mode 100644 index 0000000..745ecde --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_03.json @@ -0,0 +1,5 @@ +{ + "idShort": "66a\u0007 $\u0005\u0098V\u98b5<8f\udaf9\udc16\u0088;\u00c9\u00d02\u00fe\udae2\udce77y", + "valueType": "xs:gDay", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_04.json new file mode 100644 index 0000000..07f2fc4 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_04.json @@ -0,0 +1,5 @@ +{ + "idShort": "\u0087Y\ud900\udd7d\udaf4\ude2a", + "valueType": "xs:gDay", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_05.json new file mode 100644 index 0000000..4827aa8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_05.json @@ -0,0 +1,5 @@ +{ + "idShort": "9\u4804\ud90d\udf5d", + "valueType": "xs:gDay", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_06.json new file mode 100644 index 0000000..d7e9c42 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_06.json @@ -0,0 +1,5 @@ +{ + "idShort": "@", + "valueType": "xs:gDay", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_07.json new file mode 100644 index 0000000..595dfda --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_07.json @@ -0,0 +1,5 @@ +{ + "idShort": "[?\u00cd\u00f40\u00d9\ud9a8\udcd4\u00ea\u0002\u00b6\ud820\udfebs\udacb\ude6e\u008dU\ud8d6\udc7f\u00b0\ud82d\udda6", + "valueType": "xs:gDay", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_08.json new file mode 100644 index 0000000..91069c2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_08.json @@ -0,0 +1,5 @@ +{ + "idShort": "\u0084\u0005", + "valueType": "xs:gDay", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_09.json new file mode 100644 index 0000000..4f0bdeb --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_09.json @@ -0,0 +1,5 @@ +{ + "idShort": "\u00ae\n|\u0013h\u000f\u00c8\u0081\u0080\udb35\udeccQ\uda66\udcec\u00a5\u00d5", + "valueType": "xs:gDay", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_10.json new file mode 100644 index 0000000..63fbc2d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Range/idShort/negatively_fuzzed_10.json @@ -0,0 +1,5 @@ +{ + "idShort": "\uda3f\udc85\u0013\ud90d\udf5d", + "valueType": "xs:gDay", + "modelType": "Range" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_01.json new file mode 100644 index 0000000..f719210 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "category": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "modelType": "ReferenceElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_02.json new file mode 100644 index 0000000..92b2018 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "category": "\u990d\u0017\u00bd\u00e9", + "modelType": "ReferenceElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_03.json new file mode 100644 index 0000000..40f014f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "category": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "modelType": "ReferenceElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_04.json new file mode 100644 index 0000000..accb203 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "category": "\u00ba\u00f2\u0018\u007f", + "modelType": "ReferenceElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_05.json new file mode 100644 index 0000000..eab6380 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "category": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "modelType": "ReferenceElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_06.json new file mode 100644 index 0000000..ca084ea --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "category": "0\u0000\u009a\uda84\ude06", + "modelType": "ReferenceElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_07.json new file mode 100644 index 0000000..7974d2b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "category": "\ubd07\u00e0c\u001dr\f", + "modelType": "ReferenceElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_08.json new file mode 100644 index 0000000..ae93d21 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "category": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "modelType": "ReferenceElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_09.json new file mode 100644 index 0000000..cf009b6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "category": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "modelType": "ReferenceElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_10.json new file mode 100644 index 0000000..588cb81 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/category/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "category": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "modelType": "ReferenceElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_01.json new file mode 100644 index 0000000..c92f6b0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "idShort": "\uda2a\udebe\udb83\udfab7", + "modelType": "ReferenceElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_02.json new file mode 100644 index 0000000..72d1b58 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u007f15", + "modelType": "ReferenceElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_03.json new file mode 100644 index 0000000..49f5b9b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "idShort": "66a\u0007 $\u0005\u0098V\u98b5<8f\udaf9\udc16\u0088;\u00c9\u00d02\u00fe\udae2\udce77y", + "modelType": "ReferenceElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_04.json new file mode 100644 index 0000000..7c6b371 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u0087Y\ud900\udd7d\udaf4\ude2a", + "modelType": "ReferenceElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_05.json new file mode 100644 index 0000000..921c56b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "idShort": "9\u4804\ud90d\udf5d", + "modelType": "ReferenceElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_06.json new file mode 100644 index 0000000..4d34eab --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "idShort": "@", + "modelType": "ReferenceElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_07.json new file mode 100644 index 0000000..1e2db02 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "idShort": "[?\u00cd\u00f40\u00d9\ud9a8\udcd4\u00ea\u0002\u00b6\ud820\udfebs\udacb\ude6e\u008dU\ud8d6\udc7f\u00b0\ud82d\udda6", + "modelType": "ReferenceElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_08.json new file mode 100644 index 0000000..a52d7a2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u0084\u0005", + "modelType": "ReferenceElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_09.json new file mode 100644 index 0000000..1039491 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u00ae\n|\u0013h\u000f\u00c8\u0081\u0080\udb35\udeccQ\uda66\udcec\u00a5\u00d5", + "modelType": "ReferenceElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_10.json new file mode 100644 index 0000000..419f271 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/ReferenceElement/idShort/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "idShort": "\uda3f\udc85\u0013\ud90d\udf5d", + "modelType": "ReferenceElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_01.json new file mode 100644 index 0000000..12b0ab2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "category": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "modelType": "RelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_02.json new file mode 100644 index 0000000..697abbd --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "category": "\u990d\u0017\u00bd\u00e9", + "modelType": "RelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_03.json new file mode 100644 index 0000000..b3b6c22 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "category": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "modelType": "RelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_04.json new file mode 100644 index 0000000..6a0e8f8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "category": "\u00ba\u00f2\u0018\u007f", + "modelType": "RelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_05.json new file mode 100644 index 0000000..15c62d2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "category": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "modelType": "RelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_06.json new file mode 100644 index 0000000..45ab2ef --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "category": "0\u0000\u009a\uda84\ude06", + "modelType": "RelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_07.json new file mode 100644 index 0000000..2afaad9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "category": "\ubd07\u00e0c\u001dr\f", + "modelType": "RelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_08.json new file mode 100644 index 0000000..3f0f440 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "category": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "modelType": "RelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_09.json new file mode 100644 index 0000000..d29e727 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "category": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "modelType": "RelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_10.json new file mode 100644 index 0000000..a4e3702 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/category/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "category": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "modelType": "RelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_01.json new file mode 100644 index 0000000..823bed3 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "idShort": "\uda2a\udebe\udb83\udfab7", + "modelType": "RelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_02.json new file mode 100644 index 0000000..3898cf8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u007f15", + "modelType": "RelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_03.json new file mode 100644 index 0000000..de66485 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "idShort": "66a\u0007 $\u0005\u0098V\u98b5<8f\udaf9\udc16\u0088;\u00c9\u00d02\u00fe\udae2\udce77y", + "modelType": "RelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_04.json new file mode 100644 index 0000000..41e38dc --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u0087Y\ud900\udd7d\udaf4\ude2a", + "modelType": "RelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_05.json new file mode 100644 index 0000000..0b6c687 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "idShort": "9\u4804\ud90d\udf5d", + "modelType": "RelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_06.json new file mode 100644 index 0000000..8ba883c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "idShort": "@", + "modelType": "RelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_07.json new file mode 100644 index 0000000..3baa310 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "idShort": "[?\u00cd\u00f40\u00d9\ud9a8\udcd4\u00ea\u0002\u00b6\ud820\udfebs\udacb\ude6e\u008dU\ud8d6\udc7f\u00b0\ud82d\udda6", + "modelType": "RelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_08.json new file mode 100644 index 0000000..3214d0e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u0084\u0005", + "modelType": "RelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_09.json new file mode 100644 index 0000000..749b72a --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "idShort": "\u00ae\n|\u0013h\u000f\u00c8\u0081\u0080\udb35\udeccQ\uda66\udcec\u00a5\u00d5", + "modelType": "RelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_10.json new file mode 100644 index 0000000..2104e90 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/RelationshipElement/idShort/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "idShort": "\uda3f\udc85\u0013\ud90d\udf5d", + "modelType": "RelationshipElement" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/empty.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/empty.json new file mode 100644 index 0000000..ea2d9be --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/empty.json @@ -0,0 +1,4 @@ +{ + "path": "#;", + "contentType": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_01.json new file mode 100644 index 0000000..47f162e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "path": "#;", + "contentType": "\uda86\udf2e\udb69\udf6e\udae1\udefa7\u001e\u00fd\u00d1\u009d|\udbc6\uddcd" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_02.json new file mode 100644 index 0000000..47f162e --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "path": "#;", + "contentType": "\uda86\udf2e\udb69\udf6e\udae1\udefa7\u001e\u00fd\u00d1\u009d|\udbc6\uddcd" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_03.json new file mode 100644 index 0000000..34791ea --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "path": "#;", + "contentType": "\ud845\udd39" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_04.json new file mode 100644 index 0000000..b6ac3c2 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "path": "#;", + "contentType": "\u00d0\u00d0" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_05.json new file mode 100644 index 0000000..baa6b07 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "path": "#;", + "contentType": "\udb37\udd7d\u00a7\u0085\u00b0\u00a2\udace\udc5a>3\udba3\udd37" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_06.json new file mode 100644 index 0000000..8ef6185 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "path": "#;", + "contentType": "q\u0095d" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_07.json new file mode 100644 index 0000000..08b8efb --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "path": "#;", + "contentType": "0" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_08.json new file mode 100644 index 0000000..ea2d9be --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "path": "#;", + "contentType": "" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_09.json new file mode 100644 index 0000000..b71780f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "path": "#;", + "contentType": "\r|\u00e4" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_10.json new file mode 100644 index 0000000..2e8b85d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "path": "#;", + "contentType": "\ud832\udfb0\ud832\udfb0" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/number.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/number.json new file mode 100644 index 0000000..48d6514 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/contentType/number.json @@ -0,0 +1,4 @@ +{ + "path": "#;", + "contentType": "1234" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_01.json new file mode 100644 index 0000000..e0a804c --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_01.json @@ -0,0 +1,3 @@ +{ + "path": "\ud8eb\udfa4" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_02.json new file mode 100644 index 0000000..c54212f --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_02.json @@ -0,0 +1,3 @@ +{ + "path": "\udb37\udeae\uaa01" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_03.json new file mode 100644 index 0000000..88fa64b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_03.json @@ -0,0 +1,3 @@ +{ + "path": "\u00e7\u00f6" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_04.json new file mode 100644 index 0000000..73706b9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_04.json @@ -0,0 +1,3 @@ +{ + "path": "_\u0018\u00e5\u00a2\u0084z|\u009d\udbf0\ude8b\ud949\udd5e\udbb9\udd61i\udb0a\udf21-\u0081" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_05.json new file mode 100644 index 0000000..f9288a8 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_05.json @@ -0,0 +1,3 @@ +{ + "path": "\u0086\u4023\ud819\uddc5" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_06.json new file mode 100644 index 0000000..5df6a74 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_06.json @@ -0,0 +1,3 @@ +{ + "path": "\udb37\udeae\uaa01\ud966\udd0a" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_07.json new file mode 100644 index 0000000..fdc1ddb --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_07.json @@ -0,0 +1,3 @@ +{ + "path": "\u0801\u0801\u007f\ud858\udea9" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_08.json new file mode 100644 index 0000000..85cd654 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_08.json @@ -0,0 +1,3 @@ +{ + "path": "\ue140P\u0081K\u00e2" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_09.json new file mode 100644 index 0000000..ce3748b --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_09.json @@ -0,0 +1,3 @@ +{ + "path": "\u00f0\"u" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_10.json new file mode 100644 index 0000000..8a36caf --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_fuzzed_10.json @@ -0,0 +1,3 @@ +{ + "path": "00\ud800\udc07" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_made_up_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_made_up_01.json new file mode 100644 index 0000000..04d04bb --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_made_up_01.json @@ -0,0 +1,3 @@ +{ + "path": "http://exa mple.org" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_made_up_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_made_up_02.json new file mode 100644 index 0000000..4ae2615 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/Resource/path/negatively_made_up_02.json @@ -0,0 +1,3 @@ +{ + "path": "://example.org" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_01.json new file mode 100644 index 0000000..48991a1 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "name": "\ud9da\udf7a\u00d8\u00f5\ud817\ude66,\u00e5\u00bd\u00dd\u0092\u00bd\udad6\udf6b\udb01\ude35\ud9e0\udd7a\u00a9\u0000\u0092\u00dc", + "value": "\ud842\udd224\ud842\udd22" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_02.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_02.json new file mode 100644 index 0000000..9147e84 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_02.json @@ -0,0 +1,4 @@ +{ + "name": "\u990d\u0017\u00bd\u00e9", + "value": "\ud842\udd224\ud842\udd22" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_03.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_03.json new file mode 100644 index 0000000..32ceab6 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_03.json @@ -0,0 +1,4 @@ +{ + "name": "\udbba\ude28AD\u000f\udae9\ude96\u0085\udb7f\udf4f\u00d5", + "value": "\ud842\udd224\ud842\udd22" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_04.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_04.json new file mode 100644 index 0000000..08a1df9 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_04.json @@ -0,0 +1,4 @@ +{ + "name": "\u00ba\u00f2\u0018\u007f", + "value": "\ud842\udd224\ud842\udd22" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_05.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_05.json new file mode 100644 index 0000000..cfb5a8d --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_05.json @@ -0,0 +1,4 @@ +{ + "name": "A\u0004\u001e\u00bb\ud966\ude46\udaac\udf6f\u0017\u00b0P", + "value": "\ud842\udd224\ud842\udd22" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_06.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_06.json new file mode 100644 index 0000000..5cb1734 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_06.json @@ -0,0 +1,4 @@ +{ + "name": "0\u0000\u009a\uda84\ude06", + "value": "\ud842\udd224\ud842\udd22" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_07.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_07.json new file mode 100644 index 0000000..39357b0 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_07.json @@ -0,0 +1,4 @@ +{ + "name": "\ubd07\u00e0c\u001dr\f", + "value": "\ud842\udd224\ud842\udd22" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_08.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_08.json new file mode 100644 index 0000000..987c449 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_08.json @@ -0,0 +1,4 @@ +{ + "name": "Q\u001a\u0090(^\\\u008a\ud909\udf27\u008d\u00fc\ud801\udcaa\u00d7\udb19\ude57\ud818\udc06\u0013", + "value": "\ud842\udd224\ud842\udd22" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_09.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_09.json new file mode 100644 index 0000000..05a6505 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_09.json @@ -0,0 +1,4 @@ +{ + "name": "\u00c2\u00fb\u009f\u001c\u0096m'\u00df", + "value": "\ud842\udd224\ud842\udd22" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_10.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_10.json new file mode 100644 index 0000000..4bb7305 --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/name/negatively_fuzzed_10.json @@ -0,0 +1,4 @@ +{ + "name": "\u00ea\u00f2\u000f\ud9d8\ude54U", + "value": "\ud842\udd224\ud842\udd22" +} diff --git a/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_01.json b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_01.json new file mode 100644 index 0000000..ad353ac --- /dev/null +++ b/dev/test_data/Json/Unexpected/Invalid/PatternViolation/SpecificAssetId/value/negatively_fuzzed_01.json @@ -0,0 +1,4 @@ +{ + "name": "\u00db\u0103 + 0013-10-11T24:00:00.000000Z + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..0a2d93f --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 0001-01-01T00:00:00Z + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..be77dff --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + -3020-08-21T24:00:00.0Z + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/midnight_with_24_hours.xml b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/midnight_with_24_hours.xml new file mode 100644 index 0000000..d60e8e8 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/midnight_with_24_hours.xml @@ -0,0 +1,3 @@ + + 2022-04-01T24:00:00Z + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/midnight_with_zeros.xml b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/midnight_with_zeros.xml new file mode 100644 index 0000000..f7996c9 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/midnight_with_zeros.xml @@ -0,0 +1,3 @@ + + 2022-04-01T00:00:00Z + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/minus_zero_offset.xml b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/minus_zero_offset.xml new file mode 100644 index 0000000..a7c690e --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/minus_zero_offset.xml @@ -0,0 +1,3 @@ + + 2022-04-01T24:00:00-00:00 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/plus_zero_offset.xml b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/plus_zero_offset.xml new file mode 100644 index 0000000..26226c3 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/plus_zero_offset.xml @@ -0,0 +1,3 @@ + + 2022-04-01T24:00:00+00:00 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/random_positive.xml b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/random_positive.xml new file mode 100644 index 0000000..27f23dc --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/random_positive.xml @@ -0,0 +1,3 @@ + + 2022-04-01T01:02:03Z + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/very_large_year.xml b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/very_large_year.xml new file mode 100644 index 0000000..7b03e6a --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/very_large_year.xml @@ -0,0 +1,3 @@ + + 123456789012345678901234567-04-01T00:00:00Z + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/very_long_fractional_second.xml b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/very_long_fractional_second.xml new file mode 100644 index 0000000..cb20cd2 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/very_long_fractional_second.xml @@ -0,0 +1,3 @@ + + 2022-04-01T00:00:00.1234567890123456789012345678901234567890Z + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/year_1_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/year_1_bce_is_a_leap_year.xml new file mode 100644 index 0000000..bf3b0e8 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/year_1_bce_is_a_leap_year.xml @@ -0,0 +1,3 @@ + + -0001-02-29T01:02:03Z + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/year_5_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/year_5_bce_is_a_leap_year.xml new file mode 100644 index 0000000..e7ae057 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/createdAtOverPatternExamples/year_5_bce_is_a_leap_year.xml @@ -0,0 +1,3 @@ + + -0005-02-29T01:02:03Z + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/maximal.xml b/dev/test_data/Xml/Expected/administrativeInformation/maximal.xml new file mode 100644 index 0000000..e031609 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/maximal.xml @@ -0,0 +1,72 @@ + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + 116 + 116 + + ExternalReference + + + GlobalReference + urn:an-example:13:f3f732d5 + + + + 2022-04-01T24:00:00+00:00 + 2022-04-01T24:00:00Z + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/minimal.xml b/dev/test_data/Xml/Expected/administrativeInformation/minimal.xml new file mode 100644 index 0000000..ca3115c --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/minimal.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/four_digits.xml b/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/four_digits.xml new file mode 100644 index 0000000..76ecc5d --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/four_digits.xml @@ -0,0 +1,4 @@ + + 1230 + 1230 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..a79bb00 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + 1230 + 59 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..0c4b2cf --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + 1230 + 116 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..88e2827 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + 1230 + 7 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..50d620f --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + 1230 + 32 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/one.xml b/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/one.xml new file mode 100644 index 0000000..fc50749 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/one.xml @@ -0,0 +1,4 @@ + + 1230 + 1 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/three_digits.xml b/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/three_digits.xml new file mode 100644 index 0000000..e2d87c3 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/three_digits.xml @@ -0,0 +1,4 @@ + + 1230 + 120 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/two_digits.xml b/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/two_digits.xml new file mode 100644 index 0000000..2b1877c --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/two_digits.xml @@ -0,0 +1,4 @@ + + 1230 + 10 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/zero.xml b/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/zero.xml new file mode 100644 index 0000000..c06dbc6 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/revisionOverPatternExamples/zero.xml @@ -0,0 +1,4 @@ + + 1230 + 0 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..f5ff5d8 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..9a16f8b --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..94ca43e --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..2a1760d --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..72eb32b --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..a6a4171 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..a260d66 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + 6 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..91b1c3f --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..7316d76 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..f92467f --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/templateIdOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..40520bb --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + 0013-10-11T24:00:00.000000Z + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..6549f75 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 0001-01-01T00:00:00Z + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..b399978 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + -3020-08-21T24:00:00.0Z + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/midnight_with_24_hours.xml b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/midnight_with_24_hours.xml new file mode 100644 index 0000000..d747979 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/midnight_with_24_hours.xml @@ -0,0 +1,3 @@ + + 2022-04-01T24:00:00Z + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/midnight_with_zeros.xml b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/midnight_with_zeros.xml new file mode 100644 index 0000000..63cfd3f --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/midnight_with_zeros.xml @@ -0,0 +1,3 @@ + + 2022-04-01T00:00:00Z + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/minus_zero_offset.xml b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/minus_zero_offset.xml new file mode 100644 index 0000000..a866919 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/minus_zero_offset.xml @@ -0,0 +1,3 @@ + + 2022-04-01T24:00:00-00:00 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/plus_zero_offset.xml b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/plus_zero_offset.xml new file mode 100644 index 0000000..8edb380 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/plus_zero_offset.xml @@ -0,0 +1,3 @@ + + 2022-04-01T24:00:00+00:00 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/random_positive.xml b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/random_positive.xml new file mode 100644 index 0000000..bd95527 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/random_positive.xml @@ -0,0 +1,3 @@ + + 2022-04-01T01:02:03Z + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/very_large_year.xml b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/very_large_year.xml new file mode 100644 index 0000000..f0a860b --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/very_large_year.xml @@ -0,0 +1,3 @@ + + 123456789012345678901234567-04-01T00:00:00Z + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/very_long_fractional_second.xml b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/very_long_fractional_second.xml new file mode 100644 index 0000000..e9563e5 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/very_long_fractional_second.xml @@ -0,0 +1,3 @@ + + 2022-04-01T00:00:00.1234567890123456789012345678901234567890Z + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/year_1_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/year_1_bce_is_a_leap_year.xml new file mode 100644 index 0000000..58fd172 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/year_1_bce_is_a_leap_year.xml @@ -0,0 +1,3 @@ + + -0001-02-29T01:02:03Z + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/year_5_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/year_5_bce_is_a_leap_year.xml new file mode 100644 index 0000000..0ebe879 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/updatedAtOverPatternExamples/year_5_bce_is_a_leap_year.xml @@ -0,0 +1,3 @@ + + -0005-02-29T01:02:03Z + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/four_digits.xml b/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/four_digits.xml new file mode 100644 index 0000000..350d26c --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/four_digits.xml @@ -0,0 +1,3 @@ + + 1230 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..a9001e6 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + 59 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..5da3ffb --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 116 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..adebb24 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + 7 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..b746316 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + 32 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/one.xml b/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/one.xml new file mode 100644 index 0000000..261b872 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/one.xml @@ -0,0 +1,3 @@ + + 1 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/three_digits.xml b/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/three_digits.xml new file mode 100644 index 0000000..7ab6ef0 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/three_digits.xml @@ -0,0 +1,3 @@ + + 120 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/two_digits.xml b/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/two_digits.xml new file mode 100644 index 0000000..5dd7ae6 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/two_digits.xml @@ -0,0 +1,3 @@ + + 10 + diff --git a/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/zero.xml b/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/zero.xml new file mode 100644 index 0000000..0e40436 --- /dev/null +++ b/dev/test_data/Xml/Expected/administrativeInformation/versionOverPatternExamples/zero.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..88be9e9 --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..995d32c --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..ac4e630 --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..fb569fe --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..603d30f --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..15ac8e1 --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..d0e46ab --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + 6 + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..4bb5cee --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..174f732 --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..25134b7 --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/categoryOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/alternating_hyphen_underscore.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/alternating_hyphen_underscore.xml new file mode 100644 index 0000000..3f8518a --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/alternating_hyphen_underscore.xml @@ -0,0 +1,3 @@ + + a-_-_-_-_-_ + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/ends_with_underscore.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/ends_with_underscore.xml new file mode 100644 index 0000000..a38689e --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/ends_with_underscore.xml @@ -0,0 +1,3 @@ + + strange-name_ + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..af7ed55 --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + fULCVpULCVq + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..f310d01 --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + AopQejF + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..8dcd7f2 --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + Jk0k1414Di + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..64a6a1f --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + pVz10Vz10vZZNO9hM + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..accad78 --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + t8x1pz9WS4TGV + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..083a9c6 --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + tWC + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..fe609f4 --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + xF2bO_Uje6 + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..3dfcaaa --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + EO5DYAe + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..9ce282e --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + nRdRe + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..88e6abd --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + P7gn + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/hyphen_then_underscore.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/hyphen_then_underscore.xml new file mode 100644 index 0000000..791c757 --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/hyphen_then_underscore.xml @@ -0,0 +1,3 @@ + + a-_ + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/many_internal_hyphens.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/many_internal_hyphens.xml new file mode 100644 index 0000000..a89f162 --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/many_internal_hyphens.xml @@ -0,0 +1,3 @@ + + a----------------b + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/many_underscores.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/many_underscores.xml new file mode 100644 index 0000000..7931e78 --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/many_underscores.xml @@ -0,0 +1,3 @@ + + a________________ + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/minimal_digit.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/minimal_digit.xml new file mode 100644 index 0000000..00e7ca7 --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/minimal_digit.xml @@ -0,0 +1,3 @@ + + a0 + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/minimal_lower.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/minimal_lower.xml new file mode 100644 index 0000000..eba168b --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/minimal_lower.xml @@ -0,0 +1,3 @@ + + aa + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/minimal_underscore.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/minimal_underscore.xml new file mode 100644 index 0000000..e8d0bca --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/minimal_underscore.xml @@ -0,0 +1,3 @@ + + a_ + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/minimal_upper.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/minimal_upper.xml new file mode 100644 index 0000000..80dc118 --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/minimal_upper.xml @@ -0,0 +1,3 @@ + + AZ + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/single_internal_hyphen.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/single_internal_hyphen.xml new file mode 100644 index 0000000..9b22216 --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/single_internal_hyphen.xml @@ -0,0 +1,3 @@ + + a-b + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/underscore_after_first.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/underscore_after_first.xml new file mode 100644 index 0000000..b49b25c --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/idShortOverPatternExamples/underscore_after_first.xml @@ -0,0 +1,3 @@ + + A_ + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/maximal.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/maximal.xml new file mode 100644 index 0000000..90faf7f --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/maximal.xml @@ -0,0 +1,166 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Expected/annotatedRelationshipElement/minimal.xml b/dev/test_data/Xml/Expected/annotatedRelationshipElement/minimal.xml new file mode 100644 index 0000000..ffeb745 --- /dev/null +++ b/dev/test_data/Xml/Expected/annotatedRelationshipElement/minimal.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..77c9f63 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,8 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..db1519f --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,8 @@ + + 𠤢4𠤢 + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..72ae420 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,8 @@ + + [\h$񒺟ìÖċŠ1¿ + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..d06ce8b --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,8 @@ + + öĖa􍣡™| + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..f68e410 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,8 @@ + + J5 + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..22d5175 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,8 @@ + + Ûă<P󨱽²|dnœÞ® + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..6462057 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,8 @@ + + 6 + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..8a63f28 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,8 @@ + + 򤑌M𪠇𛔊򂄲 + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..d5bbadd --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,8 @@ + + <ă<P󨱽²|dnœÞ® + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..7ed90d3 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/categoryOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,8 @@ + + 0 + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..4d34ff3 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,7 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..d0180a9 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,7 @@ + + 𠤢4𠤢 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..ba232ec --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,7 @@ + + [\h$񒺟ìÖċŠ1¿ + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..a1b7392 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,7 @@ + + öĖa􍣡™| + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..21e21a2 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,7 @@ + + J5 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..d84093e --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,7 @@ + + Ûă<P󨱽²|dnœÞ® + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..9dbe339 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,7 @@ + + 6 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..97160d6 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,7 @@ + + 򤑌M𪠇𛔊򂄲 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..81962f9 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,7 @@ + + <ă<P󨱽²|dnœÞ® + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..9873793 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,7 @@ + + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/alternating_hyphen_underscore.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/alternating_hyphen_underscore.xml new file mode 100644 index 0000000..181c75d --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/alternating_hyphen_underscore.xml @@ -0,0 +1,8 @@ + + a-_-_-_-_-_ + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/ends_with_underscore.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/ends_with_underscore.xml new file mode 100644 index 0000000..d1488e4 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/ends_with_underscore.xml @@ -0,0 +1,8 @@ + + strange-name_ + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..8a4bcf3 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,8 @@ + + fULCVpULCVq + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..7ec99ff --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,8 @@ + + AopQejF + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..2f05551 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,8 @@ + + Jk0k1414Di + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..ce17b6a --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,8 @@ + + pVz10Vz10vZZNO9hM + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..b888192 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,8 @@ + + t8x1pz9WS4TGV + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..1b0f77f --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,8 @@ + + tWC + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..a6442df --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,8 @@ + + xF2bO_Uje6 + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..cb2908d --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,8 @@ + + EO5DYAe + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..cdc6d8d --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,8 @@ + + nRdRe + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..a0a2526 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,8 @@ + + P7gn + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/hyphen_then_underscore.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/hyphen_then_underscore.xml new file mode 100644 index 0000000..2ca67ba --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/hyphen_then_underscore.xml @@ -0,0 +1,8 @@ + + a-_ + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/many_internal_hyphens.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/many_internal_hyphens.xml new file mode 100644 index 0000000..b27c90c --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/many_internal_hyphens.xml @@ -0,0 +1,8 @@ + + a----------------b + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/many_underscores.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/many_underscores.xml new file mode 100644 index 0000000..da28150 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/many_underscores.xml @@ -0,0 +1,8 @@ + + a________________ + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/minimal_digit.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/minimal_digit.xml new file mode 100644 index 0000000..67c55c9 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/minimal_digit.xml @@ -0,0 +1,8 @@ + + a0 + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/minimal_lower.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/minimal_lower.xml new file mode 100644 index 0000000..6725c50 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/minimal_lower.xml @@ -0,0 +1,8 @@ + + aa + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/minimal_underscore.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/minimal_underscore.xml new file mode 100644 index 0000000..86922c1 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/minimal_underscore.xml @@ -0,0 +1,8 @@ + + a_ + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/minimal_upper.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/minimal_upper.xml new file mode 100644 index 0000000..98fd194 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/minimal_upper.xml @@ -0,0 +1,8 @@ + + AZ + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/single_internal_hyphen.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/single_internal_hyphen.xml new file mode 100644 index 0000000..d0c064b --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/single_internal_hyphen.xml @@ -0,0 +1,8 @@ + + a-b + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/underscore_after_first.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/underscore_after_first.xml new file mode 100644 index 0000000..b3230f0 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/idShortOverPatternExamples/underscore_after_first.xml @@ -0,0 +1,8 @@ + + A_ + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/maximal.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/maximal.xml new file mode 100644 index 0000000..3b3c470 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/maximal.xml @@ -0,0 +1,123 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Expected/assetAdministrationShell/minimal.xml b/dev/test_data/Xml/Expected/assetAdministrationShell/minimal.xml new file mode 100644 index 0000000..9873793 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetAdministrationShell/minimal.xml @@ -0,0 +1,7 @@ + + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..02f65a8 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,5 @@ + + Batch + 0 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..4c365c4 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,5 @@ + + Batch + 0 + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..7f58600 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,5 @@ + + Batch + 0 + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..fa2747d --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,5 @@ + + Batch + 0 + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..6d3020a --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,5 @@ + + Batch + 0 + J5 + diff --git a/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..8e1bcd5 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,5 @@ + + Batch + 0 + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..66751dc --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,5 @@ + + Batch + 0 + 6 + diff --git a/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..3e87886 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,5 @@ + + Batch + 0 + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..239e0ff --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,5 @@ + + Batch + 0 + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..df2319a --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/assetTypeOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,5 @@ + + Batch + 0 + 0 + diff --git a/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..2da7b08 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + Batch + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..ebc7ccd --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + Batch + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..af71a11 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + Batch + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..a02aa9e --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + Batch + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..33712e8 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,4 @@ + + Batch + J5 + diff --git a/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..9f1bb99 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,4 @@ + + Batch + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..ba80a01 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,4 @@ + + Batch + 6 + diff --git a/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..2b2511c --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,4 @@ + + Batch + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..685d975 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,4 @@ + + Batch + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..3d85394 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/globalAssetIdOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,4 @@ + + Batch + 0 + diff --git a/dev/test_data/Xml/Expected/assetInformation/maximal.xml b/dev/test_data/Xml/Expected/assetInformation/maximal.xml new file mode 100644 index 0000000..9b2e34b --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/maximal.xml @@ -0,0 +1,22 @@ + + Batch + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + Ûă<P󨱽²|dnœÞ® + + news:comp.infosystems.www.servers.unix + + diff --git a/dev/test_data/Xml/Expected/assetInformation/minimal.xml b/dev/test_data/Xml/Expected/assetInformation/minimal.xml new file mode 100644 index 0000000..3d85394 --- /dev/null +++ b/dev/test_data/Xml/Expected/assetInformation/minimal.xml @@ -0,0 +1,4 @@ + + Batch + 0 + diff --git a/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..b6ac2b3 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,18 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..1bd127d --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,18 @@ + + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..5d68d47 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,18 @@ + + [\h$񒺟ìÖċŠ1¿ + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..f7b563f --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,18 @@ + + öĖa􍣡™| + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..9824a75 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,18 @@ + + J5 + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..10a6fba --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,18 @@ + + Ûă<P󨱽²|dnœÞ® + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..0db4daa --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,18 @@ + + 6 + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..0ce806c --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,18 @@ + + 򤑌M𪠇𛔊򂄲 + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..84dee85 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,18 @@ + + <ă<P󨱽²|dnœÞ® + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..8d626ee --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/categoryOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,18 @@ + + 0 + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/alternating_hyphen_underscore.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/alternating_hyphen_underscore.xml new file mode 100644 index 0000000..4fc7bee --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/alternating_hyphen_underscore.xml @@ -0,0 +1,18 @@ + + a-_-_-_-_-_ + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/ends_with_underscore.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/ends_with_underscore.xml new file mode 100644 index 0000000..bd2bf21 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/ends_with_underscore.xml @@ -0,0 +1,18 @@ + + strange-name_ + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..5bcbb74 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,18 @@ + + fULCVpULCVq + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..f66c5e3 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,18 @@ + + AopQejF + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..a6ef452 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,18 @@ + + Jk0k1414Di + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..4210889 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,18 @@ + + pVz10Vz10vZZNO9hM + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..518c249 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,18 @@ + + t8x1pz9WS4TGV + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..89406e7 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,18 @@ + + tWC + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..d4f1097 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,18 @@ + + xF2bO_Uje6 + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..89d6368 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,18 @@ + + EO5DYAe + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..4b30f10 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,18 @@ + + nRdRe + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..274b7da --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,18 @@ + + P7gn + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/hyphen_then_underscore.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/hyphen_then_underscore.xml new file mode 100644 index 0000000..92b40ca --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/hyphen_then_underscore.xml @@ -0,0 +1,18 @@ + + a-_ + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/many_internal_hyphens.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/many_internal_hyphens.xml new file mode 100644 index 0000000..0d5200c --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/many_internal_hyphens.xml @@ -0,0 +1,18 @@ + + a----------------b + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/many_underscores.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/many_underscores.xml new file mode 100644 index 0000000..ae6863d --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/many_underscores.xml @@ -0,0 +1,18 @@ + + a________________ + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/minimal_digit.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/minimal_digit.xml new file mode 100644 index 0000000..72045c3 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/minimal_digit.xml @@ -0,0 +1,18 @@ + + a0 + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/minimal_lower.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/minimal_lower.xml new file mode 100644 index 0000000..3f5f011 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/minimal_lower.xml @@ -0,0 +1,18 @@ + + aa + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/minimal_underscore.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/minimal_underscore.xml new file mode 100644 index 0000000..94d8af7 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/minimal_underscore.xml @@ -0,0 +1,18 @@ + + a_ + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/minimal_upper.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/minimal_upper.xml new file mode 100644 index 0000000..493d0ef --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/minimal_upper.xml @@ -0,0 +1,18 @@ + + AZ + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/single_internal_hyphen.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/single_internal_hyphen.xml new file mode 100644 index 0000000..6edaf11 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/single_internal_hyphen.xml @@ -0,0 +1,18 @@ + + a-b + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/underscore_after_first.xml b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/underscore_after_first.xml new file mode 100644 index 0000000..94459a7 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/idShortOverPatternExamples/underscore_after_first.xml @@ -0,0 +1,18 @@ + + A_ + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..bbddfd4 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 0013-10-11T24:00:00.000000Z + diff --git a/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..8701083 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 0001-01-01T00:00:00Z + diff --git a/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..f93938d --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + -3020-08-21T24:00:00.0Z + diff --git a/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/midnight_with_24_hours.xml b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/midnight_with_24_hours.xml new file mode 100644 index 0000000..ebf2244 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/midnight_with_24_hours.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 2022-04-01T24:00:00Z + diff --git a/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/midnight_with_zeros.xml b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/midnight_with_zeros.xml new file mode 100644 index 0000000..8edaa47 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/midnight_with_zeros.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 2022-04-01T00:00:00Z + diff --git a/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/minus_zero_offset.xml b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/minus_zero_offset.xml new file mode 100644 index 0000000..a13868f --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/minus_zero_offset.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 2022-04-01T24:00:00-00:00 + diff --git a/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/plus_zero_offset.xml b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/plus_zero_offset.xml new file mode 100644 index 0000000..17c6092 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/plus_zero_offset.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 2022-04-01T24:00:00+00:00 + diff --git a/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/random_positive.xml b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/random_positive.xml new file mode 100644 index 0000000..e161e3d --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/random_positive.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 2022-04-01T01:02:03Z + diff --git a/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/very_large_year.xml b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/very_large_year.xml new file mode 100644 index 0000000..60a93f6 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/very_large_year.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 123456789012345678901234567-04-01T00:00:00Z + diff --git a/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/very_long_fractional_second.xml b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/very_long_fractional_second.xml new file mode 100644 index 0000000..bc4eae1 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/very_long_fractional_second.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 2022-04-01T00:00:00.1234567890123456789012345678901234567890Z + diff --git a/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/year_1_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/year_1_bce_is_a_leap_year.xml new file mode 100644 index 0000000..b61ab56 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/year_1_bce_is_a_leap_year.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + -0001-02-29T01:02:03Z + diff --git a/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/year_5_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/year_5_bce_is_a_leap_year.xml new file mode 100644 index 0000000..a1cb047 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/lastUpdateOverPatternExamples/year_5_bce_is_a_leap_year.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + -0005-02-29T01:02:03Z + diff --git a/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/day_seconds.xml b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/day_seconds.xml new file mode 100644 index 0000000..51e7cc9 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/day_seconds.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + P1DT2S + diff --git a/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/full.xml b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/full.xml new file mode 100644 index 0000000..8008a0f --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/full.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + P1Y2M3DT5H20M30.123S + diff --git a/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..64a8515 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + -P009D + diff --git a/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..aa71690 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + P5Y36660767143M + diff --git a/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..26f3c68 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + -PT01332.1S + diff --git a/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..877d6e3 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + -P11DT142M + diff --git a/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..98cfafd --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + PT88M48936316289.34291243605107045S + diff --git a/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..4d7baa6 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + -P1M923D + diff --git a/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..f8289e0 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + -PT0.332S + diff --git a/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..d94a9d2 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + -PT313148178698146281H866062127724898M + diff --git a/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..861fcf6 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + -PT1.5375209S + diff --git a/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..c0c36d4 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + PT18688M + diff --git a/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/long_second_fractal.xml b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/long_second_fractal.xml new file mode 100644 index 0000000..c71d9f4 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/long_second_fractal.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + PT1.12345678901234567890123456789012345678901234567890123456789012345678901234567890S + diff --git a/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/many_many_seconds.xml b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/many_many_seconds.xml new file mode 100644 index 0000000..c2a529c --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/many_many_seconds.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + PT12345678901234567890123456789012345678901234567890123456789012345678901234567890S + diff --git a/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/month_seconds.xml b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/month_seconds.xml new file mode 100644 index 0000000..50caec9 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/month_seconds.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + PT2M10S + diff --git a/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/only_seconds.xml b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/only_seconds.xml new file mode 100644 index 0000000..5ad7281 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/only_seconds.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + PT130S + diff --git a/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/only_year.xml b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/only_year.xml new file mode 100644 index 0000000..001b7d1 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/maxIntervalOverPatternExamples/only_year.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + -P1Y + diff --git a/dev/test_data/Xml/Expected/basicEventElement/maximal.xml b/dev/test_data/Xml/Expected/basicEventElement/maximal.xml new file mode 100644 index 0000000..f5af92c --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/maximal.xml @@ -0,0 +1,172 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..782ce1b --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..8e62f14 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..6a38c94 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..c17c5b7 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..bff3e34 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + J5 + diff --git a/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..332691e --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..6175a9f --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 6 + diff --git a/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..2f48c0f --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..5603a31 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..217f23d --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/messageTopicOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 0 + diff --git a/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/day_seconds.xml b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/day_seconds.xml new file mode 100644 index 0000000..d79f9f2 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/day_seconds.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + P1DT2S + diff --git a/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/full.xml b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/full.xml new file mode 100644 index 0000000..b1a194a --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/full.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + P1Y2M3DT5H20M30.123S + diff --git a/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..a155db8 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + -P009D + diff --git a/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..4f568b6 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + P5Y36660767143M + diff --git a/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..feccb3a --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + -PT01332.1S + diff --git a/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..0829ff2 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + -P11DT142M + diff --git a/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..9711db4 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + PT88M48936316289.34291243605107045S + diff --git a/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..09538eb --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + -P1M923D + diff --git a/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..e535f00 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + -PT0.332S + diff --git a/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..457ab9a --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + -PT313148178698146281H866062127724898M + diff --git a/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..6dc9bed --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + -PT1.5375209S + diff --git a/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..4785738 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + PT18688M + diff --git a/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/long_second_fractal.xml b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/long_second_fractal.xml new file mode 100644 index 0000000..8f64a9e --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/long_second_fractal.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + PT1.12345678901234567890123456789012345678901234567890123456789012345678901234567890S + diff --git a/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/many_many_seconds.xml b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/many_many_seconds.xml new file mode 100644 index 0000000..fc57780 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/many_many_seconds.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + PT12345678901234567890123456789012345678901234567890123456789012345678901234567890S + diff --git a/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/month_seconds.xml b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/month_seconds.xml new file mode 100644 index 0000000..b430737 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/month_seconds.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + PT2M10S + diff --git a/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/only_seconds.xml b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/only_seconds.xml new file mode 100644 index 0000000..0e94813 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/only_seconds.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + PT130S + diff --git a/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/only_year.xml b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/only_year.xml new file mode 100644 index 0000000..6c9352d --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/minIntervalOverPatternExamples/only_year.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + -P1Y + diff --git a/dev/test_data/Xml/Expected/basicEventElement/minimal.xml b/dev/test_data/Xml/Expected/basicEventElement/minimal.xml new file mode 100644 index 0000000..f524862 --- /dev/null +++ b/dev/test_data/Xml/Expected/basicEventElement/minimal.xml @@ -0,0 +1,17 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..b2f11db --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..3316062 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..842d32c --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..4eb512e --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..84a383b --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..d3de4ba --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..d57eb47 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + 6 + diff --git a/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..1fa1862 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..c5b71e1 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..b91ca5f --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/categoryOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/dash.xml b/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/dash.xml new file mode 100644 index 0000000..421eac8 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/dash.xml @@ -0,0 +1,3 @@ + + application/x-abiword + diff --git a/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/dots.xml b/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/dots.xml new file mode 100644 index 0000000..f891986 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/dots.xml @@ -0,0 +1,3 @@ + + application/vnd.amazon.ebook + diff --git a/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..ea12001 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + 7/6qwqh6g + diff --git a/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..0f9f607 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 15j/5j + diff --git a/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..9eb9952 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + 'VbrwFrYTU/fO7NnLxq ; MX.`10dB732`X5yRy=I56Ov9Us ; pRb~~hdw_C%2Zf="" ; h=1t + diff --git a/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/number prefix and suffix.xml b/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/number prefix and suffix.xml new file mode 100644 index 0000000..297a065 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/number prefix and suffix.xml @@ -0,0 +1,3 @@ + + audio/3gpp2 + diff --git a/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/only_letters.xml b/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/only_letters.xml new file mode 100644 index 0000000..ccfe007 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/only_letters.xml @@ -0,0 +1,3 @@ + + audio/aac + diff --git a/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/plus.xml b/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/plus.xml new file mode 100644 index 0000000..f472e93 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/plus.xml @@ -0,0 +1,3 @@ + + application/vnd.apple.installer+xml + diff --git a/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/random_common_MIME_type.xml b/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/random_common_MIME_type.xml new file mode 100644 index 0000000..af2e50e --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/contentTypeOverPatternExamples/random_common_MIME_type.xml @@ -0,0 +1,3 @@ + + application/something-random + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/alternating_hyphen_underscore.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/alternating_hyphen_underscore.xml new file mode 100644 index 0000000..182fb19 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/alternating_hyphen_underscore.xml @@ -0,0 +1,3 @@ + + a-_-_-_-_-_ + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/ends_with_underscore.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/ends_with_underscore.xml new file mode 100644 index 0000000..6859ea8 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/ends_with_underscore.xml @@ -0,0 +1,3 @@ + + strange-name_ + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..8d0e7fc --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + fULCVpULCVq + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..3c91544 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + AopQejF + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..a2fe4a4 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + Jk0k1414Di + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..2e0a0b4 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + pVz10Vz10vZZNO9hM + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..516cd31 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + t8x1pz9WS4TGV + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..6f0921f --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + tWC + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..1750d87 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + xF2bO_Uje6 + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..4ee8098 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + EO5DYAe + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..75e4144 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + nRdRe + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..ab590ba --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + P7gn + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/hyphen_then_underscore.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/hyphen_then_underscore.xml new file mode 100644 index 0000000..96ebeba --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/hyphen_then_underscore.xml @@ -0,0 +1,3 @@ + + a-_ + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/many_internal_hyphens.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/many_internal_hyphens.xml new file mode 100644 index 0000000..c9d290f --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/many_internal_hyphens.xml @@ -0,0 +1,3 @@ + + a----------------b + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/many_underscores.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/many_underscores.xml new file mode 100644 index 0000000..09d1b8b --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/many_underscores.xml @@ -0,0 +1,3 @@ + + a________________ + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/minimal_digit.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/minimal_digit.xml new file mode 100644 index 0000000..cf3b6c9 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/minimal_digit.xml @@ -0,0 +1,3 @@ + + a0 + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/minimal_lower.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/minimal_lower.xml new file mode 100644 index 0000000..2e19249 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/minimal_lower.xml @@ -0,0 +1,3 @@ + + aa + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/minimal_underscore.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/minimal_underscore.xml new file mode 100644 index 0000000..33b1a6a --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/minimal_underscore.xml @@ -0,0 +1,3 @@ + + a_ + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/minimal_upper.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/minimal_upper.xml new file mode 100644 index 0000000..2ee5f5e --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/minimal_upper.xml @@ -0,0 +1,3 @@ + + AZ + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/single_internal_hyphen.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/single_internal_hyphen.xml new file mode 100644 index 0000000..2aebd17 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/single_internal_hyphen.xml @@ -0,0 +1,3 @@ + + a-b + diff --git a/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/underscore_after_first.xml b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/underscore_after_first.xml new file mode 100644 index 0000000..043d954 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/idShortOverPatternExamples/underscore_after_first.xml @@ -0,0 +1,3 @@ + + A_ + diff --git a/dev/test_data/Xml/Expected/blob/maximal.xml b/dev/test_data/Xml/Expected/blob/maximal.xml new file mode 100644 index 0000000..46a6cc1 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/maximal.xml @@ -0,0 +1,142 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + 15j/5j + diff --git a/dev/test_data/Xml/Expected/blob/minimal.xml b/dev/test_data/Xml/Expected/blob/minimal.xml new file mode 100644 index 0000000..ebaff16 --- /dev/null +++ b/dev/test_data/Xml/Expected/blob/minimal.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..8b05163 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..1fd94e0 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..76419d1 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..8709af3 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..e3bf4d2 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..20fb5e0 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..234de8c --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + 6 + diff --git a/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..6ce694b --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..27639a3 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..027defd --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/categoryOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/alternating_hyphen_underscore.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/alternating_hyphen_underscore.xml new file mode 100644 index 0000000..05b3a36 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/alternating_hyphen_underscore.xml @@ -0,0 +1,3 @@ + + a-_-_-_-_-_ + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/ends_with_underscore.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/ends_with_underscore.xml new file mode 100644 index 0000000..ae56d3a --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/ends_with_underscore.xml @@ -0,0 +1,3 @@ + + strange-name_ + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..121c3e2 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + fULCVpULCVq + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..284b14e --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + AopQejF + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..d4bdd19 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + Jk0k1414Di + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..9fd530a --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + pVz10Vz10vZZNO9hM + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..547559c --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + t8x1pz9WS4TGV + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..02455c1 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + tWC + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..57a81a4 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + xF2bO_Uje6 + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..530f214 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + EO5DYAe + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..0423760 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + nRdRe + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..3f20807 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + P7gn + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/hyphen_then_underscore.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/hyphen_then_underscore.xml new file mode 100644 index 0000000..f2a676a --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/hyphen_then_underscore.xml @@ -0,0 +1,3 @@ + + a-_ + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/many_internal_hyphens.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/many_internal_hyphens.xml new file mode 100644 index 0000000..3ba0530 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/many_internal_hyphens.xml @@ -0,0 +1,3 @@ + + a----------------b + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/many_underscores.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/many_underscores.xml new file mode 100644 index 0000000..719d16c --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/many_underscores.xml @@ -0,0 +1,3 @@ + + a________________ + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/minimal_digit.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/minimal_digit.xml new file mode 100644 index 0000000..27156c8 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/minimal_digit.xml @@ -0,0 +1,3 @@ + + a0 + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/minimal_lower.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/minimal_lower.xml new file mode 100644 index 0000000..53f6085 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/minimal_lower.xml @@ -0,0 +1,3 @@ + + aa + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/minimal_underscore.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/minimal_underscore.xml new file mode 100644 index 0000000..544de2e --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/minimal_underscore.xml @@ -0,0 +1,3 @@ + + a_ + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/minimal_upper.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/minimal_upper.xml new file mode 100644 index 0000000..06b5180 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/minimal_upper.xml @@ -0,0 +1,3 @@ + + AZ + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/single_internal_hyphen.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/single_internal_hyphen.xml new file mode 100644 index 0000000..007978b --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/single_internal_hyphen.xml @@ -0,0 +1,3 @@ + + a-b + diff --git a/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/underscore_after_first.xml b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/underscore_after_first.xml new file mode 100644 index 0000000..717e371 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/idShortOverPatternExamples/underscore_after_first.xml @@ -0,0 +1,3 @@ + + A_ + diff --git a/dev/test_data/Xml/Expected/capability/maximal.xml b/dev/test_data/Xml/Expected/capability/maximal.xml new file mode 100644 index 0000000..7838c46 --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/maximal.xml @@ -0,0 +1,140 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + diff --git a/dev/test_data/Xml/Expected/capability/minimal.xml b/dev/test_data/Xml/Expected/capability/minimal.xml new file mode 100644 index 0000000..f25eb5d --- /dev/null +++ b/dev/test_data/Xml/Expected/capability/minimal.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..c54e8a1 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..b0f670d --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + 𠤢4𠤢 + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..149f9a8 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + [\h$񒺟ìÖċŠ1¿ + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..eeb30c4 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + öĖa􍣡™| + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..f674dac --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,4 @@ + + J5 + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..b290761 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,4 @@ + + Ûă<P󨱽²|dnœÞ® + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..0c3ebb2 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,4 @@ + + 6 + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..bf1b999 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,4 @@ + + 򤑌M𪠇𛔊򂄲 + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..03f1c89 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,4 @@ + + <ă<P󨱽²|dnœÞ® + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..835c2f5 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/categoryOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,4 @@ + + 0 + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..21e0643 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..070d726 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..7ee90f9 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..a99d2f6 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..2292fe1 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..ed175ef --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..c8154b2 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + 6 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..663248c --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..14f8d84 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..981c97c --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/alternating_hyphen_underscore.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/alternating_hyphen_underscore.xml new file mode 100644 index 0000000..af9e722 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/alternating_hyphen_underscore.xml @@ -0,0 +1,4 @@ + + a-_-_-_-_-_ + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/ends_with_underscore.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/ends_with_underscore.xml new file mode 100644 index 0000000..24581e1 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/ends_with_underscore.xml @@ -0,0 +1,4 @@ + + strange-name_ + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..a657ea9 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + fULCVpULCVq + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..c0c40d6 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + AopQejF + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..fca7e02 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + Jk0k1414Di + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..4af34dd --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + pVz10Vz10vZZNO9hM + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..42fd0cc --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,4 @@ + + t8x1pz9WS4TGV + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..9fdedc8 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,4 @@ + + tWC + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..7f1162d --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,4 @@ + + xF2bO_Uje6 + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..d52362b --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,4 @@ + + EO5DYAe + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..be853c9 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,4 @@ + + nRdRe + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..8187bef --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,4 @@ + + P7gn + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/hyphen_then_underscore.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/hyphen_then_underscore.xml new file mode 100644 index 0000000..bfb675e --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/hyphen_then_underscore.xml @@ -0,0 +1,4 @@ + + a-_ + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/many_internal_hyphens.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/many_internal_hyphens.xml new file mode 100644 index 0000000..8f38cb9 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/many_internal_hyphens.xml @@ -0,0 +1,4 @@ + + a----------------b + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/many_underscores.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/many_underscores.xml new file mode 100644 index 0000000..73d1ee9 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/many_underscores.xml @@ -0,0 +1,4 @@ + + a________________ + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/minimal_digit.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/minimal_digit.xml new file mode 100644 index 0000000..0da1335 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/minimal_digit.xml @@ -0,0 +1,4 @@ + + a0 + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/minimal_lower.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/minimal_lower.xml new file mode 100644 index 0000000..8c407ce --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/minimal_lower.xml @@ -0,0 +1,4 @@ + + aa + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/minimal_underscore.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/minimal_underscore.xml new file mode 100644 index 0000000..34de749 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/minimal_underscore.xml @@ -0,0 +1,4 @@ + + a_ + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/minimal_upper.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/minimal_upper.xml new file mode 100644 index 0000000..05b2cc8 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/minimal_upper.xml @@ -0,0 +1,4 @@ + + AZ + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/single_internal_hyphen.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/single_internal_hyphen.xml new file mode 100644 index 0000000..e42bc4d --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/single_internal_hyphen.xml @@ -0,0 +1,4 @@ + + a-b + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/underscore_after_first.xml b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/underscore_after_first.xml new file mode 100644 index 0000000..f4755bb --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/idShortOverPatternExamples/underscore_after_first.xml @@ -0,0 +1,4 @@ + + A_ + 0 + diff --git a/dev/test_data/Xml/Expected/conceptDescription/maximal.xml b/dev/test_data/Xml/Expected/conceptDescription/maximal.xml new file mode 100644 index 0000000..79c03a4 --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/maximal.xml @@ -0,0 +1,113 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc1291c8 + öĖa􍣡™| + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc009eeb + Ûă<P󨱽²|dnœÞ® + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:06:66cbf3c6 + + + + + diff --git a/dev/test_data/Xml/Expected/conceptDescription/minimal.xml b/dev/test_data/Xml/Expected/conceptDescription/minimal.xml new file mode 100644 index 0000000..981c97c --- /dev/null +++ b/dev/test_data/Xml/Expected/conceptDescription/minimal.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/maximal.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/maximal.xml new file mode 100644 index 0000000..cc9e51b --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/maximal.xml @@ -0,0 +1,41 @@ + + + + en-JM-x-c7dddb5b + 6 + + + + + en-JM-x-db8b8a3d + öĖa􍣡™| + + + [\h$񒺟ìÖċŠ1¿ + + ExternalReference + + + GlobalReference + urn:example:01:c23a7921 + + + + <ă<P󨱽²|dnœÞ® + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + RATIONAL_MEASURE + + + en-JM-x-b7bc1552 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 0 + 򤑌M𪠇𛔊򂄲 + + false + false + true + true + + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/minimal.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/minimal.xml new file mode 100644 index 0000000..bebabaa --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/minimal.xml @@ -0,0 +1,8 @@ + + + + en-JM-x-c7dddb5b + 6 + + + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..121429c --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..2e3666d --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..764dce5 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..d422433 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..eb7c693 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + J5 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..25bc7f0 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..5100e4b --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 6 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..cb70bc6 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..343583a --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..1008b32 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/sourceOfDefinitionOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 0 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..9298472 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..adcb66e --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..ca5ae67 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..9a2b258 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..dffebee --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + J5 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..c64b244 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..f0d9948 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 6 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..13561ad --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..b9b4685 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..d4e54f3 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/symbolOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 0 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..7f97a7e --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..03d97a1 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..e9a55d9 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..fe09bc5 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..230ab86 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + J5 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..ab1f9fd --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..f5629e7 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 6 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..224f724 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..87e16b0 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..8e3b95c --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/unitOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 0 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..63f2984 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..6aa4b36 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..81020e7 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..4a0598f --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..54518d1 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + J5 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..ec87c5c --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..72e5315 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 6 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..5e34301 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..f34839d --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..1249394 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueFormatOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 0 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..59a2048 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..6633daf --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..e6fcddc --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..d30c7f1 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..0d80206 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + J5 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..b050263 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..a3d3530 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 6 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..a2d445a --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..c2cd4ff --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..5206777 --- /dev/null +++ b/dev/test_data/Xml/Expected/dataSpecificationIec61360/valueOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + 0 + diff --git a/dev/test_data/Xml/Expected/embeddedDataSpecification/maximal.xml b/dev/test_data/Xml/Expected/embeddedDataSpecification/maximal.xml new file mode 100644 index 0000000..47f0e6e --- /dev/null +++ b/dev/test_data/Xml/Expected/embeddedDataSpecification/maximal.xml @@ -0,0 +1,25 @@ + + + ExternalReference + + + GlobalReference + urn:some-company:10:9ac9d1a6 + + + + + + + + en-JM-x-719cdf87 + <ă<P󨱽²|dnœÞ® + + + en-JM-x-2ffc5cd0 + 𠤢4𠤢 + + + + + diff --git a/dev/test_data/Xml/Expected/embeddedDataSpecification/minimal.xml b/dev/test_data/Xml/Expected/embeddedDataSpecification/minimal.xml new file mode 100644 index 0000000..28f4b49 --- /dev/null +++ b/dev/test_data/Xml/Expected/embeddedDataSpecification/minimal.xml @@ -0,0 +1,21 @@ + + + ExternalReference + + + GlobalReference + urn:some-company:10:9ac9d1a6 + + + + + + + + en-JM-x-b435b532 + 0 + + + + + diff --git a/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..9233fbe --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..f20d5ec --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..e2db712 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..aa2773d --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..b2fe54b --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..22a04cb --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..56dd461 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + 6 + diff --git a/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..e71350f --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..e47558f --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..b448acb --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/categoryOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..dab2d0e --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..1bbb715 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..34c9571 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..9b81d31 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..06dfc21 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..5935573 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..db00341 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + 6 + diff --git a/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..72f6b38 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..35cce66 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..1cc5352 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/globalAssetIdOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/alternating_hyphen_underscore.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/alternating_hyphen_underscore.xml new file mode 100644 index 0000000..c8fc6d4 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/alternating_hyphen_underscore.xml @@ -0,0 +1,3 @@ + + a-_-_-_-_-_ + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/ends_with_underscore.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/ends_with_underscore.xml new file mode 100644 index 0000000..d8aa046 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/ends_with_underscore.xml @@ -0,0 +1,3 @@ + + strange-name_ + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..ce561c9 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + fULCVpULCVq + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..e36235a --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + AopQejF + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..d5964db --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + Jk0k1414Di + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..d1e470f --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + pVz10Vz10vZZNO9hM + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..451214a --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + t8x1pz9WS4TGV + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..147852e --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + tWC + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..a9366bb --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + xF2bO_Uje6 + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..e0aba12 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + EO5DYAe + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..58ac150 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + nRdRe + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..fc2c3e6 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + P7gn + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/hyphen_then_underscore.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/hyphen_then_underscore.xml new file mode 100644 index 0000000..c4528f9 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/hyphen_then_underscore.xml @@ -0,0 +1,3 @@ + + a-_ + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/many_internal_hyphens.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/many_internal_hyphens.xml new file mode 100644 index 0000000..e735f6f --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/many_internal_hyphens.xml @@ -0,0 +1,3 @@ + + a----------------b + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/many_underscores.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/many_underscores.xml new file mode 100644 index 0000000..b2323b4 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/many_underscores.xml @@ -0,0 +1,3 @@ + + a________________ + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/minimal_digit.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/minimal_digit.xml new file mode 100644 index 0000000..a6eb614 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/minimal_digit.xml @@ -0,0 +1,3 @@ + + a0 + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/minimal_lower.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/minimal_lower.xml new file mode 100644 index 0000000..5a0295d --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/minimal_lower.xml @@ -0,0 +1,3 @@ + + aa + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/minimal_underscore.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/minimal_underscore.xml new file mode 100644 index 0000000..348e1be --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/minimal_underscore.xml @@ -0,0 +1,3 @@ + + a_ + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/minimal_upper.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/minimal_upper.xml new file mode 100644 index 0000000..d86d4ba --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/minimal_upper.xml @@ -0,0 +1,3 @@ + + AZ + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/single_internal_hyphen.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/single_internal_hyphen.xml new file mode 100644 index 0000000..93cab77 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/single_internal_hyphen.xml @@ -0,0 +1,3 @@ + + a-b + diff --git a/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/underscore_after_first.xml b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/underscore_after_first.xml new file mode 100644 index 0000000..38c7b7e --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/idShortOverPatternExamples/underscore_after_first.xml @@ -0,0 +1,3 @@ + + A_ + diff --git a/dev/test_data/Xml/Expected/entity/maximal.xml b/dev/test_data/Xml/Expected/entity/maximal.xml new file mode 100644 index 0000000..e82cd7d --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/maximal.xml @@ -0,0 +1,161 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Expected/entity/minimal.xml b/dev/test_data/Xml/Expected/entity/minimal.xml new file mode 100644 index 0000000..5665ee2 --- /dev/null +++ b/dev/test_data/Xml/Expected/entity/minimal.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Expected/environment/maximal.xml b/dev/test_data/Xml/Expected/environment/maximal.xml new file mode 100644 index 0000000..24978ac --- /dev/null +++ b/dev/test_data/Xml/Expected/environment/maximal.xml @@ -0,0 +1,28 @@ + + + + J5 + + Type + J5 + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + Instance + 򤑌M𪠇𛔊򂄲 + + + + + + 0 + + + + + 0 + + + diff --git a/dev/test_data/Xml/Expected/environment/minimal.xml b/dev/test_data/Xml/Expected/environment/minimal.xml new file mode 100644 index 0000000..702e783 --- /dev/null +++ b/dev/test_data/Xml/Expected/environment/minimal.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Expected/eventPayload/maximal.xml b/dev/test_data/Xml/Expected/eventPayload/maximal.xml new file mode 100644 index 0000000..ad9bc94 --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/maximal.xml @@ -0,0 +1,54 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ExternalReference + + + GlobalReference + urn:an-example:12:1ed44768 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + + ExternalReference + + + GlobalReference + urn:something:16:2204ae04 + + + + öĖa􍣡™| + + ExternalReference + + + GlobalReference + urn:yet-another-company:01:0e4f465d + + + + 2022-04-01T24:00:00-00:00 + /TsF2AbyQb1dIa0= + diff --git a/dev/test_data/Xml/Expected/eventPayload/minimal.xml b/dev/test_data/Xml/Expected/eventPayload/minimal.xml new file mode 100644 index 0000000..9eeddf0 --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/minimal.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 2022-04-01T24:00:00-00:00 + diff --git a/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..e65e8c6 --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 0013-10-11T24:00:00.000000Z + diff --git a/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..210f4c2 --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 0001-01-01T00:00:00Z + diff --git a/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..e5cf5b1 --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + -3020-08-21T24:00:00.0Z + diff --git a/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/midnight_with_24_hours.xml b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/midnight_with_24_hours.xml new file mode 100644 index 0000000..1e20ba7 --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/midnight_with_24_hours.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 2022-04-01T24:00:00Z + diff --git a/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/midnight_with_zeros.xml b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/midnight_with_zeros.xml new file mode 100644 index 0000000..989f8e9 --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/midnight_with_zeros.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 2022-04-01T00:00:00Z + diff --git a/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/minus_zero_offset.xml b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/minus_zero_offset.xml new file mode 100644 index 0000000..9eeddf0 --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/minus_zero_offset.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 2022-04-01T24:00:00-00:00 + diff --git a/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/plus_zero_offset.xml b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/plus_zero_offset.xml new file mode 100644 index 0000000..0e87fc4 --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/plus_zero_offset.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 2022-04-01T24:00:00+00:00 + diff --git a/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/random_positive.xml b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/random_positive.xml new file mode 100644 index 0000000..fb3199e --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/random_positive.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 2022-04-01T01:02:03Z + diff --git a/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/very_large_year.xml b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/very_large_year.xml new file mode 100644 index 0000000..97abfb3 --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/very_large_year.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 123456789012345678901234567-04-01T00:00:00Z + diff --git a/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/very_long_fractional_second.xml b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/very_long_fractional_second.xml new file mode 100644 index 0000000..544c68b --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/very_long_fractional_second.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 2022-04-01T00:00:00.1234567890123456789012345678901234567890Z + diff --git a/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/year_1_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/year_1_bce_is_a_leap_year.xml new file mode 100644 index 0000000..35d2cb1 --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/year_1_bce_is_a_leap_year.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + -0001-02-29T01:02:03Z + diff --git a/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/year_5_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/year_5_bce_is_a_leap_year.xml new file mode 100644 index 0000000..d2f95dc --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/timeStampOverPatternExamples/year_5_bce_is_a_leap_year.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + -0005-02-29T01:02:03Z + diff --git a/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..c4acd37 --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,26 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + 2022-04-01T24:00:00-00:00 + diff --git a/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..d00a473 --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,26 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 𠤢4𠤢 + 2022-04-01T24:00:00-00:00 + diff --git a/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..17a8980 --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,26 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + [\h$񒺟ìÖċŠ1¿ + 2022-04-01T24:00:00-00:00 + diff --git a/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..e0956b3 --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,26 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + öĖa􍣡™| + 2022-04-01T24:00:00-00:00 + diff --git a/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..562bc3b --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,26 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + J5 + 2022-04-01T24:00:00-00:00 + diff --git a/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..2cb82bb --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,26 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + Ûă<P󨱽²|dnœÞ® + 2022-04-01T24:00:00-00:00 + diff --git a/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..a415082 --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,26 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 6 + 2022-04-01T24:00:00-00:00 + diff --git a/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..909369c --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,26 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 򤑌M𪠇𛔊򂄲 + 2022-04-01T24:00:00-00:00 + diff --git a/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..7a12e1d --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,26 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + <ă<P󨱽²|dnœÞ® + 2022-04-01T24:00:00-00:00 + diff --git a/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..b862679 --- /dev/null +++ b/dev/test_data/Xml/Expected/eventPayload/topicOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,26 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 0 + 2022-04-01T24:00:00-00:00 + diff --git a/dev/test_data/Xml/Expected/extension/maximal.xml b/dev/test_data/Xml/Expected/extension/maximal.xml new file mode 100644 index 0000000..2d332e6 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/maximal.xml @@ -0,0 +1,63 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---01 + + + ExternalReference + + + GlobalReference + urn:an-example:18:1d00b242 + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:00:b45040ec + + + + + diff --git a/dev/test_data/Xml/Expected/extension/minimal.xml b/dev/test_data/Xml/Expected/extension/minimal.xml new file mode 100644 index 0000000..5e2b3b8 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/minimal.xml @@ -0,0 +1,3 @@ + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..d86751e --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..abb9617 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..d0ad612 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..6dd3d81 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..fe1912f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..5e2b3b8 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..a12d3b2 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + 6 + diff --git a/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..a56cf2b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..b4c8bb1 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..2443b7d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/nameOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_URI.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_URI.xml new file mode 100644 index 0000000..3afee1d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_URI.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + https://github.com/aas-core-works/aas-core-codegen + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_absolute_path_without_scheme.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_absolute_path_without_scheme.xml new file mode 100644 index 0000000..76f69b7 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_absolute_path_without_scheme.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + /path/to/somewhere + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_empty.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_empty.xml new file mode 100644 index 0000000..a8ace89 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_01.xml new file mode 100644 index 0000000..147a438 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + # + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_02.xml new file mode 100644 index 0000000..9b44134 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + //[d6FA:c:8b:4:7:be7:aD:C8C]:/~.49:f%Fee;%9D%58L/Q%ea'+Q%eb:&%7C,t:;a,@&%dB%2D%Ba&%bF%BF,;%06G%a0%bfk%7b&@&@1@=+%fE6%FF2j4;$;=,%Da$=R%17s+2%68;/v%Ca%a0&$d%Fd7%58@%a0%54D%0BA%00Bw%a59:6;;/%f1:;t%98$J0:Y;?%8Dx:%aC&$/S/L%A5u + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_03.xml new file mode 100644 index 0000000..57917c2 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + A:// + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_04.xml new file mode 100644 index 0000000..a8ace89 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_05.xml new file mode 100644 index 0000000..995cc00 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + #;+; + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_06.xml new file mode 100644 index 0000000..b360b79 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + //@fr+%64@/%C5vw%A8N/%9f;%59%Ea%A9%Dd?#[= + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_07.xml new file mode 100644 index 0000000..c75e67d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + q%7E~@$=l#%f6,&;& + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_08.xml new file mode 100644 index 0000000..3545fa2 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + j.:/%dd;=%78%Eaui;j/aTF&%Fd%9A9K;%f8-;;'4!C;,:C/=;k%b4;%09;;C%74%3a,2%C09;%127%5C;%81%d09/+;/%65%41%a0,@%34C_;%6E*;;%42%D9;%BA7%7EY%D4;%60Z=,/:+;$E&+$%Db4'%F2%7E;'+6-r$%64-;l%85%Eb%Ec+%ae/;=$-;;.%02L;,;%3Bj%a2:&@%3Ak$:;%CB;,(h(::=%b1;$+5&%810%04%3e,@$%60:G+%2d%c8%A4%01%5c,=&:O'CG%Eb@isa%2A+&$$%8D7X.+v)%Ed;3%6eo%DB&;7@%86n=9%aC%02;;k%bDH;%C0%BB;%c9,KF%De&%0A%6fP$:%9B%f5H%b8/T;%01$,%dD%8A%6B!/;,++;=;;%8dk$%0F%FB;;N%6B@;Om$%00# + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_09.xml new file mode 100644 index 0000000..d00157f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + #b%39DX%f9a%76u%da%A1@%a9%D3n + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_10.xml new file mode 100644 index 0000000..723d034 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + ///%6B%0EX%9f-=++$:3%9az+,c&%3F:'Sx%3d%00:%7f%40:%08,;%5b%90%A1c;(;$:$y+%5b/=t%40+H+a@%E7$G%58;:+R$g$-yT%08&:,%fB;%F5b@;%Eb3%0C%A3n%4A%7dBf%75%2F%fc;vZ-%aFV$;%3a&;;=%fC;;~@+/=%A4# + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_integer.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_integer.xml new file mode 100644 index 0000000..ae83036 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_integer.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + 1234 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_relative_path_without_scheme.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_relative_path_without_scheme.xml new file mode 100644 index 0000000..5359a2b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Any_URI_relative_path_without_scheme.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + path/to/somewhere + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_an_empty_value_is_valid.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_an_empty_value_is_valid.xml new file mode 100644 index 0000000..a9c7e9e --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_an_empty_value_is_valid.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_equals_signs_are_used_for_padding.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_equals_signs_are_used_for_padding.xml new file mode 100644 index 0000000..2466713 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_equals_signs_are_used_for_padding.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + 0F+40A== + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_01.xml new file mode 100644 index 0000000..1b8f0ea --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + RJ I k 7 c /F / 1 J8F o 0ivZ v AE 3bj ASP y PI k+ 1 fku W 5M= + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_02.xml new file mode 100644 index 0000000..0e329b9 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + Ie 9 20 Y F 5 Ve9 Y c 0W rH p 2 FQaS /xw /t RtE= + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_03.xml new file mode 100644 index 0000000..7472de8 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + n3wT + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_04.xml new file mode 100644 index 0000000..b48a786 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + wfw E + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_05.xml new file mode 100644 index 0000000..7811a6b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + jj5 n + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_06.xml new file mode 100644 index 0000000..f2ae292 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + j j5 n + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_07.xml new file mode 100644 index 0000000..ab2eea4 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + S w SO 5 S5r + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_08.xml new file mode 100644 index 0000000..9dcb97f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + UBU iUBU iQ n cy q 7wK + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_09.xml new file mode 100644 index 0000000..2bd15ed --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + HU UH + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_10.xml new file mode 100644 index 0000000..88193dd --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + 00000000 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_whitespace_is_allowed_anywhere_in_the_value.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_whitespace_is_allowed_anywhere_in_the_value.xml new file mode 100644 index 0000000..42237ca --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_whitespace_is_allowed_anywhere_in_the_value.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + 0 FB8 0F+9 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_without_space_lowercase.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_without_space_lowercase.xml new file mode 100644 index 0000000..1f024a2 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_without_space_lowercase.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + 0fb8 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_without_space_uppercase.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_without_space_uppercase.xml new file mode 100644 index 0000000..f6dc7af --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Base_64_binary_without_space_uppercase.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + 0FB8 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Boolean_false_as_number.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Boolean_false_as_number.xml new file mode 100644 index 0000000..6bdbecb --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Boolean_false_as_number.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:boolean + 0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Boolean_false_in_letters.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Boolean_false_in_letters.xml new file mode 100644 index 0000000..0ef11ca --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Boolean_false_in_letters.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:boolean + false + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Boolean_true_as_number.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Boolean_true_as_number.xml new file mode 100644 index 0000000..8231b1e --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Boolean_true_as_number.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:boolean + 1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Boolean_true_in_letters.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Boolean_true_in_letters.xml new file mode 100644 index 0000000..40d695c --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Boolean_true_in_letters.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:boolean + true + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_common_example.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_common_example.xml new file mode 100644 index 0000000..3bc9b36 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_common_example.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + 1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_explicitly_positive.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_explicitly_positive.xml new file mode 100644 index 0000000..e0be61d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_explicitly_positive.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + +1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_01.xml new file mode 100644 index 0000000..c92bf03 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + 05 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_02.xml new file mode 100644 index 0000000..db37765 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + 000110 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_03.xml new file mode 100644 index 0000000..1aacfcc --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + +00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_04.xml new file mode 100644 index 0000000..eebaba1 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + -108 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_05.xml new file mode 100644 index 0000000..78ba993 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + 0001 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_06.xml new file mode 100644 index 0000000..e708e5e --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + 103 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_07.xml new file mode 100644 index 0000000..36b08b9 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + 06 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_08.xml new file mode 100644 index 0000000..c10905e --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + +0000002 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_09.xml new file mode 100644 index 0000000..a6ed2da --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + 000000006 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_10.xml new file mode 100644 index 0000000..6a8ba7d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + -00011 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_max.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_max.xml new file mode 100644 index 0000000..6919362 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_max.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + 127 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_min.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_min.xml new file mode 100644 index 0000000..59a7e29 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_min.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + -128 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_negative.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_negative.xml new file mode 100644 index 0000000..d74be8a --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_negative.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + -1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_prefixed_with_zeros.xml new file mode 100644 index 0000000..d956285 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + 001 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_zero.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_zero.xml new file mode 100644 index 0000000..82d784d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_zero.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + 0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..707bfe9 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Byte_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + 000 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date.xml new file mode 100644 index 0000000..1a6c187 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + 2022-04-01 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_large_negative_year.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_large_negative_year.xml new file mode 100644 index 0000000..758806a --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_large_negative_year.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + -12345678901234567890123456789012345678901234567890-04-01 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_large_positive_year.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_large_positive_year.xml new file mode 100644 index 0000000..d7a5fd4 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_large_positive_year.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + 12345678901234567890123456789012345678901234567890-04-01 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_negative_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_negative_offset.xml new file mode 100644 index 0000000..44b2691 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_negative_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + 2022-04-01-02:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_positive_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_positive_offset.xml new file mode 100644 index 0000000..175a253 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_positive_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + 2022-04-01+02:34 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_utc.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_utc.xml new file mode 100644 index 0000000..1e0f893 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_utc.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + 2022-04-01Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_zero_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_zero_offset.xml new file mode 100644 index 0000000..7763f1e --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_date_with_zero_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + 2022-04-01+00:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_01.xml new file mode 100644 index 0000000..085e16b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + 0705-04-10+14:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_02.xml new file mode 100644 index 0000000..47adbee --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + -0236-12-31Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_03.xml new file mode 100644 index 0000000..17e4010 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + 9088-11-06 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_04.xml new file mode 100644 index 0000000..3b84258 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + -7506-08-02 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_05.xml new file mode 100644 index 0000000..1d272b0 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + -3637143-04-09 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_06.xml new file mode 100644 index 0000000..dac99b7 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + -0311-11-30 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_07.xml new file mode 100644 index 0000000..fa53082 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + -0844-11-30 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_08.xml new file mode 100644 index 0000000..46e1a21 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + 0111-04-04 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_09.xml new file mode 100644 index 0000000..8181a22 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + 0412-04-08-10:58 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_10.xml new file mode 100644 index 0000000..060ba51 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + 0520-01-01 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_UTC.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_UTC.xml new file mode 100644 index 0000000..e7cb2a7 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_UTC.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 2022-04-01T01:02:03Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_large_negative_year.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_large_negative_year.xml new file mode 100644 index 0000000..5f05d42 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_large_negative_year.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + -12345678901234567890123456789012345678901234567890-04-01T01:02:03 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_large_positive_year.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_large_positive_year.xml new file mode 100644 index 0000000..72de674 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_large_positive_year.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 12345678901234567890123456789012345678901234567890-04-01T01:02:03 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_long_fractional_seconds.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_long_fractional_seconds.xml new file mode 100644 index 0000000..55cdd2c --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_long_fractional_seconds.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 2022-04-01T01:02:03.0123456789Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_negative_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_negative_offset.xml new file mode 100644 index 0000000..b1818ec --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_negative_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 2022-04-01T01:02:03+00:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_positive_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_positive_offset.xml new file mode 100644 index 0000000..46a34e5 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_positive_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 2022-04-01T01:02:03+02:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_zero_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_zero_offset.xml new file mode 100644 index 0000000..b1818ec --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_with_zero_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 2022-04-01T01:02:03+00:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_without_zone.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_without_zone.xml new file mode 100644 index 0000000..7865f83 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_date_time_without_zone.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 2022-04-01T01:02:03 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_01.xml new file mode 100644 index 0000000..1efc376 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + -0811-10-21T24:00:00.000000Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_02.xml new file mode 100644 index 0000000..ff4374f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + -0819-11-21T24:00:00.00Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_03.xml new file mode 100644 index 0000000..7904d90 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + -665280014-06-30T21:15:16Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_04.xml new file mode 100644 index 0000000..6e4e088 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + -0811-11-21T24:00:00.0000Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_05.xml new file mode 100644 index 0000000..4ec3263 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 0532-09-07T18:47:52+14:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_06.xml new file mode 100644 index 0000000..3ca34a4 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 0707-11-02T24:00:00.00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_07.xml new file mode 100644 index 0000000..8262367 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + -0003-12-20T22:53:54.02567 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_08.xml new file mode 100644 index 0000000..fab8f6d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + -1092-02-25T24:00:00.0000 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_09.xml new file mode 100644 index 0000000..7e0148c --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + -6602-06-30T24:00:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_10.xml new file mode 100644 index 0000000..e632e85 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + -2111111-08-31T23:58:19.269348 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_midnight_with_24_hours.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_midnight_with_24_hours.xml new file mode 100644 index 0000000..0cefc87 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_midnight_with_24_hours.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 2022-04-01T24:00:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_midnight_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_midnight_with_zeros.xml new file mode 100644 index 0000000..b4b637e --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_midnight_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 2022-04-01T00:00:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_year_1_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_year_1_bce_is_a_leap_year.xml new file mode 100644 index 0000000..2ab10a3 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_year_1_bce_is_a_leap_year.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + -0001-02-29T01:02:03 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_year_5_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_year_5_bce_is_a_leap_year.xml new file mode 100644 index 0000000..c245358 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_time_year_5_bce_is_a_leap_year.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + -0005-02-29T01:02:03 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_year_1_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_year_1_bce_is_a_leap_year.xml new file mode 100644 index 0000000..ff64738 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_year_1_bce_is_a_leap_year.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + -0001-02-29 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_year_5_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_year_5_bce_is_a_leap_year.xml new file mode 100644 index 0000000..0397e9d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Date_year_5_bce_is_a_leap_year.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + -0005-02-29 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_decimal.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_decimal.xml new file mode 100644 index 0000000..92225f7 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_decimal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:decimal + 1234.01234 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_decimal_with_long_fractional.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_decimal_with_long_fractional.xml new file mode 100644 index 0000000..2136abd --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_decimal_with_long_fractional.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:decimal + 1234.1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_decimal_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_decimal_with_preceding_zeros.xml new file mode 100644 index 0000000..cec6e6a --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_decimal_with_preceding_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:decimal + 0001234.01234 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_01.xml new file mode 100644 index 0000000..36e5b5a --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:decimal + .33324 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_02.xml new file mode 100644 index 0000000..f002025 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:decimal + 01195 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_03.xml new file mode 100644 index 0000000..dae994b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:decimal + +875 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_04.xml new file mode 100644 index 0000000..d154e58 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:decimal + -8 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_05.xml new file mode 100644 index 0000000..05a3184 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:decimal + -0.0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_06.xml new file mode 100644 index 0000000..21b83ef --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:decimal + -13522106 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_07.xml new file mode 100644 index 0000000..f796b7b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:decimal + +10 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_08.xml new file mode 100644 index 0000000..5a5afe6 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:decimal + -030725 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_09.xml new file mode 100644 index 0000000..a884684 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:decimal + .3 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_10.xml new file mode 100644 index 0000000..6c61f5b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:decimal + 0061707 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_integer.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_integer.xml new file mode 100644 index 0000000..304a3d6 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_integer.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:decimal + 1234 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_integer_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_integer_with_preceding_zeros.xml new file mode 100644 index 0000000..3f68a22 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_integer_with_preceding_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:decimal + 0001234 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_very_large_decimal.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_very_large_decimal.xml new file mode 100644 index 0000000..2fb3e60 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Decimal_very_large_decimal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:decimal + 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.12345678901234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_double.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_double.xml new file mode 100644 index 0000000..7a4e946 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_double.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + 1234.01234 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_01.xml new file mode 100644 index 0000000..15f7554 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + .1118 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_02.xml new file mode 100644 index 0000000..0534d15 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + -.662 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_03.xml new file mode 100644 index 0000000..4f1bb2c --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + .0E0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_04.xml new file mode 100644 index 0000000..651aff6 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + .4 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_05.xml new file mode 100644 index 0000000..71fa137 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + .11 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_06.xml new file mode 100644 index 0000000..cbb3d13 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + +76E-86 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_07.xml new file mode 100644 index 0000000..0534d15 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + -.662 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_08.xml new file mode 100644 index 0000000..e232fef --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + 1e+7 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_09.xml new file mode 100644 index 0000000..e5aaf7d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + -.66E-45 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_10.xml new file mode 100644 index 0000000..fca407f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + 140206134 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_inf.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_inf.xml new file mode 100644 index 0000000..3426574 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_inf.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + INF + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_integer.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_integer.xml new file mode 100644 index 0000000..46ca42c --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_integer.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + 1234 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_integer_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_integer_with_preceding_zeros.xml new file mode 100644 index 0000000..4f399ae --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_integer_with_preceding_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + 0001234 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_loss_of_precision_is_not_detected_by_design.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_loss_of_precision_is_not_detected_by_design.xml new file mode 100644 index 0000000..6e67350 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_loss_of_precision_is_not_detected_by_design.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + 1234.1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_lowest.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_lowest.xml new file mode 100644 index 0000000..b11ac81 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_lowest.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_max.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_max.xml new file mode 100644 index 0000000..a500dcb --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_max.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_minus_inf.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_minus_inf.xml new file mode 100644 index 0000000..16a934b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_minus_inf.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + -INF + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_nan.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_nan.xml new file mode 100644 index 0000000..f7efa91 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_nan.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + NaN + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_scientific_notation.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_scientific_notation.xml new file mode 100644 index 0000000..e7ed64c --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_scientific_notation.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + 12.34e56 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_scientific_notation_negative.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_scientific_notation_negative.xml new file mode 100644 index 0000000..09af057 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_scientific_notation_negative.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + -12.34e56 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_scientific_notation_negative_exponent.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_scientific_notation_negative_exponent.xml new file mode 100644 index 0000000..3095717 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_scientific_notation_negative_exponent.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + 12.34e-56 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_scientific_notation_positive.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_scientific_notation_positive.xml new file mode 100644 index 0000000..b8479d5 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_scientific_notation_positive.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + +12.34e56 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_scientific_notation_positive_exponent.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_scientific_notation_positive_exponent.xml new file mode 100644 index 0000000..a388205 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_scientific_notation_positive_exponent.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + 12.34e+56 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_very_large_normal.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_very_large_normal.xml new file mode 100644 index 0000000..41884a2 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_very_large_normal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + 2e307 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_very_precise_subnormal.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_very_precise_subnormal.xml new file mode 100644 index 0000000..7ecd1a1 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_very_precise_subnormal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + 2e-307 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_with_preceding_zeros.xml new file mode 100644 index 0000000..bf369b3 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Double_with_preceding_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + 0001234.01234 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_day_seconds.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_day_seconds.xml new file mode 100644 index 0000000..2c8e148 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_day_seconds.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + P1DT2S + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_full.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_full.xml new file mode 100644 index 0000000..d816584 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_full.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + P1Y2M3DT5H20M30.123S + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_01.xml new file mode 100644 index 0000000..9786429 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + -P009D + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_02.xml new file mode 100644 index 0000000..0069359 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + P5Y36660767143M + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_03.xml new file mode 100644 index 0000000..d245f5b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + -PT01332.1S + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_04.xml new file mode 100644 index 0000000..6f38055 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + -P11DT142M + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_05.xml new file mode 100644 index 0000000..3ca955e --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + PT88M48936316289.34291243605107045S + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_06.xml new file mode 100644 index 0000000..b82e2d6 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + -P1M923D + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_07.xml new file mode 100644 index 0000000..2f7caee --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + -PT0.332S + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_08.xml new file mode 100644 index 0000000..5d3bd3e --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + -PT313148178698146281H866062127724898M + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_09.xml new file mode 100644 index 0000000..a51a921 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + -PT1.5375209S + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_10.xml new file mode 100644 index 0000000..fdcf74d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + PT18688M + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_long_second_fractal.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_long_second_fractal.xml new file mode 100644 index 0000000..99d5a51 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_long_second_fractal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + PT1.12345678901234567890123456789012345678901234567890123456789012345678901234567890S + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_many_many_seconds.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_many_many_seconds.xml new file mode 100644 index 0000000..1c02025 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_many_many_seconds.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + PT12345678901234567890123456789012345678901234567890123456789012345678901234567890S + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_month_seconds.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_month_seconds.xml new file mode 100644 index 0000000..a5ca032 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_month_seconds.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + PT2M10S + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_only_seconds.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_only_seconds.xml new file mode 100644 index 0000000..7806d45 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_only_seconds.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + PT130S + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_only_year.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_only_year.xml new file mode 100644 index 0000000..770af2f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Duration_only_year.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + -P1Y + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_float.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_float.xml new file mode 100644 index 0000000..ddaba6f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_float.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + 1234.01234 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_01.xml new file mode 100644 index 0000000..9aff8ad --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + -.80E0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_02.xml new file mode 100644 index 0000000..e456e63 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + -147E7 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_03.xml new file mode 100644 index 0000000..2232977 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + 18 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_04.xml new file mode 100644 index 0000000..96c2956 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + .1532E+16 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_05.xml new file mode 100644 index 0000000..45ac288 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + +44.6393 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_06.xml new file mode 100644 index 0000000..64596c4 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + .5885e-29 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_07.xml new file mode 100644 index 0000000..7ce1bef --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + 1e-7 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_08.xml new file mode 100644 index 0000000..7140cb7 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + +732.55619 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_09.xml new file mode 100644 index 0000000..31e83e6 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + .1E05 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_10.xml new file mode 100644 index 0000000..6e2eb92 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + 1102 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_inf.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_inf.xml new file mode 100644 index 0000000..ae4af0c --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_inf.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + INF + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_integer.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_integer.xml new file mode 100644 index 0000000..cbee347 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_integer.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + 1234 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_integer_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_integer_with_preceding_zeros.xml new file mode 100644 index 0000000..7d49c17 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_integer_with_preceding_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + 0001234 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_largest_normal.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_largest_normal.xml new file mode 100644 index 0000000..570fe92 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_largest_normal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + 340282346638528859811704183484516925440 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_largest_number_less_than_one.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_largest_number_less_than_one.xml new file mode 100644 index 0000000..b2ead18 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_largest_number_less_than_one.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + 0.999999940395355224609375 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_largest_subnormal.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_largest_subnormal.xml new file mode 100644 index 0000000..02ddf46 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_largest_subnormal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + 0.00000000000000000000000000000000000001175494210692441075487029444849287348827052428745893333857174530571588870475618904265502351336181163787841796875 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_loss_of_precision_is_not_detected_by_design.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_loss_of_precision_is_not_detected_by_design.xml new file mode 100644 index 0000000..80c39c3 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_loss_of_precision_is_not_detected_by_design.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + 1234.1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_nan.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_nan.xml new file mode 100644 index 0000000..2587dd5 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_nan.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + NaN + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_negative_inf.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_negative_inf.xml new file mode 100644 index 0000000..f61096b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_negative_inf.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + -INF + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_scientific_notation.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_scientific_notation.xml new file mode 100644 index 0000000..818cabd --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_scientific_notation.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + 12.34e16 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_scientific_notation_negative.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_scientific_notation_negative.xml new file mode 100644 index 0000000..74b49c5 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_scientific_notation_negative.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + -12.34e16 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_scientific_notation_negative_exponent.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_scientific_notation_negative_exponent.xml new file mode 100644 index 0000000..d80317f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_scientific_notation_negative_exponent.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + 12.34e-16 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_scientific_notation_positive.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_scientific_notation_positive.xml new file mode 100644 index 0000000..022da38 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_scientific_notation_positive.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + +12.34e16 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_scientific_notation_positive_exponent.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_scientific_notation_positive_exponent.xml new file mode 100644 index 0000000..4104fbe --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_scientific_notation_positive_exponent.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + 12.34e+16 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_smallest_number_larger_than_one.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_smallest_number_larger_than_one.xml new file mode 100644 index 0000000..cdc4a4f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_smallest_number_larger_than_one.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + 1.00000011920928955078125 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_smallest_positive_normal.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_smallest_positive_normal.xml new file mode 100644 index 0000000..93ee162 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_smallest_positive_normal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + 0.000000000000000000000000000000000000011754943508222875079687365372222456778186655567720875215087517062784172594547271728515625 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_smallest_positive_subnormal.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_smallest_positive_subnormal.xml new file mode 100644 index 0000000..bcd01e8 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_smallest_positive_subnormal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + 0.00000000000000000000000000000000000000000000140129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_with_preceding_zeros.xml new file mode 100644 index 0000000..0517948 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Float_with_preceding_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + 0001234.01234 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_day_not_existing_in_all_months_without_zone.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_day_not_existing_in_all_months_without_zone.xml new file mode 100644 index 0000000..e7418bc --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_day_not_existing_in_all_months_without_zone.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---31 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_double_digit_day_without_zone.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_double_digit_day_without_zone.xml new file mode 100644 index 0000000..ea6460a --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_double_digit_day_without_zone.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---15 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_01.xml new file mode 100644 index 0000000..03639fc --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---23Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_02.xml new file mode 100644 index 0000000..fa9c25f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---24 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_03.xml new file mode 100644 index 0000000..73477d9 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---10 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_04.xml new file mode 100644 index 0000000..0fe2f72 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---30-14:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_05.xml new file mode 100644 index 0000000..e80a7c6 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---31-09:25 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_06.xml new file mode 100644 index 0000000..853fa91 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---17Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_07.xml new file mode 100644 index 0000000..4bdf985 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---30+00:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_08.xml new file mode 100644 index 0000000..44a1777 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---30-10:11 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_09.xml new file mode 100644 index 0000000..df517cc --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---22Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_10.xml new file mode 100644 index 0000000..614aad6 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---30Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_negative_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_negative_offset.xml new file mode 100644 index 0000000..afb7a91 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_negative_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---01-04:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_positive_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_positive_offset.xml new file mode 100644 index 0000000..a257f6a --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_positive_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---01+02:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_single_digit_day_without_zone.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_single_digit_day_without_zone.xml new file mode 100644 index 0000000..81f66dd --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_single_digit_day_without_zone.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---01 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_utc_zone.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_utc_zone.xml new file mode 100644 index 0000000..a6009bb --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_utc_zone.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---01Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_zero_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_zero_offset.xml new file mode 100644 index 0000000..4de6d93 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_day_zero_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---01+00:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_double_digit_month_double_digit_day_without_zone.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_double_digit_month_double_digit_day_without_zone.xml new file mode 100644 index 0000000..16ba013 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_double_digit_month_double_digit_day_without_zone.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --11-14 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_double_digit_month_single_digit_day_without_zone.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_double_digit_month_single_digit_day_without_zone.xml new file mode 100644 index 0000000..adcbbef --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_double_digit_month_single_digit_day_without_zone.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --11-01 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_february_29th_which_does_not_exist_in_all_years.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_february_29th_which_does_not_exist_in_all_years.xml new file mode 100644 index 0000000..325cc52 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_february_29th_which_does_not_exist_in_all_years.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --02-29 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_01.xml new file mode 100644 index 0000000..5e6cf9e --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --11-20 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_02.xml new file mode 100644 index 0000000..530aae0 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --12-06 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_03.xml new file mode 100644 index 0000000..daaf773 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --12-01 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_04.xml new file mode 100644 index 0000000..a2a2a04 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --11-21+14:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_05.xml new file mode 100644 index 0000000..1f800a8 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --10-07 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_06.xml new file mode 100644 index 0000000..9a47c84 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --10-30 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_07.xml new file mode 100644 index 0000000..5032605 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --12-27 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_08.xml new file mode 100644 index 0000000..e1b7f7d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --04-30 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_09.xml new file mode 100644 index 0000000..df27c03 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --10-10-14:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_10.xml new file mode 100644 index 0000000..0c6f907 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --10-11Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_negative_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_negative_offset.xml new file mode 100644 index 0000000..99418dc --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_negative_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --11-01-04:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_positive_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_positive_offset.xml new file mode 100644 index 0000000..e10ff65 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_positive_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --11-01+02:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_single_digit_month_single_digit_day_without_zone.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_single_digit_month_single_digit_day_without_zone.xml new file mode 100644 index 0000000..0239fa5 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_single_digit_month_single_digit_day_without_zone.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --05-01 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_utc_zone.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_utc_zone.xml new file mode 100644 index 0000000..26a0f28 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_utc_zone.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --11-01Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_zero_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_zero_offset.xml new file mode 100644 index 0000000..e10ff65 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_day_zero_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --11-01+02:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_double_digit_month_without_zone.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_double_digit_month_without_zone.xml new file mode 100644 index 0000000..196e624 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_double_digit_month_without_zone.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --11 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_01.xml new file mode 100644 index 0000000..709276d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --11-13:34 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_02.xml new file mode 100644 index 0000000..6689ab6 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --10+14:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_03.xml new file mode 100644 index 0000000..c166680 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --10+07:39 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_04.xml new file mode 100644 index 0000000..922ca6e --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --11-05:22 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_05.xml new file mode 100644 index 0000000..f7e6dac --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --01 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_06.xml new file mode 100644 index 0000000..f3a84b5 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --12Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_07.xml new file mode 100644 index 0000000..2cca499 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --10-13:30 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_08.xml new file mode 100644 index 0000000..aee079f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --07 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_09.xml new file mode 100644 index 0000000..824f3a0 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --11-10:05 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_10.xml new file mode 100644 index 0000000..e6be3bc --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --11+12:33 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_negative_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_negative_offset.xml new file mode 100644 index 0000000..0fd8ad3 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_negative_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --11-04:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_positive_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_positive_offset.xml new file mode 100644 index 0000000..278ff9a --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_positive_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --11+02:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_single_digit_month_without_zone.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_single_digit_month_without_zone.xml new file mode 100644 index 0000000..e6b9d2d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_single_digit_month_without_zone.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --05 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_utc_zone.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_utc_zone.xml new file mode 100644 index 0000000..19dd294 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_utc_zone.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --11Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_zero_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_zero_offset.xml new file mode 100644 index 0000000..5068653 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_month_zero_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --11+00:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_five_digit_negative_year.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_five_digit_negative_year.xml new file mode 100644 index 0000000..0fb963b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_five_digit_negative_year.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + -20000 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_five_digit_year.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_five_digit_year.xml new file mode 100644 index 0000000..7d0af5d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_five_digit_year.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + 20000 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_01.xml new file mode 100644 index 0000000..2b84c43 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + 0740-07:36 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_02.xml new file mode 100644 index 0000000..b0c5a84 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + 125774274 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_03.xml new file mode 100644 index 0000000..acd1b57 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + -0444 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_04.xml new file mode 100644 index 0000000..d6e202e --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + 0000 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_05.xml new file mode 100644 index 0000000..7325c71 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + -0111+14:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_06.xml new file mode 100644 index 0000000..c7213a3 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + 11111 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_07.xml new file mode 100644 index 0000000..6240d30 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + 973419862 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_08.xml new file mode 100644 index 0000000..b615b8e --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + 1717608219759Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_09.xml new file mode 100644 index 0000000..4b5335b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + -0863 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_10.xml new file mode 100644 index 0000000..242b344 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + -0109+14:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_common_year_month.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_common_year_month.xml new file mode 100644 index 0000000..dc7f8c5 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_common_year_month.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + 2001-10 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_five_digit_negative_year.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_five_digit_negative_year.xml new file mode 100644 index 0000000..48a57ef --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_five_digit_negative_year.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + -20000-04 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_01.xml new file mode 100644 index 0000000..9099592 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + -65822-10 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_02.xml new file mode 100644 index 0000000..69cab19 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + 0730-10-14:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_03.xml new file mode 100644 index 0000000..b80447c --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + -4111-11Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_04.xml new file mode 100644 index 0000000..e3bb5cd --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + 1000-01 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_05.xml new file mode 100644 index 0000000..b8d2bb6 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + 0010-09-14:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_06.xml new file mode 100644 index 0000000..e2f4c4e --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + 0555-07 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_07.xml new file mode 100644 index 0000000..105df9f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + 0404-11-14:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_08.xml new file mode 100644 index 0000000..c98c3c3 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + -0882-11+14:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_09.xml new file mode 100644 index 0000000..57f95b7 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + -0230-09Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_10.xml new file mode 100644 index 0000000..5bf9fda --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + 0119-12-14:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_negative_year.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_negative_year.xml new file mode 100644 index 0000000..5fe15eb --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_negative_year.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + -2001-10 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_very_large_negative_year.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_very_large_negative_year.xml new file mode 100644 index 0000000..5493186 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_very_large_negative_year.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + -123456789012345678901234567890123456789012345678901234567890-04 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_very_large_positive_year.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_very_large_positive_year.xml new file mode 100644 index 0000000..990a5d8 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_very_large_positive_year.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + 123456789012345678901234567890123456789012345678901234567890-04 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_with_negative_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_with_negative_offset.xml new file mode 100644 index 0000000..6103893 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_with_negative_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + 2001-10-02:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_with_positive_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_with_positive_offset.xml new file mode 100644 index 0000000..3cc53e1 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_with_positive_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + 2001-10+02:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_with_utc_zone.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_with_utc_zone.xml new file mode 100644 index 0000000..1a27a89 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_with_utc_zone.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + 2001-10Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_with_zero_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_with_zero_offset.xml new file mode 100644 index 0000000..d7d5adb --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_month_with_zero_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + 2001-10+00:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_negative_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_negative_offset.xml new file mode 100644 index 0000000..c51ca27 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_negative_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + 2001-04:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_negative_year.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_negative_year.xml new file mode 100644 index 0000000..c85a816 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_negative_year.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + -2001 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_positive_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_positive_offset.xml new file mode 100644 index 0000000..484feb1 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_positive_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + 2001+02:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_utc_zone.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_utc_zone.xml new file mode 100644 index 0000000..ce2f32a --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_utc_zone.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + 2001Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_very_large_negative_year.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_very_large_negative_year.xml new file mode 100644 index 0000000..5003957 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_very_large_negative_year.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + -123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_very_large_positive_year.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_very_large_positive_year.xml new file mode 100644 index 0000000..7dd44a2 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_very_large_positive_year.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + 123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_year_without_zone.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_year_without_zone.xml new file mode 100644 index 0000000..27370b9 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_year_without_zone.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + 2001 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_zero_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_zero_offset.xml new file mode 100644 index 0000000..473b907 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/G_year_zero_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + 2001+00:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_empty.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_empty.xml new file mode 100644 index 0000000..e053ceb --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:hexBinary + + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_01.xml new file mode 100644 index 0000000..50d5f22 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:hexBinary + f22fF9004a6D9AD1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_02.xml new file mode 100644 index 0000000..ceb81ef --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:hexBinary + 00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_03.xml new file mode 100644 index 0000000..df2eb44 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:hexBinary + FFFFfef3CB + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_04.xml new file mode 100644 index 0000000..2068814 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:hexBinary + A8 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_05.xml new file mode 100644 index 0000000..db63baa --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:hexBinary + 3C3C82 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_06.xml new file mode 100644 index 0000000..5dbea0f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:hexBinary + 23ee + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_07.xml new file mode 100644 index 0000000..ceb81ef --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:hexBinary + 00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_08.xml new file mode 100644 index 0000000..aed86cb --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:hexBinary + aBe5ccF85fbf32 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_09.xml new file mode 100644 index 0000000..aed86cb --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:hexBinary + aBe5ccF85fbf32 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_10.xml new file mode 100644 index 0000000..6ce0da2 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:hexBinary + C4E02bbC + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_long_random_hex.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_long_random_hex.xml new file mode 100644 index 0000000..c92925a --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_long_random_hex.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:hexBinary + 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e67 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_one_one.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_one_one.xml new file mode 100644 index 0000000..d51b96e --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_one_one.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:hexBinary + 11 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_one_two.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_one_two.xml new file mode 100644 index 0000000..9b9a146 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_one_two.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:hexBinary + 12 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_one_two_three_four.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_one_two_three_four.xml new file mode 100644 index 0000000..a74d8a1 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Hex_binary_one_two_three_four.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:hexBinary + 1234 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_common_example.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_common_example.xml new file mode 100644 index 0000000..233af5d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_common_example.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + 1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_explicitly_positive.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_explicitly_positive.xml new file mode 100644 index 0000000..73007bc --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_explicitly_positive.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + +1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_01.xml new file mode 100644 index 0000000..9a8ce20 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + 00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_02.xml new file mode 100644 index 0000000..9789d6c --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + -0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_03.xml new file mode 100644 index 0000000..1813f95 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + 000000000000069268 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_04.xml new file mode 100644 index 0000000..3cce2da --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + +478978 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_05.xml new file mode 100644 index 0000000..291606a --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + 7097 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_06.xml new file mode 100644 index 0000000..aba2ff8 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + 68 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_07.xml new file mode 100644 index 0000000..d0aefd2 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + +0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_08.xml new file mode 100644 index 0000000..bae8dd4 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + 6612453 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_09.xml new file mode 100644 index 0000000..3ae8ccd --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + -00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_10.xml new file mode 100644 index 0000000..533a247 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + +0000000946381 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_max.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_max.xml new file mode 100644 index 0000000..f8e6ed7 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_max.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + 2147483647 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_min.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_min.xml new file mode 100644 index 0000000..b42fcb7 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_min.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + -2147483648 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_negative.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_negative.xml new file mode 100644 index 0000000..43a0b51 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_negative.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + -1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_prefixed_with_zeros.xml new file mode 100644 index 0000000..bbfea4c --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + 001 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_zero.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_zero.xml new file mode 100644 index 0000000..5e28990 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_zero.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + 0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..eafbbf8 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Int_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + 000 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_common_example.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_common_example.xml new file mode 100644 index 0000000..8930955 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_common_example.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + 1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_explicitly_positive.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_explicitly_positive.xml new file mode 100644 index 0000000..113717c --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_explicitly_positive.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + +1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_01.xml new file mode 100644 index 0000000..b688a11 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + 817778847926480 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_02.xml new file mode 100644 index 0000000..b5ec918 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + +022 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_03.xml new file mode 100644 index 0000000..9fc4342 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + -43045 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_04.xml new file mode 100644 index 0000000..8087139 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + -3009 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_05.xml new file mode 100644 index 0000000..2e6bb55 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + 0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_06.xml new file mode 100644 index 0000000..b5d41c2 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + -3 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_07.xml new file mode 100644 index 0000000..866d7fd --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + 8 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_08.xml new file mode 100644 index 0000000..90abd74 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + 221 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_09.xml new file mode 100644 index 0000000..d6a0922 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + 9191 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_10.xml new file mode 100644 index 0000000..324636b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + -3909 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_negative.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_negative.xml new file mode 100644 index 0000000..02e6b8d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_negative.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + -1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_prefixed_with_zeros.xml new file mode 100644 index 0000000..0d62471 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + 001 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_very_large.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_very_large.xml new file mode 100644 index 0000000..4765bf4 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_very_large.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + 1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_zero.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_zero.xml new file mode 100644 index 0000000..2e6bb55 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_zero.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + 0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..22778c7 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Integer_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + 000 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_common_example.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_common_example.xml new file mode 100644 index 0000000..99a2450 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_common_example.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + 1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_explicitly_positive.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_explicitly_positive.xml new file mode 100644 index 0000000..560d087 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_explicitly_positive.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + +1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_01.xml new file mode 100644 index 0000000..eb315fa --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + -002728 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_02.xml new file mode 100644 index 0000000..b16abcf --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + 6257 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_03.xml new file mode 100644 index 0000000..edb3dfc --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + 088 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_04.xml new file mode 100644 index 0000000..fee9299 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + 29 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_05.xml new file mode 100644 index 0000000..2906bd9 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + -288 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_06.xml new file mode 100644 index 0000000..215f192 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + 004775 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_07.xml new file mode 100644 index 0000000..d51e8c3 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + 2912577609592844 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_08.xml new file mode 100644 index 0000000..813bffb --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + -0161 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_09.xml new file mode 100644 index 0000000..6790672 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + 00000000000048533 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_10.xml new file mode 100644 index 0000000..8358319 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + 3116670676 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_max.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_max.xml new file mode 100644 index 0000000..318c3a3 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_max.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + 9223372036854775807 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_min.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_min.xml new file mode 100644 index 0000000..f556cbc --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_min.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + -9223372036854775808 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_negative.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_negative.xml new file mode 100644 index 0000000..d37a1dd --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_negative.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + -1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_prefixed_with_zeros.xml new file mode 100644 index 0000000..ec73732 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + 001 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_zero.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_zero.xml new file mode 100644 index 0000000..61e7bf1 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_zero.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + 0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..9c92b75 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Long_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + 000 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_01.xml new file mode 100644 index 0000000..738c849 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + -001 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_02.xml new file mode 100644 index 0000000..6ec5175 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + -002 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_03.xml new file mode 100644 index 0000000..178a0c9 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + -009 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_04.xml new file mode 100644 index 0000000..f264edb --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + -8 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_05.xml new file mode 100644 index 0000000..7f30523 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + -1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_06.xml new file mode 100644 index 0000000..6a9b341 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + -00000000000000000000000516481 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_07.xml new file mode 100644 index 0000000..fb90f48 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + -003 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_08.xml new file mode 100644 index 0000000..08dc6d5 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + -00126 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_09.xml new file mode 100644 index 0000000..46cc997 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + -01 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_10.xml new file mode 100644 index 0000000..7062364 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + -3 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_negative.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_negative.xml new file mode 100644 index 0000000..7f30523 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_negative.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + -1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_prefixed_with_zeros.xml new file mode 100644 index 0000000..738c849 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + -001 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_very_large.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_very_large.xml new file mode 100644 index 0000000..4981148 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Negative_integer_very_large.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + -1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_common_example.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_common_example.xml new file mode 100644 index 0000000..bfe86e2 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_common_example.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + 1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_explicitly_positive.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_explicitly_positive.xml new file mode 100644 index 0000000..827b0c3 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_explicitly_positive.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + +1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_explicitly_positive_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_explicitly_positive_prefixed_with_zeros.xml new file mode 100644 index 0000000..ae7c38b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_explicitly_positive_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + +001 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_01.xml new file mode 100644 index 0000000..be917a3 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + +4 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_02.xml new file mode 100644 index 0000000..22c4c4c --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + 00018 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_03.xml new file mode 100644 index 0000000..7653637 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + 22777 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_04.xml new file mode 100644 index 0000000..71e144f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + 22077 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_05.xml new file mode 100644 index 0000000..a176a0d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + +06 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_06.xml new file mode 100644 index 0000000..a08ffcc --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + 09 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_07.xml new file mode 100644 index 0000000..fe4007c --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + +3 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_08.xml new file mode 100644 index 0000000..d5a6bcb --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + +5739 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_09.xml new file mode 100644 index 0000000..1e399ea --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + +70126 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_10.xml new file mode 100644 index 0000000..750ff26 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + 05688 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_minus_zero.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_minus_zero.xml new file mode 100644 index 0000000..45af9c7 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_minus_zero.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + -0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_positive_zero.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_positive_zero.xml new file mode 100644 index 0000000..adde00f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_positive_zero.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + +0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_prefixed_with_zeros.xml new file mode 100644 index 0000000..f975405 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + 001 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_very_large.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_very_large.xml new file mode 100644 index 0000000..bf1902a --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_very_large.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + 1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_zero.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_zero.xml new file mode 100644 index 0000000..e03ab55 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_zero.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + 0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..5dce703 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_negative_integer_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + 000 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_explicitly_positive_zero.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_explicitly_positive_zero.xml new file mode 100644 index 0000000..6d9f8db --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_explicitly_positive_zero.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + +0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_01.xml new file mode 100644 index 0000000..4aed2b0 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + -51 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_02.xml new file mode 100644 index 0000000..4aac98b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + -8908938 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_03.xml new file mode 100644 index 0000000..79e70dd --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + -553 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_04.xml new file mode 100644 index 0000000..6d9f8db --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + +0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_05.xml new file mode 100644 index 0000000..270717b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + -4006 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_06.xml new file mode 100644 index 0000000..e518bc6 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + -83 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_07.xml new file mode 100644 index 0000000..d9b62fa --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + -004 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_08.xml new file mode 100644 index 0000000..d8ed3ab --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + -551521749598676413553 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_09.xml new file mode 100644 index 0000000..ea61fe3 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + -12116166 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_10.xml new file mode 100644 index 0000000..79e70dd --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + -553 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_negative.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_negative.xml new file mode 100644 index 0000000..435c174 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_negative.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + -1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_prefixed_with_zeros.xml new file mode 100644 index 0000000..64e3821 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + -001 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_very_large.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_very_large.xml new file mode 100644 index 0000000..55308a3 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_very_large.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + -1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_zero.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_zero.xml new file mode 100644 index 0000000..f550b00 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Non_positive_integer_zero.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + 0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_common_example.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_common_example.xml new file mode 100644 index 0000000..c3e8bb0 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_common_example.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:positiveInteger + 1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_explicitly_positive.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_explicitly_positive.xml new file mode 100644 index 0000000..9494209 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_explicitly_positive.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:positiveInteger + +1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_01.xml new file mode 100644 index 0000000..7721f80 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:positiveInteger + 550788 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_02.xml new file mode 100644 index 0000000..a0482e2 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:positiveInteger + 7775 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_03.xml new file mode 100644 index 0000000..097eb88 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:positiveInteger + +87138 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_04.xml new file mode 100644 index 0000000..ac75252 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:positiveInteger + 8093888718 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_05.xml new file mode 100644 index 0000000..ab498bc --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:positiveInteger + 01145 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_06.xml new file mode 100644 index 0000000..e5dc36a --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:positiveInteger + 01 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_07.xml new file mode 100644 index 0000000..9cc9ad0 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:positiveInteger + +57345 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_08.xml new file mode 100644 index 0000000..8ff0f06 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:positiveInteger + 54691 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_09.xml new file mode 100644 index 0000000..bdbe3bc --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:positiveInteger + +01 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_10.xml new file mode 100644 index 0000000..985c4e0 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:positiveInteger + 3 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_prefixed_with_zeros.xml new file mode 100644 index 0000000..6a299f8 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:positiveInteger + 001 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_very_large.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_very_large.xml new file mode 100644 index 0000000..aae59dd --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Positive_integer_very_large.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:positiveInteger + 1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_common_example.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_common_example.xml new file mode 100644 index 0000000..24f21a8 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_common_example.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + 1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_explicitly_positive.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_explicitly_positive.xml new file mode 100644 index 0000000..a00aec1 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_explicitly_positive.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + +1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_01.xml new file mode 100644 index 0000000..3b94d0e --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + 9 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_02.xml new file mode 100644 index 0000000..1e5cb98 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + 01 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_03.xml new file mode 100644 index 0000000..a00aec1 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + +1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_04.xml new file mode 100644 index 0000000..2381c09 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + 8801 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_05.xml new file mode 100644 index 0000000..7824a80 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + 125 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_06.xml new file mode 100644 index 0000000..7b86f1f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + 20518 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_07.xml new file mode 100644 index 0000000..a89cc40 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + 60 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_08.xml new file mode 100644 index 0000000..fcd0c31 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + -01 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_09.xml new file mode 100644 index 0000000..25858d9 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + +31923 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_10.xml new file mode 100644 index 0000000..8ec3e6b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + 22 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_max.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_max.xml new file mode 100644 index 0000000..b704e36 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_max.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + 32767 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_min.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_min.xml new file mode 100644 index 0000000..cead936 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_min.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + -32768 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_negative.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_negative.xml new file mode 100644 index 0000000..2a4c6ce --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_negative.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + -1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_prefixed_with_zeros.xml new file mode 100644 index 0000000..b6f050c --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + 001 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_zero.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_zero.xml new file mode 100644 index 0000000..5a6fe89 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_zero.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + 0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..812aa04 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Short_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + 000 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_empty.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_empty.xml new file mode 100644 index 0000000..9441cfa --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:string + + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_free_form_text.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_free_form_text.xml new file mode 100644 index 0000000..a05b6a6 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:string + some free & <free> ᦄ form text + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_01.xml new file mode 100644 index 0000000..c9e3153 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:string + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_02.xml new file mode 100644 index 0000000..b451410 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:string + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_03.xml new file mode 100644 index 0000000..b02d337 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:string + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_04.xml new file mode 100644 index 0000000..43bb21e --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:string + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_05.xml new file mode 100644 index 0000000..bb10b92 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:string + J5 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_06.xml new file mode 100644 index 0000000..ba16783 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:string + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_07.xml new file mode 100644 index 0000000..ea401e3 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:string + 6 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_08.xml new file mode 100644 index 0000000..5ac89e3 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:string + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_09.xml new file mode 100644 index 0000000..2703c79 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:string + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_10.xml new file mode 100644 index 0000000..3f2a614 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/String_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:string + 0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_common_example.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_common_example.xml new file mode 100644 index 0000000..37b0f14 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_common_example.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 21:32:52 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_01.xml new file mode 100644 index 0000000..41a6666 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 24:00:00.00Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_02.xml new file mode 100644 index 0000000..ad7868d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 01:19:39.4378+10:53 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_03.xml new file mode 100644 index 0000000..74bfa01 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 01:00:12+14:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_04.xml new file mode 100644 index 0000000..e26c069 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 24:00:00.0Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_05.xml new file mode 100644 index 0000000..fedb360 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 01:10:12+14:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_06.xml new file mode 100644 index 0000000..5261698 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 24:00:00-14:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_07.xml new file mode 100644 index 0000000..b439fc4 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 20:55:25 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_08.xml new file mode 100644 index 0000000..11c4e37 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 24:00:00-10:44 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_09.xml new file mode 100644 index 0000000..8ece9d4 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 24:00:00-13:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_10.xml new file mode 100644 index 0000000..91c942f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 24:00:00.000000+14:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_negative_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_negative_offset.xml new file mode 100644 index 0000000..875228b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_negative_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 21:32:52-02:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_positive_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_positive_offset.xml new file mode 100644 index 0000000..f5ee1bf --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_positive_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 21:32:52+02:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_with_long_second_fractional.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_with_long_second_fractional.xml new file mode 100644 index 0000000..439963d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_with_long_second_fractional.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 21:32:52.12345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_with_second_fractional.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_with_second_fractional.xml new file mode 100644 index 0000000..43df750 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_with_second_fractional.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 21:32:52.12679 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_with_utc_timezone.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_with_utc_timezone.xml new file mode 100644 index 0000000..3f68d01 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_with_utc_timezone.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 19:32:52Z + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_zero_offset.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_zero_offset.xml new file mode 100644 index 0000000..fbc47ff --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Time_zero_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 21:32:52+00:00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_common_example.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_common_example.xml new file mode 100644 index 0000000..770e7ed --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_common_example.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + 1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_explicitly_positive.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_explicitly_positive.xml new file mode 100644 index 0000000..48a411c --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_explicitly_positive.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + +1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_01.xml new file mode 100644 index 0000000..06c62d5 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + 0000000000000000000000000000067 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_02.xml new file mode 100644 index 0000000..d7d9704 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + +130 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_03.xml new file mode 100644 index 0000000..6a18da3 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + 232 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_04.xml new file mode 100644 index 0000000..9275b4b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + +110 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_05.xml new file mode 100644 index 0000000..2ecf68f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + +000000000012 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_06.xml new file mode 100644 index 0000000..aad6a4f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + 055 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_07.xml new file mode 100644 index 0000000..d0dae07 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + 031 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_08.xml new file mode 100644 index 0000000..7a1afd4 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + 0178 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_09.xml new file mode 100644 index 0000000..5e78183 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + +00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_10.xml new file mode 100644 index 0000000..a74d513 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + +00000006 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_max.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_max.xml new file mode 100644 index 0000000..3235407 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_max.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + 255 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_prefixed_with_zeros.xml new file mode 100644 index 0000000..aacc63a --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + 001 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_zero.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_zero.xml new file mode 100644 index 0000000..67b4631 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_zero.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + 0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..d7dd6ed --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_byte_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + 000 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_common_example.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_common_example.xml new file mode 100644 index 0000000..923ae11 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_common_example.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + 1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_explicitly_positive.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_explicitly_positive.xml new file mode 100644 index 0000000..be17d68 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_explicitly_positive.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + +1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_01.xml new file mode 100644 index 0000000..8502cbc --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + +000832736002 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_02.xml new file mode 100644 index 0000000..81f010a --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + 0454 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_03.xml new file mode 100644 index 0000000..d6711d2 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + 0000000000001161715506 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_04.xml new file mode 100644 index 0000000..b1f1376 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + +0006096840 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_05.xml new file mode 100644 index 0000000..688ac7e --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + 8547 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_06.xml new file mode 100644 index 0000000..187e696 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + +092843 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_07.xml new file mode 100644 index 0000000..4eb6f17 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + +44 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_08.xml new file mode 100644 index 0000000..8dae74d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + +0881299729 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_09.xml new file mode 100644 index 0000000..b47db77 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + +00604 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_10.xml new file mode 100644 index 0000000..288a2d5 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + +000101 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_max.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_max.xml new file mode 100644 index 0000000..933c104 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_max.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + 4294967295 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_prefixed_with_zeros.xml new file mode 100644 index 0000000..eabaa0f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + 001 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_zero.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_zero.xml new file mode 100644 index 0000000..4fdb35d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_zero.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + 0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..824d45c --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_int_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + 000 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_common_example.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_common_example.xml new file mode 100644 index 0000000..c4abb3a --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_common_example.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + 1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_explicitly_positive.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_explicitly_positive.xml new file mode 100644 index 0000000..6945e57 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_explicitly_positive.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + +1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_01.xml new file mode 100644 index 0000000..fab74c4 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + 00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_02.xml new file mode 100644 index 0000000..c150cbb --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + +0013081 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_03.xml new file mode 100644 index 0000000..73e6827 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + +00008773 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_04.xml new file mode 100644 index 0000000..6eb306b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + +000000858 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_05.xml new file mode 100644 index 0000000..f35cd28 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + +000000000002599 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_06.xml new file mode 100644 index 0000000..7ddd691 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + +0257364527 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_07.xml new file mode 100644 index 0000000..df665d1 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + +000000038893 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_08.xml new file mode 100644 index 0000000..8ff2d8d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + +0000000000000111491 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_09.xml new file mode 100644 index 0000000..5fac35a --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + +09 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_10.xml new file mode 100644 index 0000000..aca184f --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + 0012208354443 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_max.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_max.xml new file mode 100644 index 0000000..d0665ef --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_max.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + 18446744073709551615 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_prefixed_with_zeros.xml new file mode 100644 index 0000000..f5e6c40 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + 001 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_zero.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_zero.xml new file mode 100644 index 0000000..2eb82b8 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_zero.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + 0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..2e32718 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_long_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + 000 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_common_example.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_common_example.xml new file mode 100644 index 0000000..94e8bf8 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_common_example.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + 1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_explicitly_positive.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_explicitly_positive.xml new file mode 100644 index 0000000..1d688f8 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_explicitly_positive.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + +1 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_01.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_01.xml new file mode 100644 index 0000000..be1b8a0 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + +00 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_02.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_02.xml new file mode 100644 index 0000000..5953c18 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_02.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + 06949 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_03.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_03.xml new file mode 100644 index 0000000..3e8c527 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + 0391 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_04.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_04.xml new file mode 100644 index 0000000..7e81d08 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + +000004 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_05.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_05.xml new file mode 100644 index 0000000..75b2050 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + 00000000391 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_06.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_06.xml new file mode 100644 index 0000000..573c253 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + +085 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_07.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_07.xml new file mode 100644 index 0000000..8d740d0 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_07.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + 10233 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_08.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_08.xml new file mode 100644 index 0000000..5e1250a --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + 044598 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_09.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_09.xml new file mode 100644 index 0000000..49616a4 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_09.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + +00066 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_10.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_10.xml new file mode 100644 index 0000000..6fb133b --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + +00000000000000000000003250 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_max.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_max.xml new file mode 100644 index 0000000..109800d --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_max.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + 65535 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_prefixed_with_zeros.xml new file mode 100644 index 0000000..b58ab79 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + 001 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_zero.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_zero.xml new file mode 100644 index 0000000..fcd92e2 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_zero.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + 0 + diff --git a/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..5c0e9a1 --- /dev/null +++ b/dev/test_data/Xml/Expected/extension/valueOverValueExamples/Unsigned_short_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + 000 + diff --git a/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..98369a8 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..06f3e58 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..4ca968f --- /dev/null +++ b/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..01c5161 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..3f31d15 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..6afd6f7 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..58d579b --- /dev/null +++ b/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + 6 + diff --git a/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..10c4c5c --- /dev/null +++ b/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..229ae0a --- /dev/null +++ b/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..553be3f --- /dev/null +++ b/dev/test_data/Xml/Expected/file/categoryOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/dash.xml b/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/dash.xml new file mode 100644 index 0000000..b2233d1 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/dash.xml @@ -0,0 +1,3 @@ + + application/x-abiword + diff --git a/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/dots.xml b/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/dots.xml new file mode 100644 index 0000000..5524641 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/dots.xml @@ -0,0 +1,3 @@ + + application/vnd.amazon.ebook + diff --git a/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..d072972 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + 7/6qwqh6g + diff --git a/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..21ba4a3 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 15j/5j + diff --git a/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..96f43e6 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + 'VbrwFrYTU/fO7NnLxq ; MX.`10dB732`X5yRy=I56Ov9Us ; pRb~~hdw_C%2Zf="" ; h=1t + diff --git a/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/number prefix and suffix.xml b/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/number prefix and suffix.xml new file mode 100644 index 0000000..bdc91b4 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/number prefix and suffix.xml @@ -0,0 +1,3 @@ + + audio/3gpp2 + diff --git a/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/only_letters.xml b/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/only_letters.xml new file mode 100644 index 0000000..21ba7bf --- /dev/null +++ b/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/only_letters.xml @@ -0,0 +1,3 @@ + + audio/aac + diff --git a/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/plus.xml b/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/plus.xml new file mode 100644 index 0000000..d7a9f5f --- /dev/null +++ b/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/plus.xml @@ -0,0 +1,3 @@ + + application/vnd.apple.installer+xml + diff --git a/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/random_common_MIME_type.xml b/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/random_common_MIME_type.xml new file mode 100644 index 0000000..01cce65 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/contentTypeOverPatternExamples/random_common_MIME_type.xml @@ -0,0 +1,3 @@ + + application/something-random + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/alternating_hyphen_underscore.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/alternating_hyphen_underscore.xml new file mode 100644 index 0000000..60f795c --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/alternating_hyphen_underscore.xml @@ -0,0 +1,3 @@ + + a-_-_-_-_-_ + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/ends_with_underscore.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/ends_with_underscore.xml new file mode 100644 index 0000000..ab68ded --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/ends_with_underscore.xml @@ -0,0 +1,3 @@ + + strange-name_ + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..8a6dead --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + fULCVpULCVq + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..29546f1 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + AopQejF + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..8371b49 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + Jk0k1414Di + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..90c0f0e --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + pVz10Vz10vZZNO9hM + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..4c61f7e --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + t8x1pz9WS4TGV + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..86b860f --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + tWC + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..61d9ef3 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + xF2bO_Uje6 + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..613d434 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + EO5DYAe + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..1a3dc8c --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + nRdRe + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..2b2a3e6 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + P7gn + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/hyphen_then_underscore.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/hyphen_then_underscore.xml new file mode 100644 index 0000000..53ab36f --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/hyphen_then_underscore.xml @@ -0,0 +1,3 @@ + + a-_ + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/many_internal_hyphens.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/many_internal_hyphens.xml new file mode 100644 index 0000000..9a2cf32 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/many_internal_hyphens.xml @@ -0,0 +1,3 @@ + + a----------------b + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/many_underscores.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/many_underscores.xml new file mode 100644 index 0000000..877c32e --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/many_underscores.xml @@ -0,0 +1,3 @@ + + a________________ + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/minimal_digit.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/minimal_digit.xml new file mode 100644 index 0000000..6cbb32b --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/minimal_digit.xml @@ -0,0 +1,3 @@ + + a0 + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/minimal_lower.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/minimal_lower.xml new file mode 100644 index 0000000..7272be8 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/minimal_lower.xml @@ -0,0 +1,3 @@ + + aa + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/minimal_underscore.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/minimal_underscore.xml new file mode 100644 index 0000000..bb35a90 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/minimal_underscore.xml @@ -0,0 +1,3 @@ + + a_ + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/minimal_upper.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/minimal_upper.xml new file mode 100644 index 0000000..cb58097 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/minimal_upper.xml @@ -0,0 +1,3 @@ + + AZ + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/single_internal_hyphen.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/single_internal_hyphen.xml new file mode 100644 index 0000000..e221fae --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/single_internal_hyphen.xml @@ -0,0 +1,3 @@ + + a-b + diff --git a/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/underscore_after_first.xml b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/underscore_after_first.xml new file mode 100644 index 0000000..07eb7c1 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/idShortOverPatternExamples/underscore_after_first.xml @@ -0,0 +1,3 @@ + + A_ + diff --git a/dev/test_data/Xml/Expected/file/maximal.xml b/dev/test_data/Xml/Expected/file/maximal.xml new file mode 100644 index 0000000..43515cd --- /dev/null +++ b/dev/test_data/Xml/Expected/file/maximal.xml @@ -0,0 +1,142 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j + diff --git a/dev/test_data/Xml/Expected/file/minimal.xml b/dev/test_data/Xml/Expected/file/minimal.xml new file mode 100644 index 0000000..5c0066a --- /dev/null +++ b/dev/test_data/Xml/Expected/file/minimal.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..5495c0e --- /dev/null +++ b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + #%4b%6AT + diff --git a/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..e773a05 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + RqjJsrvAJ1Uk:%9d'%8C_%81k,%Fcd?yw,@B,M=.EE%8E + diff --git a/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..ee7cd44 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + #/%38%21& + diff --git a/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..34de568 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + //QQ%BF(,xe;A.@%94($,=%38@ + diff --git a/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..83c85c3 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + /;=:&%30%1a;77@%321%A4%21;%FC:=/;=,=%13y:%2D;+J%c6%bcU%D3;j1G:sg=%EcA%f3/@z%29%B7&B;=#@H%8D=U%FE%5e%22%Db?,+ + diff --git a/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..09b7f0a --- /dev/null +++ b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + #; + diff --git a/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..4056b1e --- /dev/null +++ b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + #%6A%6AT + diff --git a/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..f4f3bee --- /dev/null +++ b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + diff --git a/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..4f3de8c --- /dev/null +++ b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + q2t2uv://777646689268.160810318.01435447069935.47:/%Be/%04@%Cd@P%dc:C$&~x=;%3f9+;;sr-i=p,///;%D5@@x&;V@I%16/+;%e4,@%AA@Ih:%8Dg=%F8P,v%dE%3E%03%62%FB=$R,&%ac%71;u%11l8*;,;$%Faj:;;;%ee$%8b%EC@%4Alo;t,%0b%eB%D5%EA:%De;$$1:@/%8e%0D&9%C8M;@5%28%4E%BC@%34;;@%EC=tL)x(/M%D3%aF&%Ec;=%aa$$j;;%B3@hk=e:%DB%24Z;%F6%9E+%8e;=;%ba;;%b3;;p%f11=%34%c0;#lR:+k%BE4%EB + diff --git a/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..364125a --- /dev/null +++ b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + #%59T=%e1&&%b4%53EYU?,/q%87%c6He + diff --git a/dev/test_data/Xml/Expected/file/valueOverPatternExamples/made_up_01.xml b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/made_up_01.xml new file mode 100644 index 0000000..97b0420 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/made_up_01.xml @@ -0,0 +1,3 @@ + + http://www.example.org + diff --git a/dev/test_data/Xml/Expected/file/valueOverPatternExamples/made_up_02.xml b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/made_up_02.xml new file mode 100644 index 0000000..0a7bc1d --- /dev/null +++ b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/made_up_02.xml @@ -0,0 +1,3 @@ + + ftp://ftp.is.co.za/rfc/rfc1808.txt + diff --git a/dev/test_data/Xml/Expected/file/valueOverPatternExamples/made_up_03.xml b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/made_up_03.xml new file mode 100644 index 0000000..3cdd0ce --- /dev/null +++ b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/made_up_03.xml @@ -0,0 +1,3 @@ + + mailto:John.Doe@example.org + diff --git a/dev/test_data/Xml/Expected/file/valueOverPatternExamples/made_up_04.xml b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/made_up_04.xml new file mode 100644 index 0000000..d94ab60 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/made_up_04.xml @@ -0,0 +1,3 @@ + + news:comp.infosystems.www.servers.unix + diff --git a/dev/test_data/Xml/Expected/file/valueOverPatternExamples/made_up_05.xml b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/made_up_05.xml new file mode 100644 index 0000000..faf7d87 --- /dev/null +++ b/dev/test_data/Xml/Expected/file/valueOverPatternExamples/made_up_05.xml @@ -0,0 +1,3 @@ + + telnet://192.0.2.16:80/ + diff --git a/dev/test_data/Xml/Expected/key/maximal.xml b/dev/test_data/Xml/Expected/key/maximal.xml new file mode 100644 index 0000000..badaae3 --- /dev/null +++ b/dev/test_data/Xml/Expected/key/maximal.xml @@ -0,0 +1,4 @@ + + EventElement + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/key/minimal.xml b/dev/test_data/Xml/Expected/key/minimal.xml new file mode 100644 index 0000000..5bdb360 --- /dev/null +++ b/dev/test_data/Xml/Expected/key/minimal.xml @@ -0,0 +1,4 @@ + + EventElement + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..fe9c8e8 --- /dev/null +++ b/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + EventElement + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..ed99b4f --- /dev/null +++ b/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + EventElement + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..f4f3ef2 --- /dev/null +++ b/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + EventElement + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..69fe2d2 --- /dev/null +++ b/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + EventElement + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..4388959 --- /dev/null +++ b/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,4 @@ + + EventElement + J5 + diff --git a/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..04eeb1b --- /dev/null +++ b/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,4 @@ + + EventElement + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..5341634 --- /dev/null +++ b/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,4 @@ + + EventElement + 6 + diff --git a/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..badaae3 --- /dev/null +++ b/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,4 @@ + + EventElement + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..5bdb360 --- /dev/null +++ b/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,4 @@ + + EventElement + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..0b8233c --- /dev/null +++ b/dev/test_data/Xml/Expected/key/valueOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,4 @@ + + EventElement + 0 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/extended_language_subtags_1.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/extended_language_subtags_1.xml new file mode 100644 index 0000000..4aa9d12 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/extended_language_subtags_1.xml @@ -0,0 +1,4 @@ + + zh-cmn-Hans-CN + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/extended_language_subtags_2.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/extended_language_subtags_2.xml new file mode 100644 index 0000000..711e3b0 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/extended_language_subtags_2.xml @@ -0,0 +1,4 @@ + + cmn-Hans-CN + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/extended_language_subtags_3.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/extended_language_subtags_3.xml new file mode 100644 index 0000000..abe3a32 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/extended_language_subtags_3.xml @@ -0,0 +1,4 @@ + + zh-yue-HK + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/extended_language_subtags_4.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/extended_language_subtags_4.xml new file mode 100644 index 0000000..478580a --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/extended_language_subtags_4.xml @@ -0,0 +1,4 @@ + + yue-HK + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_1.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_1.xml new file mode 100644 index 0000000..acf08d0 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_1.xml @@ -0,0 +1,4 @@ + + de-DE + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_2.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_2.xml new file mode 100644 index 0000000..f5fc1fb --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_2.xml @@ -0,0 +1,4 @@ + + en-US + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_3.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_3.xml new file mode 100644 index 0000000..c0f0ade --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_3.xml @@ -0,0 +1,4 @@ + + es-419 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_variant_1.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_variant_1.xml new file mode 100644 index 0000000..4857343 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_variant_1.xml @@ -0,0 +1,4 @@ + + de-CH-1901 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_variant_2.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_variant_2.xml new file mode 100644 index 0000000..f193726 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_region_variant_2.xml @@ -0,0 +1,4 @@ + + sl-IT-nedis + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_script_region_1.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_script_region_1.xml new file mode 100644 index 0000000..a8c5d3f --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_script_region_1.xml @@ -0,0 +1,4 @@ + + zh-Hans-CN + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_script_region_2.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_script_region_2.xml new file mode 100644 index 0000000..67dfa3b --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_script_region_2.xml @@ -0,0 +1,4 @@ + + sr-Latn-RS + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_script_region_variant.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_script_region_variant.xml new file mode 100644 index 0000000..c5038b4 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_script_region_variant.xml @@ -0,0 +1,4 @@ + + hy-Latn-IT-arevela + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_1.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_1.xml new file mode 100644 index 0000000..7776c29 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_1.xml @@ -0,0 +1,4 @@ + + zh-Hant + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_2.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_2.xml new file mode 100644 index 0000000..d56fcb3 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_2.xml @@ -0,0 +1,4 @@ + + zh-Hans + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_3.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_3.xml new file mode 100644 index 0000000..bcf146c --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_3.xml @@ -0,0 +1,4 @@ + + sr-Cyrl + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_4.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_4.xml new file mode 100644 index 0000000..b3341c2 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_4.xml @@ -0,0 +1,4 @@ + + sr-Latn + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_variant_1.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_variant_1.xml new file mode 100644 index 0000000..3adf33e --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_variant_1.xml @@ -0,0 +1,4 @@ + + sl-rozaj + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_variant_2.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_variant_2.xml new file mode 100644 index 0000000..52cf061 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_variant_2.xml @@ -0,0 +1,4 @@ + + sl-rozaj-biske + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_variant_3.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_variant_3.xml new file mode 100644 index 0000000..bfea348 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/language_variant_3.xml @@ -0,0 +1,4 @@ + + sl-nedis + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_1.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_1.xml new file mode 100644 index 0000000..4a0c1f2 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_1.xml @@ -0,0 +1,4 @@ + + x-whatever + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_2.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_2.xml new file mode 100644 index 0000000..5192225 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_2.xml @@ -0,0 +1,4 @@ + + qaa-Qaaa-QM-x-southern + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_3.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_3.xml new file mode 100644 index 0000000..6cc2579 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_3.xml @@ -0,0 +1,4 @@ + + de-Qaaa + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_4.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_4.xml new file mode 100644 index 0000000..927ec40 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_4.xml @@ -0,0 +1,4 @@ + + sr-Latn-QM + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_5.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_5.xml new file mode 100644 index 0000000..61986e7 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_registry_values_5.xml @@ -0,0 +1,4 @@ + + sr-Qaaa-RS + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_subtags_1.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_subtags_1.xml new file mode 100644 index 0000000..1df8ce0 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_subtags_1.xml @@ -0,0 +1,4 @@ + + de-CH-x-phonebk + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_subtags_2.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_subtags_2.xml new file mode 100644 index 0000000..223aba6 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/private_use_subtags_2.xml @@ -0,0 +1,4 @@ + + az-Arab-x-AZE-derbend + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/simple_language_subtag_1.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/simple_language_subtag_1.xml new file mode 100644 index 0000000..c30977a --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/simple_language_subtag_1.xml @@ -0,0 +1,4 @@ + + de + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/simple_language_subtag_2.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/simple_language_subtag_2.xml new file mode 100644 index 0000000..f844c48 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/simple_language_subtag_2.xml @@ -0,0 +1,4 @@ + + fr + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/simple_language_subtag_3.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/simple_language_subtag_3.xml new file mode 100644 index 0000000..eb85059 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/simple_language_subtag_3.xml @@ -0,0 +1,4 @@ + + ja + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.xml new file mode 100644 index 0000000..e2ab548 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.xml @@ -0,0 +1,4 @@ + + i-enochian + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/tag_with_extension_1.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/tag_with_extension_1.xml new file mode 100644 index 0000000..a15b5da --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/tag_with_extension_1.xml @@ -0,0 +1,4 @@ + + en-US-u-islamcal + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/tag_with_extension_2.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/tag_with_extension_2.xml new file mode 100644 index 0000000..a553b24 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/tag_with_extension_2.xml @@ -0,0 +1,4 @@ + + zh-CN-a-myext-x-private + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/tag_with_extension_3.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/tag_with_extension_3.xml new file mode 100644 index 0000000..393f387 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/languageOverPatternExamples/tag_with_extension_3.xml @@ -0,0 +1,4 @@ + + en-a-myext-b-another + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/maximal.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/maximal.xml new file mode 100644 index 0000000..44d62e2 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/maximal.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/minimal.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/minimal.xml new file mode 100644 index 0000000..44d62e2 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/minimal.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..199f8b8 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..dcc3f7c --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..53274d1 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..679f1c5 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..44d62e2 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..2a75887 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..3c38cc8 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 6 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..4ef37d4 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..134bb9f --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..51a9b12 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringDefinitionTypeIec61360/textOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 0 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/extended_language_subtags_1.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/extended_language_subtags_1.xml new file mode 100644 index 0000000..e98efea --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/extended_language_subtags_1.xml @@ -0,0 +1,4 @@ + + zh-cmn-Hans-CN + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/extended_language_subtags_2.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/extended_language_subtags_2.xml new file mode 100644 index 0000000..29c5ac6 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/extended_language_subtags_2.xml @@ -0,0 +1,4 @@ + + cmn-Hans-CN + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/extended_language_subtags_3.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/extended_language_subtags_3.xml new file mode 100644 index 0000000..c6007cf --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/extended_language_subtags_3.xml @@ -0,0 +1,4 @@ + + zh-yue-HK + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/extended_language_subtags_4.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/extended_language_subtags_4.xml new file mode 100644 index 0000000..fdaa288 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/extended_language_subtags_4.xml @@ -0,0 +1,4 @@ + + yue-HK + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_region_1.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_region_1.xml new file mode 100644 index 0000000..ef94eaf --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_region_1.xml @@ -0,0 +1,4 @@ + + de-DE + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_region_2.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_region_2.xml new file mode 100644 index 0000000..f058d88 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_region_2.xml @@ -0,0 +1,4 @@ + + en-US + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_region_3.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_region_3.xml new file mode 100644 index 0000000..7387677 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_region_3.xml @@ -0,0 +1,4 @@ + + es-419 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_region_variant_1.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_region_variant_1.xml new file mode 100644 index 0000000..eb7d5e8 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_region_variant_1.xml @@ -0,0 +1,4 @@ + + de-CH-1901 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_region_variant_2.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_region_variant_2.xml new file mode 100644 index 0000000..1bea14f --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_region_variant_2.xml @@ -0,0 +1,4 @@ + + sl-IT-nedis + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_script_region_1.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_script_region_1.xml new file mode 100644 index 0000000..7b35c00 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_script_region_1.xml @@ -0,0 +1,4 @@ + + zh-Hans-CN + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_script_region_2.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_script_region_2.xml new file mode 100644 index 0000000..de9509b --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_script_region_2.xml @@ -0,0 +1,4 @@ + + sr-Latn-RS + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_script_region_variant.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_script_region_variant.xml new file mode 100644 index 0000000..c82887b --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_script_region_variant.xml @@ -0,0 +1,4 @@ + + hy-Latn-IT-arevela + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_subtag_plus_script_subtag_1.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_subtag_plus_script_subtag_1.xml new file mode 100644 index 0000000..f7d0b34 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_subtag_plus_script_subtag_1.xml @@ -0,0 +1,4 @@ + + zh-Hant + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_subtag_plus_script_subtag_2.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_subtag_plus_script_subtag_2.xml new file mode 100644 index 0000000..cf7235c --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_subtag_plus_script_subtag_2.xml @@ -0,0 +1,4 @@ + + zh-Hans + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_subtag_plus_script_subtag_3.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_subtag_plus_script_subtag_3.xml new file mode 100644 index 0000000..200dda9 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_subtag_plus_script_subtag_3.xml @@ -0,0 +1,4 @@ + + sr-Cyrl + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_subtag_plus_script_subtag_4.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_subtag_plus_script_subtag_4.xml new file mode 100644 index 0000000..7ca59ad --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_subtag_plus_script_subtag_4.xml @@ -0,0 +1,4 @@ + + sr-Latn + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_variant_1.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_variant_1.xml new file mode 100644 index 0000000..96a0374 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_variant_1.xml @@ -0,0 +1,4 @@ + + sl-rozaj + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_variant_2.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_variant_2.xml new file mode 100644 index 0000000..6e6755b --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_variant_2.xml @@ -0,0 +1,4 @@ + + sl-rozaj-biske + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_variant_3.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_variant_3.xml new file mode 100644 index 0000000..cbfab10 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/language_variant_3.xml @@ -0,0 +1,4 @@ + + sl-nedis + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_registry_values_1.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_registry_values_1.xml new file mode 100644 index 0000000..97a22cc --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_registry_values_1.xml @@ -0,0 +1,4 @@ + + x-whatever + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_registry_values_2.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_registry_values_2.xml new file mode 100644 index 0000000..bee12d1 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_registry_values_2.xml @@ -0,0 +1,4 @@ + + qaa-Qaaa-QM-x-southern + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_registry_values_3.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_registry_values_3.xml new file mode 100644 index 0000000..c514d68 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_registry_values_3.xml @@ -0,0 +1,4 @@ + + de-Qaaa + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_registry_values_4.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_registry_values_4.xml new file mode 100644 index 0000000..f0fb85b --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_registry_values_4.xml @@ -0,0 +1,4 @@ + + sr-Latn-QM + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_registry_values_5.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_registry_values_5.xml new file mode 100644 index 0000000..c71bfc8 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_registry_values_5.xml @@ -0,0 +1,4 @@ + + sr-Qaaa-RS + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_subtags_1.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_subtags_1.xml new file mode 100644 index 0000000..a68acf7 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_subtags_1.xml @@ -0,0 +1,4 @@ + + de-CH-x-phonebk + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_subtags_2.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_subtags_2.xml new file mode 100644 index 0000000..ea12e48 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/private_use_subtags_2.xml @@ -0,0 +1,4 @@ + + az-Arab-x-AZE-derbend + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/simple_language_subtag_1.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/simple_language_subtag_1.xml new file mode 100644 index 0000000..1b98bd9 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/simple_language_subtag_1.xml @@ -0,0 +1,4 @@ + + de + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/simple_language_subtag_2.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/simple_language_subtag_2.xml new file mode 100644 index 0000000..a35c658 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/simple_language_subtag_2.xml @@ -0,0 +1,4 @@ + + fr + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/simple_language_subtag_3.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/simple_language_subtag_3.xml new file mode 100644 index 0000000..5c8f75e --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/simple_language_subtag_3.xml @@ -0,0 +1,4 @@ + + ja + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.xml new file mode 100644 index 0000000..daaec2e --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.xml @@ -0,0 +1,4 @@ + + i-enochian + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/tag_with_extension_1.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/tag_with_extension_1.xml new file mode 100644 index 0000000..d481e62 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/tag_with_extension_1.xml @@ -0,0 +1,4 @@ + + en-US-u-islamcal + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/tag_with_extension_2.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/tag_with_extension_2.xml new file mode 100644 index 0000000..4980142 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/tag_with_extension_2.xml @@ -0,0 +1,4 @@ + + zh-CN-a-myext-x-private + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/tag_with_extension_3.xml b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/tag_with_extension_3.xml new file mode 100644 index 0000000..a005fc3 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/languageOverPatternExamples/tag_with_extension_3.xml @@ -0,0 +1,4 @@ + + en-a-myext-b-another + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/maximal.xml b/dev/test_data/Xml/Expected/langStringNameType/maximal.xml new file mode 100644 index 0000000..267b21b --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/maximal.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/minimal.xml b/dev/test_data/Xml/Expected/langStringNameType/minimal.xml new file mode 100644 index 0000000..267b21b --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/minimal.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..3245526 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..dd276a7 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..23f8b50 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..60efab8 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..267b21b --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..b968811 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..58c01db --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 6 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..1867a0b --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..3fa2d07 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..908698f --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringNameType/textOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 0 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_1.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_1.xml new file mode 100644 index 0000000..412e9c4 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_1.xml @@ -0,0 +1,4 @@ + + zh-cmn-Hans-CN + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_2.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_2.xml new file mode 100644 index 0000000..66f4743 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_2.xml @@ -0,0 +1,4 @@ + + cmn-Hans-CN + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_3.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_3.xml new file mode 100644 index 0000000..9c45654 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_3.xml @@ -0,0 +1,4 @@ + + zh-yue-HK + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_4.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_4.xml new file mode 100644 index 0000000..2d92cf4 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_4.xml @@ -0,0 +1,4 @@ + + yue-HK + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_1.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_1.xml new file mode 100644 index 0000000..23fed86 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_1.xml @@ -0,0 +1,4 @@ + + de-DE + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_2.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_2.xml new file mode 100644 index 0000000..4bb4820 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_2.xml @@ -0,0 +1,4 @@ + + en-US + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_3.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_3.xml new file mode 100644 index 0000000..ae5a0e1 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_3.xml @@ -0,0 +1,4 @@ + + es-419 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_variant_1.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_variant_1.xml new file mode 100644 index 0000000..99ba139 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_variant_1.xml @@ -0,0 +1,4 @@ + + de-CH-1901 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_variant_2.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_variant_2.xml new file mode 100644 index 0000000..eb774da --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_region_variant_2.xml @@ -0,0 +1,4 @@ + + sl-IT-nedis + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_script_region_1.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_script_region_1.xml new file mode 100644 index 0000000..ca400fb --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_script_region_1.xml @@ -0,0 +1,4 @@ + + zh-Hans-CN + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_script_region_2.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_script_region_2.xml new file mode 100644 index 0000000..f3be9da --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_script_region_2.xml @@ -0,0 +1,4 @@ + + sr-Latn-RS + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_script_region_variant.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_script_region_variant.xml new file mode 100644 index 0000000..a0093f9 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_script_region_variant.xml @@ -0,0 +1,4 @@ + + hy-Latn-IT-arevela + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_1.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_1.xml new file mode 100644 index 0000000..29a9b98 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_1.xml @@ -0,0 +1,4 @@ + + zh-Hant + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_2.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_2.xml new file mode 100644 index 0000000..afc981c --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_2.xml @@ -0,0 +1,4 @@ + + zh-Hans + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_3.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_3.xml new file mode 100644 index 0000000..d18f93d --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_3.xml @@ -0,0 +1,4 @@ + + sr-Cyrl + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_4.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_4.xml new file mode 100644 index 0000000..ad542f3 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_4.xml @@ -0,0 +1,4 @@ + + sr-Latn + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_variant_1.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_variant_1.xml new file mode 100644 index 0000000..f06622f --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_variant_1.xml @@ -0,0 +1,4 @@ + + sl-rozaj + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_variant_2.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_variant_2.xml new file mode 100644 index 0000000..64848d0 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_variant_2.xml @@ -0,0 +1,4 @@ + + sl-rozaj-biske + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_variant_3.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_variant_3.xml new file mode 100644 index 0000000..d5e55de --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/language_variant_3.xml @@ -0,0 +1,4 @@ + + sl-nedis + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_1.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_1.xml new file mode 100644 index 0000000..ef80e58 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_1.xml @@ -0,0 +1,4 @@ + + x-whatever + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_2.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_2.xml new file mode 100644 index 0000000..360cbe0 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_2.xml @@ -0,0 +1,4 @@ + + qaa-Qaaa-QM-x-southern + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_3.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_3.xml new file mode 100644 index 0000000..c7df141 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_3.xml @@ -0,0 +1,4 @@ + + de-Qaaa + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_4.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_4.xml new file mode 100644 index 0000000..64e860f --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_4.xml @@ -0,0 +1,4 @@ + + sr-Latn-QM + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_5.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_5.xml new file mode 100644 index 0000000..93c95d8 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_5.xml @@ -0,0 +1,4 @@ + + sr-Qaaa-RS + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_subtags_1.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_subtags_1.xml new file mode 100644 index 0000000..ee388c6 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_subtags_1.xml @@ -0,0 +1,4 @@ + + de-CH-x-phonebk + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_subtags_2.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_subtags_2.xml new file mode 100644 index 0000000..a040904 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/private_use_subtags_2.xml @@ -0,0 +1,4 @@ + + az-Arab-x-AZE-derbend + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_1.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_1.xml new file mode 100644 index 0000000..10202b9 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_1.xml @@ -0,0 +1,4 @@ + + de + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_2.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_2.xml new file mode 100644 index 0000000..1431a0f --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_2.xml @@ -0,0 +1,4 @@ + + fr + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_3.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_3.xml new file mode 100644 index 0000000..d6617a5 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_3.xml @@ -0,0 +1,4 @@ + + ja + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.xml new file mode 100644 index 0000000..ccd295b --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.xml @@ -0,0 +1,4 @@ + + i-enochian + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/tag_with_extension_1.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/tag_with_extension_1.xml new file mode 100644 index 0000000..3ab8799 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/tag_with_extension_1.xml @@ -0,0 +1,4 @@ + + en-US-u-islamcal + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/tag_with_extension_2.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/tag_with_extension_2.xml new file mode 100644 index 0000000..f6cc883 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/tag_with_extension_2.xml @@ -0,0 +1,4 @@ + + zh-CN-a-myext-x-private + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/tag_with_extension_3.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/tag_with_extension_3.xml new file mode 100644 index 0000000..c4d0528 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/languageOverPatternExamples/tag_with_extension_3.xml @@ -0,0 +1,4 @@ + + en-a-myext-b-another + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/maximal.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/maximal.xml new file mode 100644 index 0000000..72e24ec --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/maximal.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/minimal.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/minimal.xml new file mode 100644 index 0000000..72e24ec --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/minimal.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..5c4cdd6 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..b58c379 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..a9eb982 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..9c3aec1 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..72e24ec --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..c27b746 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..b591796 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 6 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..4d73f52 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..6d83efc --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..4a2148a --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringPreferredNameTypeIec61360/textOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 0 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_1.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_1.xml new file mode 100644 index 0000000..1a52d86 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_1.xml @@ -0,0 +1,4 @@ + + zh-cmn-Hans-CN + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_2.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_2.xml new file mode 100644 index 0000000..d5bda3b --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_2.xml @@ -0,0 +1,4 @@ + + cmn-Hans-CN + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_3.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_3.xml new file mode 100644 index 0000000..fb93e34 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_3.xml @@ -0,0 +1,4 @@ + + zh-yue-HK + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_4.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_4.xml new file mode 100644 index 0000000..3176cb6 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/extended_language_subtags_4.xml @@ -0,0 +1,4 @@ + + yue-HK + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_region_1.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_region_1.xml new file mode 100644 index 0000000..bdbc003 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_region_1.xml @@ -0,0 +1,4 @@ + + de-DE + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_region_2.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_region_2.xml new file mode 100644 index 0000000..d068e3f --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_region_2.xml @@ -0,0 +1,4 @@ + + en-US + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_region_3.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_region_3.xml new file mode 100644 index 0000000..27e5f96 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_region_3.xml @@ -0,0 +1,4 @@ + + es-419 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_region_variant_1.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_region_variant_1.xml new file mode 100644 index 0000000..a3820b3 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_region_variant_1.xml @@ -0,0 +1,4 @@ + + de-CH-1901 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_region_variant_2.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_region_variant_2.xml new file mode 100644 index 0000000..6d7aba7 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_region_variant_2.xml @@ -0,0 +1,4 @@ + + sl-IT-nedis + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_script_region_1.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_script_region_1.xml new file mode 100644 index 0000000..efb917c --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_script_region_1.xml @@ -0,0 +1,4 @@ + + zh-Hans-CN + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_script_region_2.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_script_region_2.xml new file mode 100644 index 0000000..be25f04 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_script_region_2.xml @@ -0,0 +1,4 @@ + + sr-Latn-RS + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_script_region_variant.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_script_region_variant.xml new file mode 100644 index 0000000..828322c --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_script_region_variant.xml @@ -0,0 +1,4 @@ + + hy-Latn-IT-arevela + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_1.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_1.xml new file mode 100644 index 0000000..b9b0449 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_1.xml @@ -0,0 +1,4 @@ + + zh-Hant + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_2.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_2.xml new file mode 100644 index 0000000..282545e --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_2.xml @@ -0,0 +1,4 @@ + + zh-Hans + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_3.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_3.xml new file mode 100644 index 0000000..6c143bf --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_3.xml @@ -0,0 +1,4 @@ + + sr-Cyrl + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_4.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_4.xml new file mode 100644 index 0000000..aa9e2c5 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_subtag_plus_script_subtag_4.xml @@ -0,0 +1,4 @@ + + sr-Latn + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_variant_1.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_variant_1.xml new file mode 100644 index 0000000..185eb46 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_variant_1.xml @@ -0,0 +1,4 @@ + + sl-rozaj + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_variant_2.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_variant_2.xml new file mode 100644 index 0000000..000e7cf --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_variant_2.xml @@ -0,0 +1,4 @@ + + sl-rozaj-biske + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_variant_3.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_variant_3.xml new file mode 100644 index 0000000..888cb20 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/language_variant_3.xml @@ -0,0 +1,4 @@ + + sl-nedis + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_1.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_1.xml new file mode 100644 index 0000000..5a0ee6c --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_1.xml @@ -0,0 +1,4 @@ + + x-whatever + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_2.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_2.xml new file mode 100644 index 0000000..bbb53c6 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_2.xml @@ -0,0 +1,4 @@ + + qaa-Qaaa-QM-x-southern + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_3.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_3.xml new file mode 100644 index 0000000..7ee327b --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_3.xml @@ -0,0 +1,4 @@ + + de-Qaaa + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_4.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_4.xml new file mode 100644 index 0000000..2dbda08 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_4.xml @@ -0,0 +1,4 @@ + + sr-Latn-QM + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_5.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_5.xml new file mode 100644 index 0000000..30d200a --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_registry_values_5.xml @@ -0,0 +1,4 @@ + + sr-Qaaa-RS + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_subtags_1.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_subtags_1.xml new file mode 100644 index 0000000..c5c1b39 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_subtags_1.xml @@ -0,0 +1,4 @@ + + de-CH-x-phonebk + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_subtags_2.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_subtags_2.xml new file mode 100644 index 0000000..071fe61 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/private_use_subtags_2.xml @@ -0,0 +1,4 @@ + + az-Arab-x-AZE-derbend + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_1.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_1.xml new file mode 100644 index 0000000..30658c1 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_1.xml @@ -0,0 +1,4 @@ + + de + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_2.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_2.xml new file mode 100644 index 0000000..027dd9e --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_2.xml @@ -0,0 +1,4 @@ + + fr + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_3.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_3.xml new file mode 100644 index 0000000..849e3c7 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_3.xml @@ -0,0 +1,4 @@ + + ja + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.xml new file mode 100644 index 0000000..8b84930 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.xml @@ -0,0 +1,4 @@ + + i-enochian + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/tag_with_extension_1.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/tag_with_extension_1.xml new file mode 100644 index 0000000..3c03faa --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/tag_with_extension_1.xml @@ -0,0 +1,4 @@ + + en-US-u-islamcal + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/tag_with_extension_2.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/tag_with_extension_2.xml new file mode 100644 index 0000000..0f297ba --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/tag_with_extension_2.xml @@ -0,0 +1,4 @@ + + zh-CN-a-myext-x-private + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/tag_with_extension_3.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/tag_with_extension_3.xml new file mode 100644 index 0000000..3b4f82f --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/languageOverPatternExamples/tag_with_extension_3.xml @@ -0,0 +1,4 @@ + + en-a-myext-b-another + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/maximal.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/maximal.xml new file mode 100644 index 0000000..c4a086b --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/maximal.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/minimal.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/minimal.xml new file mode 100644 index 0000000..c4a086b --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/minimal.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..7fb480b --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..683db9d --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..afd360e --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..77c99ba --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..c4a086b --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..6e395f0 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..f5146a2 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 6 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..b4e3253 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..40165f9 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..3025bed --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringShortNameTypeIec61360/textOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 0 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/extended_language_subtags_1.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/extended_language_subtags_1.xml new file mode 100644 index 0000000..19d989a --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/extended_language_subtags_1.xml @@ -0,0 +1,4 @@ + + zh-cmn-Hans-CN + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/extended_language_subtags_2.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/extended_language_subtags_2.xml new file mode 100644 index 0000000..b559d5d --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/extended_language_subtags_2.xml @@ -0,0 +1,4 @@ + + cmn-Hans-CN + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/extended_language_subtags_3.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/extended_language_subtags_3.xml new file mode 100644 index 0000000..dbc8970 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/extended_language_subtags_3.xml @@ -0,0 +1,4 @@ + + zh-yue-HK + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/extended_language_subtags_4.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/extended_language_subtags_4.xml new file mode 100644 index 0000000..6db3e6e --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/extended_language_subtags_4.xml @@ -0,0 +1,4 @@ + + yue-HK + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_region_1.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_region_1.xml new file mode 100644 index 0000000..4664cab --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_region_1.xml @@ -0,0 +1,4 @@ + + de-DE + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_region_2.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_region_2.xml new file mode 100644 index 0000000..e2732e7 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_region_2.xml @@ -0,0 +1,4 @@ + + en-US + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_region_3.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_region_3.xml new file mode 100644 index 0000000..c93d531 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_region_3.xml @@ -0,0 +1,4 @@ + + es-419 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_region_variant_1.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_region_variant_1.xml new file mode 100644 index 0000000..fa3c6f9 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_region_variant_1.xml @@ -0,0 +1,4 @@ + + de-CH-1901 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_region_variant_2.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_region_variant_2.xml new file mode 100644 index 0000000..921b5e4 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_region_variant_2.xml @@ -0,0 +1,4 @@ + + sl-IT-nedis + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_script_region_1.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_script_region_1.xml new file mode 100644 index 0000000..ec5eb32 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_script_region_1.xml @@ -0,0 +1,4 @@ + + zh-Hans-CN + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_script_region_2.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_script_region_2.xml new file mode 100644 index 0000000..d37c643 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_script_region_2.xml @@ -0,0 +1,4 @@ + + sr-Latn-RS + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_script_region_variant.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_script_region_variant.xml new file mode 100644 index 0000000..169f2eb --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_script_region_variant.xml @@ -0,0 +1,4 @@ + + hy-Latn-IT-arevela + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_subtag_plus_script_subtag_1.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_subtag_plus_script_subtag_1.xml new file mode 100644 index 0000000..36e9d2a --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_subtag_plus_script_subtag_1.xml @@ -0,0 +1,4 @@ + + zh-Hant + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_subtag_plus_script_subtag_2.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_subtag_plus_script_subtag_2.xml new file mode 100644 index 0000000..a668486 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_subtag_plus_script_subtag_2.xml @@ -0,0 +1,4 @@ + + zh-Hans + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_subtag_plus_script_subtag_3.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_subtag_plus_script_subtag_3.xml new file mode 100644 index 0000000..aab6220 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_subtag_plus_script_subtag_3.xml @@ -0,0 +1,4 @@ + + sr-Cyrl + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_subtag_plus_script_subtag_4.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_subtag_plus_script_subtag_4.xml new file mode 100644 index 0000000..b3324dd --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_subtag_plus_script_subtag_4.xml @@ -0,0 +1,4 @@ + + sr-Latn + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_variant_1.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_variant_1.xml new file mode 100644 index 0000000..3345bc5 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_variant_1.xml @@ -0,0 +1,4 @@ + + sl-rozaj + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_variant_2.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_variant_2.xml new file mode 100644 index 0000000..0f34ff3 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_variant_2.xml @@ -0,0 +1,4 @@ + + sl-rozaj-biske + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_variant_3.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_variant_3.xml new file mode 100644 index 0000000..7945210 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/language_variant_3.xml @@ -0,0 +1,4 @@ + + sl-nedis + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_registry_values_1.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_registry_values_1.xml new file mode 100644 index 0000000..85a94ed --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_registry_values_1.xml @@ -0,0 +1,4 @@ + + x-whatever + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_registry_values_2.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_registry_values_2.xml new file mode 100644 index 0000000..1e8875a --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_registry_values_2.xml @@ -0,0 +1,4 @@ + + qaa-Qaaa-QM-x-southern + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_registry_values_3.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_registry_values_3.xml new file mode 100644 index 0000000..eeef952 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_registry_values_3.xml @@ -0,0 +1,4 @@ + + de-Qaaa + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_registry_values_4.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_registry_values_4.xml new file mode 100644 index 0000000..671dbba --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_registry_values_4.xml @@ -0,0 +1,4 @@ + + sr-Latn-QM + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_registry_values_5.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_registry_values_5.xml new file mode 100644 index 0000000..f273275 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_registry_values_5.xml @@ -0,0 +1,4 @@ + + sr-Qaaa-RS + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_subtags_1.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_subtags_1.xml new file mode 100644 index 0000000..4c213a0 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_subtags_1.xml @@ -0,0 +1,4 @@ + + de-CH-x-phonebk + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_subtags_2.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_subtags_2.xml new file mode 100644 index 0000000..22fd862 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/private_use_subtags_2.xml @@ -0,0 +1,4 @@ + + az-Arab-x-AZE-derbend + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/simple_language_subtag_1.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/simple_language_subtag_1.xml new file mode 100644 index 0000000..77d8bf5 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/simple_language_subtag_1.xml @@ -0,0 +1,4 @@ + + de + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/simple_language_subtag_2.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/simple_language_subtag_2.xml new file mode 100644 index 0000000..1c6a4f4 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/simple_language_subtag_2.xml @@ -0,0 +1,4 @@ + + fr + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/simple_language_subtag_3.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/simple_language_subtag_3.xml new file mode 100644 index 0000000..196b1c4 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/simple_language_subtag_3.xml @@ -0,0 +1,4 @@ + + ja + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.xml new file mode 100644 index 0000000..dd9dd7d --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/simple_language_subtag_example_of_a_grandfathered_tag.xml @@ -0,0 +1,4 @@ + + i-enochian + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/tag_with_extension_1.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/tag_with_extension_1.xml new file mode 100644 index 0000000..93dd388 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/tag_with_extension_1.xml @@ -0,0 +1,4 @@ + + en-US-u-islamcal + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/tag_with_extension_2.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/tag_with_extension_2.xml new file mode 100644 index 0000000..7846c02 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/tag_with_extension_2.xml @@ -0,0 +1,4 @@ + + zh-CN-a-myext-x-private + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/tag_with_extension_3.xml b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/tag_with_extension_3.xml new file mode 100644 index 0000000..ec6fd17 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/languageOverPatternExamples/tag_with_extension_3.xml @@ -0,0 +1,4 @@ + + en-a-myext-b-another + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/maximal.xml b/dev/test_data/Xml/Expected/langStringTextType/maximal.xml new file mode 100644 index 0000000..3ced549 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/maximal.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/minimal.xml b/dev/test_data/Xml/Expected/langStringTextType/minimal.xml new file mode 100644 index 0000000..3ced549 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/minimal.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..ed3607c --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..b849d38 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..ce9f47b --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..03630e7 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..3ced549 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J5 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..36e2244 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..4a41647 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 6 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..837c762 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..a957a82 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..dfd6d82 --- /dev/null +++ b/dev/test_data/Xml/Expected/langStringTextType/textOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + 0 + diff --git a/dev/test_data/Xml/Expected/levelType/maximal.xml b/dev/test_data/Xml/Expected/levelType/maximal.xml new file mode 100644 index 0000000..ebf5e65 --- /dev/null +++ b/dev/test_data/Xml/Expected/levelType/maximal.xml @@ -0,0 +1,6 @@ + + false + true + true + true + diff --git a/dev/test_data/Xml/Expected/levelType/minimal.xml b/dev/test_data/Xml/Expected/levelType/minimal.xml new file mode 100644 index 0000000..437d822 --- /dev/null +++ b/dev/test_data/Xml/Expected/levelType/minimal.xml @@ -0,0 +1,6 @@ + + false + false + false + true + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..4271c5f --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..e17a138 --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..1e19662 --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..4282cb3 --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..7bbe509 --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..f60ae6d --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..6bb613b --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + 6 + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..2e7d280 --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..0bd4d86 --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..ab54d9b --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/categoryOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/alternating_hyphen_underscore.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/alternating_hyphen_underscore.xml new file mode 100644 index 0000000..66bf0ae --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/alternating_hyphen_underscore.xml @@ -0,0 +1,3 @@ + + a-_-_-_-_-_ + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/ends_with_underscore.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/ends_with_underscore.xml new file mode 100644 index 0000000..b8d38a1 --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/ends_with_underscore.xml @@ -0,0 +1,3 @@ + + strange-name_ + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..b199abb --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + fULCVpULCVq + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..1a72ac0 --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + AopQejF + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..a4902d3 --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + Jk0k1414Di + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..c121afa --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + pVz10Vz10vZZNO9hM + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..6bc3812 --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + t8x1pz9WS4TGV + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..646cd7d --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + tWC + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..01cce8e --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + xF2bO_Uje6 + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..e4050ce --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + EO5DYAe + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..23d15eb --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + nRdRe + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..a891202 --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + P7gn + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/hyphen_then_underscore.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/hyphen_then_underscore.xml new file mode 100644 index 0000000..e8c09ae --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/hyphen_then_underscore.xml @@ -0,0 +1,3 @@ + + a-_ + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/many_internal_hyphens.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/many_internal_hyphens.xml new file mode 100644 index 0000000..94792df --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/many_internal_hyphens.xml @@ -0,0 +1,3 @@ + + a----------------b + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/many_underscores.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/many_underscores.xml new file mode 100644 index 0000000..c8cc59b --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/many_underscores.xml @@ -0,0 +1,3 @@ + + a________________ + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/minimal_digit.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/minimal_digit.xml new file mode 100644 index 0000000..5ae85a1 --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/minimal_digit.xml @@ -0,0 +1,3 @@ + + a0 + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/minimal_lower.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/minimal_lower.xml new file mode 100644 index 0000000..2db1ac7 --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/minimal_lower.xml @@ -0,0 +1,3 @@ + + aa + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/minimal_underscore.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/minimal_underscore.xml new file mode 100644 index 0000000..f008adf --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/minimal_underscore.xml @@ -0,0 +1,3 @@ + + a_ + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/minimal_upper.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/minimal_upper.xml new file mode 100644 index 0000000..da57daa --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/minimal_upper.xml @@ -0,0 +1,3 @@ + + AZ + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/single_internal_hyphen.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/single_internal_hyphen.xml new file mode 100644 index 0000000..c1e4226 --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/single_internal_hyphen.xml @@ -0,0 +1,3 @@ + + a-b + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/underscore_after_first.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/underscore_after_first.xml new file mode 100644 index 0000000..9b39ac4 --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/idShortOverPatternExamples/underscore_after_first.xml @@ -0,0 +1,3 @@ + + A_ + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/maximal.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/maximal.xml new file mode 100644 index 0000000..68544ce --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/maximal.xml @@ -0,0 +1,159 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Expected/multiLanguageProperty/minimal.xml b/dev/test_data/Xml/Expected/multiLanguageProperty/minimal.xml new file mode 100644 index 0000000..e713cbe --- /dev/null +++ b/dev/test_data/Xml/Expected/multiLanguageProperty/minimal.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..ed19acb --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..816f5fb --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..1a27398 --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..5f8e590 --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..06b1ef7 --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..5e66a2a --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..c5f341a --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + 6 + diff --git a/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..ffb20f0 --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..2ea6314 --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..90e694b --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/categoryOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/alternating_hyphen_underscore.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/alternating_hyphen_underscore.xml new file mode 100644 index 0000000..ed1de56 --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/alternating_hyphen_underscore.xml @@ -0,0 +1,3 @@ + + a-_-_-_-_-_ + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/ends_with_underscore.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/ends_with_underscore.xml new file mode 100644 index 0000000..8526939 --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/ends_with_underscore.xml @@ -0,0 +1,3 @@ + + strange-name_ + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..865cf17 --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + fULCVpULCVq + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..e03aee9 --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + AopQejF + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..124bbac --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + Jk0k1414Di + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..5693ae1 --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + pVz10Vz10vZZNO9hM + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..5589558 --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + t8x1pz9WS4TGV + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..fbf71de --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + tWC + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..fd6dd50 --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + xF2bO_Uje6 + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..23c1cff --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + EO5DYAe + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..abefe3b --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + nRdRe + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..9573b4c --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + P7gn + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/hyphen_then_underscore.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/hyphen_then_underscore.xml new file mode 100644 index 0000000..5782016 --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/hyphen_then_underscore.xml @@ -0,0 +1,3 @@ + + a-_ + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/many_internal_hyphens.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/many_internal_hyphens.xml new file mode 100644 index 0000000..9a1823e --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/many_internal_hyphens.xml @@ -0,0 +1,3 @@ + + a----------------b + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/many_underscores.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/many_underscores.xml new file mode 100644 index 0000000..ab8d9bd --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/many_underscores.xml @@ -0,0 +1,3 @@ + + a________________ + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/minimal_digit.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/minimal_digit.xml new file mode 100644 index 0000000..9c75dbe --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/minimal_digit.xml @@ -0,0 +1,3 @@ + + a0 + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/minimal_lower.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/minimal_lower.xml new file mode 100644 index 0000000..da89318 --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/minimal_lower.xml @@ -0,0 +1,3 @@ + + aa + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/minimal_underscore.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/minimal_underscore.xml new file mode 100644 index 0000000..6b48d0e --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/minimal_underscore.xml @@ -0,0 +1,3 @@ + + a_ + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/minimal_upper.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/minimal_upper.xml new file mode 100644 index 0000000..84d0407 --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/minimal_upper.xml @@ -0,0 +1,3 @@ + + AZ + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/single_internal_hyphen.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/single_internal_hyphen.xml new file mode 100644 index 0000000..c0fc872 --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/single_internal_hyphen.xml @@ -0,0 +1,3 @@ + + a-b + diff --git a/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/underscore_after_first.xml b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/underscore_after_first.xml new file mode 100644 index 0000000..2ebb45b --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/idShortOverPatternExamples/underscore_after_first.xml @@ -0,0 +1,3 @@ + + A_ + diff --git a/dev/test_data/Xml/Expected/operation/maximal.xml b/dev/test_data/Xml/Expected/operation/maximal.xml new file mode 100644 index 0000000..59bdfd1 --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/maximal.xml @@ -0,0 +1,189 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Expected/operation/minimal.xml b/dev/test_data/Xml/Expected/operation/minimal.xml new file mode 100644 index 0000000..b3af98a --- /dev/null +++ b/dev/test_data/Xml/Expected/operation/minimal.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Expected/operationVariable/maximal.xml b/dev/test_data/Xml/Expected/operationVariable/maximal.xml new file mode 100644 index 0000000..1aa29fb --- /dev/null +++ b/dev/test_data/Xml/Expected/operationVariable/maximal.xml @@ -0,0 +1,8 @@ + + + + something1d0edd81 + Capability + + + diff --git a/dev/test_data/Xml/Expected/operationVariable/minimal.xml b/dev/test_data/Xml/Expected/operationVariable/minimal.xml new file mode 100644 index 0000000..1aa29fb --- /dev/null +++ b/dev/test_data/Xml/Expected/operationVariable/minimal.xml @@ -0,0 +1,8 @@ + + + + something1d0edd81 + Capability + + + diff --git a/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..38696cc --- /dev/null +++ b/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..c758b30 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + 𠤢4𠤢 + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..1a006e4 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + [\h$񒺟ìÖċŠ1¿ + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..285acb4 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + öĖa􍣡™| + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..03af495 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,4 @@ + + J5 + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..3f1c8c5 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,4 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..c8b4063 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,4 @@ + + 6 + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..0cb1878 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,4 @@ + + 򤑌M𪠇𛔊򂄲 + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..66f6622 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,4 @@ + + <ă<P󨱽²|dnœÞ® + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..4d52b6a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/categoryOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,4 @@ + + 0 + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/alternating_hyphen_underscore.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/alternating_hyphen_underscore.xml new file mode 100644 index 0000000..fcb17e3 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/alternating_hyphen_underscore.xml @@ -0,0 +1,4 @@ + + a-_-_-_-_-_ + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/ends_with_underscore.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/ends_with_underscore.xml new file mode 100644 index 0000000..4fcc422 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/ends_with_underscore.xml @@ -0,0 +1,4 @@ + + strange-name_ + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..51fc560 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + fULCVpULCVq + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..0040059 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + AopQejF + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..b45880b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + Jk0k1414Di + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..f17fd43 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + pVz10Vz10vZZNO9hM + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..9e5067b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,4 @@ + + t8x1pz9WS4TGV + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..958e8fa --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,4 @@ + + tWC + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..0fa0164 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,4 @@ + + xF2bO_Uje6 + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..a661ee4 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,4 @@ + + EO5DYAe + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..de032dd --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,4 @@ + + nRdRe + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..cae5062 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,4 @@ + + P7gn + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/hyphen_then_underscore.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/hyphen_then_underscore.xml new file mode 100644 index 0000000..dc0f5c1 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/hyphen_then_underscore.xml @@ -0,0 +1,4 @@ + + a-_ + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/many_internal_hyphens.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/many_internal_hyphens.xml new file mode 100644 index 0000000..0ffc329 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/many_internal_hyphens.xml @@ -0,0 +1,4 @@ + + a----------------b + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/many_underscores.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/many_underscores.xml new file mode 100644 index 0000000..cbbdd6f --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/many_underscores.xml @@ -0,0 +1,4 @@ + + a________________ + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/minimal_digit.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/minimal_digit.xml new file mode 100644 index 0000000..d0740a0 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/minimal_digit.xml @@ -0,0 +1,4 @@ + + a0 + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/minimal_lower.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/minimal_lower.xml new file mode 100644 index 0000000..b131b1d --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/minimal_lower.xml @@ -0,0 +1,4 @@ + + aa + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/minimal_underscore.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/minimal_underscore.xml new file mode 100644 index 0000000..a8909b3 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/minimal_underscore.xml @@ -0,0 +1,4 @@ + + a_ + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/minimal_upper.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/minimal_upper.xml new file mode 100644 index 0000000..130872d --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/minimal_upper.xml @@ -0,0 +1,4 @@ + + AZ + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/single_internal_hyphen.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/single_internal_hyphen.xml new file mode 100644 index 0000000..ccb681a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/single_internal_hyphen.xml @@ -0,0 +1,4 @@ + + a-b + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/underscore_after_first.xml b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/underscore_after_first.xml new file mode 100644 index 0000000..8b9f2c8 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/idShortOverPatternExamples/underscore_after_first.xml @@ -0,0 +1,4 @@ + + A_ + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/maximal.xml b/dev/test_data/Xml/Expected/property/maximal.xml new file mode 100644 index 0000000..889e986 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/maximal.xml @@ -0,0 +1,151 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Expected/property/minimal.xml b/dev/test_data/Xml/Expected/property/minimal.xml new file mode 100644 index 0000000..ac01d38 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/minimal.xml @@ -0,0 +1,3 @@ + + xs:gDay + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_URI.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_URI.xml new file mode 100644 index 0000000..88a0318 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_URI.xml @@ -0,0 +1,4 @@ + + xs:anyURI + https://github.com/aas-core-works/aas-core-codegen + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_absolute_path_without_scheme.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_absolute_path_without_scheme.xml new file mode 100644 index 0000000..7914d30 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_absolute_path_without_scheme.xml @@ -0,0 +1,4 @@ + + xs:anyURI + /path/to/somewhere + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_empty.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_empty.xml new file mode 100644 index 0000000..498e78b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_empty.xml @@ -0,0 +1,4 @@ + + xs:anyURI + + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_01.xml new file mode 100644 index 0000000..f2d8300 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:anyURI + # + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_02.xml new file mode 100644 index 0000000..08a3e08 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:anyURI + //[d6FA:c:8b:4:7:be7:aD:C8C]:/~.49:f%Fee;%9D%58L/Q%ea'+Q%eb:&%7C,t:;a,@&%dB%2D%Ba&%bF%BF,;%06G%a0%bfk%7b&@&@1@=+%fE6%FF2j4;$;=,%Da$=R%17s+2%68;/v%Ca%a0&$d%Fd7%58@%a0%54D%0BA%00Bw%a59:6;;/%f1:;t%98$J0:Y;?%8Dx:%aC&$/S/L%A5u + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_03.xml new file mode 100644 index 0000000..e81d40a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:anyURI + A:// + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_04.xml new file mode 100644 index 0000000..498e78b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:anyURI + + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_05.xml new file mode 100644 index 0000000..c813f68 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:anyURI + #;+; + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_06.xml new file mode 100644 index 0000000..9873412 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:anyURI + //@fr+%64@/%C5vw%A8N/%9f;%59%Ea%A9%Dd?#[= + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_07.xml new file mode 100644 index 0000000..b410c21 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:anyURI + q%7E~@$=l#%f6,&;& + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_08.xml new file mode 100644 index 0000000..e9810c4 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:anyURI + j.:/%dd;=%78%Eaui;j/aTF&%Fd%9A9K;%f8-;;'4!C;,:C/=;k%b4;%09;;C%74%3a,2%C09;%127%5C;%81%d09/+;/%65%41%a0,@%34C_;%6E*;;%42%D9;%BA7%7EY%D4;%60Z=,/:+;$E&+$%Db4'%F2%7E;'+6-r$%64-;l%85%Eb%Ec+%ae/;=$-;;.%02L;,;%3Bj%a2:&@%3Ak$:;%CB;,(h(::=%b1;$+5&%810%04%3e,@$%60:G+%2d%c8%A4%01%5c,=&:O'CG%Eb@isa%2A+&$$%8D7X.+v)%Ed;3%6eo%DB&;7@%86n=9%aC%02;;k%bDH;%C0%BB;%c9,KF%De&%0A%6fP$:%9B%f5H%b8/T;%01$,%dD%8A%6B!/;,++;=;;%8dk$%0F%FB;;N%6B@;Om$%00# + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_09.xml new file mode 100644 index 0000000..931e254 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:anyURI + #b%39DX%f9a%76u%da%A1@%a9%D3n + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_10.xml new file mode 100644 index 0000000..41761d3 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:anyURI + ///%6B%0EX%9f-=++$:3%9az+,c&%3F:'Sx%3d%00:%7f%40:%08,;%5b%90%A1c;(;$:$y+%5b/=t%40+H+a@%E7$G%58;:+R$g$-yT%08&:,%fB;%F5b@;%Eb3%0C%A3n%4A%7dBf%75%2F%fc;vZ-%aFV$;%3a&;;=%fC;;~@+/=%A4# + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_integer.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_integer.xml new file mode 100644 index 0000000..883f5d5 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_integer.xml @@ -0,0 +1,4 @@ + + xs:anyURI + 1234 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_relative_path_without_scheme.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_relative_path_without_scheme.xml new file mode 100644 index 0000000..3b96eae --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Any_URI_relative_path_without_scheme.xml @@ -0,0 +1,4 @@ + + xs:anyURI + path/to/somewhere + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_an_empty_value_is_valid.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_an_empty_value_is_valid.xml new file mode 100644 index 0000000..271ee0b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_an_empty_value_is_valid.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_equals_signs_are_used_for_padding.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_equals_signs_are_used_for_padding.xml new file mode 100644 index 0000000..644388c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_equals_signs_are_used_for_padding.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + 0F+40A== + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_01.xml new file mode 100644 index 0000000..5f0d925 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + RJ I k 7 c /F / 1 J8F o 0ivZ v AE 3bj ASP y PI k+ 1 fku W 5M= + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_02.xml new file mode 100644 index 0000000..969c1f7 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + Ie 9 20 Y F 5 Ve9 Y c 0W rH p 2 FQaS /xw /t RtE= + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_03.xml new file mode 100644 index 0000000..329260d --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + n3wT + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_04.xml new file mode 100644 index 0000000..40b63b2 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + wfw E + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_05.xml new file mode 100644 index 0000000..31fee3b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + jj5 n + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_06.xml new file mode 100644 index 0000000..5aa3f72 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + j j5 n + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_07.xml new file mode 100644 index 0000000..1c54a98 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + S w SO 5 S5r + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_08.xml new file mode 100644 index 0000000..7700c69 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + UBU iUBU iQ n cy q 7wK + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_09.xml new file mode 100644 index 0000000..8599366 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + HU UH + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_10.xml new file mode 100644 index 0000000..6cbc16c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + 00000000 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_whitespace_is_allowed_anywhere_in_the_value.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_whitespace_is_allowed_anywhere_in_the_value.xml new file mode 100644 index 0000000..2e97a04 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_whitespace_is_allowed_anywhere_in_the_value.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + 0 FB8 0F+9 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_without_space_lowercase.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_without_space_lowercase.xml new file mode 100644 index 0000000..e70e8f9 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_without_space_lowercase.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + 0fb8 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_without_space_uppercase.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_without_space_uppercase.xml new file mode 100644 index 0000000..a298b61 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Base_64_binary_without_space_uppercase.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + 0FB8 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Boolean_false_as_number.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Boolean_false_as_number.xml new file mode 100644 index 0000000..8f4ab02 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Boolean_false_as_number.xml @@ -0,0 +1,4 @@ + + xs:boolean + 0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Boolean_false_in_letters.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Boolean_false_in_letters.xml new file mode 100644 index 0000000..a11a40d --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Boolean_false_in_letters.xml @@ -0,0 +1,4 @@ + + xs:boolean + false + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Boolean_true_as_number.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Boolean_true_as_number.xml new file mode 100644 index 0000000..8a41fcc --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Boolean_true_as_number.xml @@ -0,0 +1,4 @@ + + xs:boolean + 1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Boolean_true_in_letters.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Boolean_true_in_letters.xml new file mode 100644 index 0000000..cac118a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Boolean_true_in_letters.xml @@ -0,0 +1,4 @@ + + xs:boolean + true + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_common_example.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_common_example.xml new file mode 100644 index 0000000..cdd96e0 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_common_example.xml @@ -0,0 +1,4 @@ + + xs:byte + 1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_explicitly_positive.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_explicitly_positive.xml new file mode 100644 index 0000000..9836e24 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_explicitly_positive.xml @@ -0,0 +1,4 @@ + + xs:byte + +1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_01.xml new file mode 100644 index 0000000..c1f2be3 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:byte + 05 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_02.xml new file mode 100644 index 0000000..845bfe3 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:byte + 000110 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_03.xml new file mode 100644 index 0000000..597c36b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:byte + +00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_04.xml new file mode 100644 index 0000000..251867a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:byte + -108 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_05.xml new file mode 100644 index 0000000..031f23a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:byte + 0001 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_06.xml new file mode 100644 index 0000000..811fd29 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:byte + 103 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_07.xml new file mode 100644 index 0000000..b910630 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:byte + 06 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_08.xml new file mode 100644 index 0000000..105f141 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:byte + +0000002 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_09.xml new file mode 100644 index 0000000..562289c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:byte + 000000006 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_10.xml new file mode 100644 index 0000000..392b9ba --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:byte + -00011 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_max.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_max.xml new file mode 100644 index 0000000..4059fdb --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_max.xml @@ -0,0 +1,4 @@ + + xs:byte + 127 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_min.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_min.xml new file mode 100644 index 0000000..cff3e0a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_min.xml @@ -0,0 +1,4 @@ + + xs:byte + -128 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_negative.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_negative.xml new file mode 100644 index 0000000..a1b7042 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_negative.xml @@ -0,0 +1,4 @@ + + xs:byte + -1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_prefixed_with_zeros.xml new file mode 100644 index 0000000..ffda8b6 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:byte + 001 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_zero.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_zero.xml new file mode 100644 index 0000000..aae5817 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_zero.xml @@ -0,0 +1,4 @@ + + xs:byte + 0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..3c0b040 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Byte_zero_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:byte + 000 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date.xml new file mode 100644 index 0000000..a21ef53 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date.xml @@ -0,0 +1,4 @@ + + xs:date + 2022-04-01 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_large_negative_year.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_large_negative_year.xml new file mode 100644 index 0000000..6dc6c89 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_large_negative_year.xml @@ -0,0 +1,4 @@ + + xs:date + -12345678901234567890123456789012345678901234567890-04-01 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_large_positive_year.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_large_positive_year.xml new file mode 100644 index 0000000..d454bc4 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_large_positive_year.xml @@ -0,0 +1,4 @@ + + xs:date + 12345678901234567890123456789012345678901234567890-04-01 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_negative_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_negative_offset.xml new file mode 100644 index 0000000..3135c8b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_negative_offset.xml @@ -0,0 +1,4 @@ + + xs:date + 2022-04-01-02:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_positive_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_positive_offset.xml new file mode 100644 index 0000000..9e5f342 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_positive_offset.xml @@ -0,0 +1,4 @@ + + xs:date + 2022-04-01+02:34 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_utc.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_utc.xml new file mode 100644 index 0000000..734f1ac --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_utc.xml @@ -0,0 +1,4 @@ + + xs:date + 2022-04-01Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_zero_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_zero_offset.xml new file mode 100644 index 0000000..b04c425 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_date_with_zero_offset.xml @@ -0,0 +1,4 @@ + + xs:date + 2022-04-01+00:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_01.xml new file mode 100644 index 0000000..beea858 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:date + 0705-04-10+14:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_02.xml new file mode 100644 index 0000000..9693d57 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:date + -0236-12-31Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_03.xml new file mode 100644 index 0000000..abb3df4 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:date + 9088-11-06 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_04.xml new file mode 100644 index 0000000..fef07a9 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:date + -7506-08-02 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_05.xml new file mode 100644 index 0000000..3d4d376 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:date + -3637143-04-09 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_06.xml new file mode 100644 index 0000000..21ea954 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:date + -0311-11-30 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_07.xml new file mode 100644 index 0000000..ff1cc50 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:date + -0844-11-30 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_08.xml new file mode 100644 index 0000000..9356715 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:date + 0111-04-04 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_09.xml new file mode 100644 index 0000000..ef782a0 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:date + 0412-04-08-10:58 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_10.xml new file mode 100644 index 0000000..77c3f20 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:date + 0520-01-01 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_UTC.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_UTC.xml new file mode 100644 index 0000000..1ea6470 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_UTC.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 2022-04-01T01:02:03Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_large_negative_year.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_large_negative_year.xml new file mode 100644 index 0000000..f105229 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_large_negative_year.xml @@ -0,0 +1,4 @@ + + xs:dateTime + -12345678901234567890123456789012345678901234567890-04-01T01:02:03 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_large_positive_year.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_large_positive_year.xml new file mode 100644 index 0000000..8da5428 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_large_positive_year.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 12345678901234567890123456789012345678901234567890-04-01T01:02:03 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_long_fractional_seconds.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_long_fractional_seconds.xml new file mode 100644 index 0000000..cfc9c4e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_long_fractional_seconds.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 2022-04-01T01:02:03.0123456789Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_negative_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_negative_offset.xml new file mode 100644 index 0000000..3f1b8e2 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_negative_offset.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 2022-04-01T01:02:03+00:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_positive_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_positive_offset.xml new file mode 100644 index 0000000..e57e51c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_positive_offset.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 2022-04-01T01:02:03+02:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_zero_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_zero_offset.xml new file mode 100644 index 0000000..3f1b8e2 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_with_zero_offset.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 2022-04-01T01:02:03+00:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_without_zone.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_without_zone.xml new file mode 100644 index 0000000..449a37a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_date_time_without_zone.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 2022-04-01T01:02:03 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_01.xml new file mode 100644 index 0000000..205db08 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:dateTime + -0811-10-21T24:00:00.000000Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_02.xml new file mode 100644 index 0000000..9824b1b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:dateTime + -0819-11-21T24:00:00.00Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_03.xml new file mode 100644 index 0000000..233c4a9 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:dateTime + -665280014-06-30T21:15:16Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_04.xml new file mode 100644 index 0000000..b3e7b85 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:dateTime + -0811-11-21T24:00:00.0000Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_05.xml new file mode 100644 index 0000000..bf8f328 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 0532-09-07T18:47:52+14:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_06.xml new file mode 100644 index 0000000..33c60c0 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 0707-11-02T24:00:00.00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_07.xml new file mode 100644 index 0000000..74cba65 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:dateTime + -0003-12-20T22:53:54.02567 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_08.xml new file mode 100644 index 0000000..0d21b27 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:dateTime + -1092-02-25T24:00:00.0000 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_09.xml new file mode 100644 index 0000000..ed9b1ea --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:dateTime + -6602-06-30T24:00:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_10.xml new file mode 100644 index 0000000..b414667 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:dateTime + -2111111-08-31T23:58:19.269348 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_midnight_with_24_hours.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_midnight_with_24_hours.xml new file mode 100644 index 0000000..c18fc42 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_midnight_with_24_hours.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 2022-04-01T24:00:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_midnight_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_midnight_with_zeros.xml new file mode 100644 index 0000000..e0e5063 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_midnight_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 2022-04-01T00:00:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_year_1_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_year_1_bce_is_a_leap_year.xml new file mode 100644 index 0000000..c54a432 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_year_1_bce_is_a_leap_year.xml @@ -0,0 +1,4 @@ + + xs:dateTime + -0001-02-29T01:02:03 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_year_5_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_year_5_bce_is_a_leap_year.xml new file mode 100644 index 0000000..d212d86 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_time_year_5_bce_is_a_leap_year.xml @@ -0,0 +1,4 @@ + + xs:dateTime + -0005-02-29T01:02:03 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_year_1_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_year_1_bce_is_a_leap_year.xml new file mode 100644 index 0000000..59c5046 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_year_1_bce_is_a_leap_year.xml @@ -0,0 +1,4 @@ + + xs:date + -0001-02-29 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_year_5_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_year_5_bce_is_a_leap_year.xml new file mode 100644 index 0000000..16a8002 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Date_year_5_bce_is_a_leap_year.xml @@ -0,0 +1,4 @@ + + xs:date + -0005-02-29 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_decimal.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_decimal.xml new file mode 100644 index 0000000..fa9bc52 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_decimal.xml @@ -0,0 +1,4 @@ + + xs:decimal + 1234.01234 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_decimal_with_long_fractional.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_decimal_with_long_fractional.xml new file mode 100644 index 0000000..2205ab1 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_decimal_with_long_fractional.xml @@ -0,0 +1,4 @@ + + xs:decimal + 1234.1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_decimal_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_decimal_with_preceding_zeros.xml new file mode 100644 index 0000000..34e39c1 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_decimal_with_preceding_zeros.xml @@ -0,0 +1,4 @@ + + xs:decimal + 0001234.01234 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_01.xml new file mode 100644 index 0000000..1efebb2 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:decimal + .33324 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_02.xml new file mode 100644 index 0000000..f0464d9 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:decimal + 01195 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_03.xml new file mode 100644 index 0000000..d96abfa --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:decimal + +875 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_04.xml new file mode 100644 index 0000000..9fffe8f --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:decimal + -8 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_05.xml new file mode 100644 index 0000000..ac891e7 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:decimal + -0.0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_06.xml new file mode 100644 index 0000000..3887c8f --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:decimal + -13522106 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_07.xml new file mode 100644 index 0000000..1aaeeab --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:decimal + +10 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_08.xml new file mode 100644 index 0000000..3788dfc --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:decimal + -030725 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_09.xml new file mode 100644 index 0000000..b831afd --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:decimal + .3 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_10.xml new file mode 100644 index 0000000..ee11bfb --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:decimal + 0061707 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_integer.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_integer.xml new file mode 100644 index 0000000..e4b1b97 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_integer.xml @@ -0,0 +1,4 @@ + + xs:decimal + 1234 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_integer_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_integer_with_preceding_zeros.xml new file mode 100644 index 0000000..965b96e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_integer_with_preceding_zeros.xml @@ -0,0 +1,4 @@ + + xs:decimal + 0001234 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_very_large_decimal.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_very_large_decimal.xml new file mode 100644 index 0000000..da8adba --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Decimal_very_large_decimal.xml @@ -0,0 +1,4 @@ + + xs:decimal + 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.12345678901234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_double.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_double.xml new file mode 100644 index 0000000..b057a52 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_double.xml @@ -0,0 +1,4 @@ + + xs:double + 1234.01234 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_01.xml new file mode 100644 index 0000000..06584d3 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:double + .1118 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_02.xml new file mode 100644 index 0000000..8ee5afb --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:double + -.662 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_03.xml new file mode 100644 index 0000000..a09b464 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:double + .0E0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_04.xml new file mode 100644 index 0000000..9ad2c6a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:double + .4 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_05.xml new file mode 100644 index 0000000..91469a9 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:double + .11 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_06.xml new file mode 100644 index 0000000..05b8aed --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:double + +76E-86 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_07.xml new file mode 100644 index 0000000..8ee5afb --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:double + -.662 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_08.xml new file mode 100644 index 0000000..8680224 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:double + 1e+7 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_09.xml new file mode 100644 index 0000000..5520d3b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:double + -.66E-45 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_10.xml new file mode 100644 index 0000000..22fbf78 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:double + 140206134 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_inf.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_inf.xml new file mode 100644 index 0000000..51bf865 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_inf.xml @@ -0,0 +1,4 @@ + + xs:double + INF + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_integer.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_integer.xml new file mode 100644 index 0000000..28d3a2a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_integer.xml @@ -0,0 +1,4 @@ + + xs:double + 1234 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_integer_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_integer_with_preceding_zeros.xml new file mode 100644 index 0000000..77a274a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_integer_with_preceding_zeros.xml @@ -0,0 +1,4 @@ + + xs:double + 0001234 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_loss_of_precision_is_not_detected_by_design.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_loss_of_precision_is_not_detected_by_design.xml new file mode 100644 index 0000000..e8b1147 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_loss_of_precision_is_not_detected_by_design.xml @@ -0,0 +1,4 @@ + + xs:double + 1234.1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_lowest.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_lowest.xml new file mode 100644 index 0000000..19a3494 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_lowest.xml @@ -0,0 +1,4 @@ + + xs:double + -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_max.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_max.xml new file mode 100644 index 0000000..5d85fbe --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_max.xml @@ -0,0 +1,4 @@ + + xs:double + 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_minus_inf.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_minus_inf.xml new file mode 100644 index 0000000..6f7bca0 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_minus_inf.xml @@ -0,0 +1,4 @@ + + xs:double + -INF + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_nan.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_nan.xml new file mode 100644 index 0000000..88d8567 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_nan.xml @@ -0,0 +1,4 @@ + + xs:double + NaN + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_scientific_notation.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_scientific_notation.xml new file mode 100644 index 0000000..e706e70 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_scientific_notation.xml @@ -0,0 +1,4 @@ + + xs:double + 12.34e56 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_scientific_notation_negative.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_scientific_notation_negative.xml new file mode 100644 index 0000000..d7f39c4 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_scientific_notation_negative.xml @@ -0,0 +1,4 @@ + + xs:double + -12.34e56 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_scientific_notation_negative_exponent.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_scientific_notation_negative_exponent.xml new file mode 100644 index 0000000..c0af547 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_scientific_notation_negative_exponent.xml @@ -0,0 +1,4 @@ + + xs:double + 12.34e-56 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_scientific_notation_positive.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_scientific_notation_positive.xml new file mode 100644 index 0000000..ad24052 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_scientific_notation_positive.xml @@ -0,0 +1,4 @@ + + xs:double + +12.34e56 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_scientific_notation_positive_exponent.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_scientific_notation_positive_exponent.xml new file mode 100644 index 0000000..49eb2b7 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_scientific_notation_positive_exponent.xml @@ -0,0 +1,4 @@ + + xs:double + 12.34e+56 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_very_large_normal.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_very_large_normal.xml new file mode 100644 index 0000000..fc03a34 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_very_large_normal.xml @@ -0,0 +1,4 @@ + + xs:double + 2e307 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_very_precise_subnormal.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_very_precise_subnormal.xml new file mode 100644 index 0000000..2e01766 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_very_precise_subnormal.xml @@ -0,0 +1,4 @@ + + xs:double + 2e-307 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_with_preceding_zeros.xml new file mode 100644 index 0000000..e2bba07 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Double_with_preceding_zeros.xml @@ -0,0 +1,4 @@ + + xs:double + 0001234.01234 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_day_seconds.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_day_seconds.xml new file mode 100644 index 0000000..3446e3f --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_day_seconds.xml @@ -0,0 +1,4 @@ + + xs:duration + P1DT2S + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_full.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_full.xml new file mode 100644 index 0000000..214eeac --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_full.xml @@ -0,0 +1,4 @@ + + xs:duration + P1Y2M3DT5H20M30.123S + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_01.xml new file mode 100644 index 0000000..bb8ed88 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:duration + -P009D + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_02.xml new file mode 100644 index 0000000..b131f3e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:duration + P5Y36660767143M + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_03.xml new file mode 100644 index 0000000..e757cd2 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:duration + -PT01332.1S + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_04.xml new file mode 100644 index 0000000..df6649b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:duration + -P11DT142M + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_05.xml new file mode 100644 index 0000000..86cb225 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:duration + PT88M48936316289.34291243605107045S + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_06.xml new file mode 100644 index 0000000..96d6e3c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:duration + -P1M923D + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_07.xml new file mode 100644 index 0000000..d345cd9 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:duration + -PT0.332S + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_08.xml new file mode 100644 index 0000000..96b202d --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:duration + -PT313148178698146281H866062127724898M + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_09.xml new file mode 100644 index 0000000..d131e08 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:duration + -PT1.5375209S + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_10.xml new file mode 100644 index 0000000..783f9c2 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:duration + PT18688M + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_long_second_fractal.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_long_second_fractal.xml new file mode 100644 index 0000000..ece7470 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_long_second_fractal.xml @@ -0,0 +1,4 @@ + + xs:duration + PT1.12345678901234567890123456789012345678901234567890123456789012345678901234567890S + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_many_many_seconds.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_many_many_seconds.xml new file mode 100644 index 0000000..843b635 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_many_many_seconds.xml @@ -0,0 +1,4 @@ + + xs:duration + PT12345678901234567890123456789012345678901234567890123456789012345678901234567890S + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_month_seconds.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_month_seconds.xml new file mode 100644 index 0000000..a6a023b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_month_seconds.xml @@ -0,0 +1,4 @@ + + xs:duration + PT2M10S + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_only_seconds.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_only_seconds.xml new file mode 100644 index 0000000..726737f --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_only_seconds.xml @@ -0,0 +1,4 @@ + + xs:duration + PT130S + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_only_year.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_only_year.xml new file mode 100644 index 0000000..888d007 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Duration_only_year.xml @@ -0,0 +1,4 @@ + + xs:duration + -P1Y + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_float.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_float.xml new file mode 100644 index 0000000..cc30cae --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_float.xml @@ -0,0 +1,4 @@ + + xs:float + 1234.01234 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_01.xml new file mode 100644 index 0000000..974f35e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:float + -.80E0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_02.xml new file mode 100644 index 0000000..266e2d7 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:float + -147E7 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_03.xml new file mode 100644 index 0000000..9016f01 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:float + 18 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_04.xml new file mode 100644 index 0000000..ec783b1 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:float + .1532E+16 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_05.xml new file mode 100644 index 0000000..085316f --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:float + +44.6393 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_06.xml new file mode 100644 index 0000000..c1c4a8a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:float + .5885e-29 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_07.xml new file mode 100644 index 0000000..e6a9399 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:float + 1e-7 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_08.xml new file mode 100644 index 0000000..cf4a467 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:float + +732.55619 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_09.xml new file mode 100644 index 0000000..229369f --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:float + .1E05 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_10.xml new file mode 100644 index 0000000..866cad9 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:float + 1102 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_inf.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_inf.xml new file mode 100644 index 0000000..b2af2da --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_inf.xml @@ -0,0 +1,4 @@ + + xs:float + INF + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_integer.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_integer.xml new file mode 100644 index 0000000..5e3b404 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_integer.xml @@ -0,0 +1,4 @@ + + xs:float + 1234 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_integer_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_integer_with_preceding_zeros.xml new file mode 100644 index 0000000..2de5495 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_integer_with_preceding_zeros.xml @@ -0,0 +1,4 @@ + + xs:float + 0001234 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_largest_normal.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_largest_normal.xml new file mode 100644 index 0000000..6e68d19 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_largest_normal.xml @@ -0,0 +1,4 @@ + + xs:float + 340282346638528859811704183484516925440 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_largest_number_less_than_one.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_largest_number_less_than_one.xml new file mode 100644 index 0000000..6785cb8 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_largest_number_less_than_one.xml @@ -0,0 +1,4 @@ + + xs:float + 0.999999940395355224609375 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_largest_subnormal.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_largest_subnormal.xml new file mode 100644 index 0000000..ae3df46 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_largest_subnormal.xml @@ -0,0 +1,4 @@ + + xs:float + 0.00000000000000000000000000000000000001175494210692441075487029444849287348827052428745893333857174530571588870475618904265502351336181163787841796875 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_loss_of_precision_is_not_detected_by_design.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_loss_of_precision_is_not_detected_by_design.xml new file mode 100644 index 0000000..0bf6998 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_loss_of_precision_is_not_detected_by_design.xml @@ -0,0 +1,4 @@ + + xs:float + 1234.1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_nan.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_nan.xml new file mode 100644 index 0000000..023e01b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_nan.xml @@ -0,0 +1,4 @@ + + xs:float + NaN + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_negative_inf.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_negative_inf.xml new file mode 100644 index 0000000..9add298 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_negative_inf.xml @@ -0,0 +1,4 @@ + + xs:float + -INF + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_scientific_notation.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_scientific_notation.xml new file mode 100644 index 0000000..06267ab --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_scientific_notation.xml @@ -0,0 +1,4 @@ + + xs:float + 12.34e16 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_scientific_notation_negative.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_scientific_notation_negative.xml new file mode 100644 index 0000000..e449aff --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_scientific_notation_negative.xml @@ -0,0 +1,4 @@ + + xs:float + -12.34e16 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_scientific_notation_negative_exponent.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_scientific_notation_negative_exponent.xml new file mode 100644 index 0000000..a7ae61c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_scientific_notation_negative_exponent.xml @@ -0,0 +1,4 @@ + + xs:float + 12.34e-16 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_scientific_notation_positive.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_scientific_notation_positive.xml new file mode 100644 index 0000000..1edab9d --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_scientific_notation_positive.xml @@ -0,0 +1,4 @@ + + xs:float + +12.34e16 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_scientific_notation_positive_exponent.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_scientific_notation_positive_exponent.xml new file mode 100644 index 0000000..d62682b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_scientific_notation_positive_exponent.xml @@ -0,0 +1,4 @@ + + xs:float + 12.34e+16 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_smallest_number_larger_than_one.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_smallest_number_larger_than_one.xml new file mode 100644 index 0000000..055b8da --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_smallest_number_larger_than_one.xml @@ -0,0 +1,4 @@ + + xs:float + 1.00000011920928955078125 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_smallest_positive_normal.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_smallest_positive_normal.xml new file mode 100644 index 0000000..66118b7 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_smallest_positive_normal.xml @@ -0,0 +1,4 @@ + + xs:float + 0.000000000000000000000000000000000000011754943508222875079687365372222456778186655567720875215087517062784172594547271728515625 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_smallest_positive_subnormal.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_smallest_positive_subnormal.xml new file mode 100644 index 0000000..0aa0dc0 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_smallest_positive_subnormal.xml @@ -0,0 +1,4 @@ + + xs:float + 0.00000000000000000000000000000000000000000000140129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_with_preceding_zeros.xml new file mode 100644 index 0000000..dbcb427 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Float_with_preceding_zeros.xml @@ -0,0 +1,4 @@ + + xs:float + 0001234.01234 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_day_not_existing_in_all_months_without_zone.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_day_not_existing_in_all_months_without_zone.xml new file mode 100644 index 0000000..f08e8c7 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_day_not_existing_in_all_months_without_zone.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---31 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_double_digit_day_without_zone.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_double_digit_day_without_zone.xml new file mode 100644 index 0000000..9782ed5 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_double_digit_day_without_zone.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---15 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_01.xml new file mode 100644 index 0000000..b5ecbef --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---23Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_02.xml new file mode 100644 index 0000000..002319c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---24 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_03.xml new file mode 100644 index 0000000..1847944 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---10 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_04.xml new file mode 100644 index 0000000..2165caa --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---30-14:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_05.xml new file mode 100644 index 0000000..c57cebf --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---31-09:25 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_06.xml new file mode 100644 index 0000000..a10e20a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---17Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_07.xml new file mode 100644 index 0000000..d99a4c0 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---30+00:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_08.xml new file mode 100644 index 0000000..302963b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---30-10:11 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_09.xml new file mode 100644 index 0000000..aa14687 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---22Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_10.xml new file mode 100644 index 0000000..afb6620 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---30Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_negative_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_negative_offset.xml new file mode 100644 index 0000000..f4fa6e8 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_negative_offset.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---01-04:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_positive_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_positive_offset.xml new file mode 100644 index 0000000..7df8b81 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_positive_offset.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---01+02:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_single_digit_day_without_zone.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_single_digit_day_without_zone.xml new file mode 100644 index 0000000..5216fee --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_single_digit_day_without_zone.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---01 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_utc_zone.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_utc_zone.xml new file mode 100644 index 0000000..17fbed7 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_utc_zone.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---01Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_zero_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_zero_offset.xml new file mode 100644 index 0000000..be3f4a6 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_day_zero_offset.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---01+00:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_double_digit_month_double_digit_day_without_zone.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_double_digit_month_double_digit_day_without_zone.xml new file mode 100644 index 0000000..4b0beaa --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_double_digit_month_double_digit_day_without_zone.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --11-14 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_double_digit_month_single_digit_day_without_zone.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_double_digit_month_single_digit_day_without_zone.xml new file mode 100644 index 0000000..71ef38b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_double_digit_month_single_digit_day_without_zone.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --11-01 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_february_29th_which_does_not_exist_in_all_years.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_february_29th_which_does_not_exist_in_all_years.xml new file mode 100644 index 0000000..9c94478 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_february_29th_which_does_not_exist_in_all_years.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --02-29 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_01.xml new file mode 100644 index 0000000..e2fb932 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --11-20 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_02.xml new file mode 100644 index 0000000..0322671 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --12-06 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_03.xml new file mode 100644 index 0000000..aea8928 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --12-01 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_04.xml new file mode 100644 index 0000000..ae706c5 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --11-21+14:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_05.xml new file mode 100644 index 0000000..9bb6d58 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --10-07 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_06.xml new file mode 100644 index 0000000..df8d134 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --10-30 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_07.xml new file mode 100644 index 0000000..24c9502 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --12-27 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_08.xml new file mode 100644 index 0000000..4fa6227 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --04-30 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_09.xml new file mode 100644 index 0000000..b4b7808 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --10-10-14:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_10.xml new file mode 100644 index 0000000..a7617e2 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --10-11Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_negative_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_negative_offset.xml new file mode 100644 index 0000000..46a5232 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_negative_offset.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --11-01-04:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_positive_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_positive_offset.xml new file mode 100644 index 0000000..906b706 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_positive_offset.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --11-01+02:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_single_digit_month_single_digit_day_without_zone.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_single_digit_month_single_digit_day_without_zone.xml new file mode 100644 index 0000000..88b8e2d --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_single_digit_month_single_digit_day_without_zone.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --05-01 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_utc_zone.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_utc_zone.xml new file mode 100644 index 0000000..c1809cb --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_utc_zone.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --11-01Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_zero_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_zero_offset.xml new file mode 100644 index 0000000..906b706 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_day_zero_offset.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --11-01+02:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_double_digit_month_without_zone.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_double_digit_month_without_zone.xml new file mode 100644 index 0000000..e257b22 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_double_digit_month_without_zone.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --11 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_01.xml new file mode 100644 index 0000000..3cdec4a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --11-13:34 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_02.xml new file mode 100644 index 0000000..3248394 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --10+14:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_03.xml new file mode 100644 index 0000000..8d3cdb8 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --10+07:39 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_04.xml new file mode 100644 index 0000000..57c3161 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --11-05:22 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_05.xml new file mode 100644 index 0000000..0c38978 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --01 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_06.xml new file mode 100644 index 0000000..168e134 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --12Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_07.xml new file mode 100644 index 0000000..6d08957 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --10-13:30 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_08.xml new file mode 100644 index 0000000..ac7d755 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --07 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_09.xml new file mode 100644 index 0000000..c68ebb6 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --11-10:05 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_10.xml new file mode 100644 index 0000000..4a4776b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --11+12:33 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_negative_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_negative_offset.xml new file mode 100644 index 0000000..cc2c508 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_negative_offset.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --11-04:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_positive_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_positive_offset.xml new file mode 100644 index 0000000..d48dcc3 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_positive_offset.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --11+02:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_single_digit_month_without_zone.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_single_digit_month_without_zone.xml new file mode 100644 index 0000000..b1eb1f9 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_single_digit_month_without_zone.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --05 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_utc_zone.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_utc_zone.xml new file mode 100644 index 0000000..33f0d83 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_utc_zone.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --11Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_zero_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_zero_offset.xml new file mode 100644 index 0000000..7f4dc65 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_month_zero_offset.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --11+00:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_five_digit_negative_year.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_five_digit_negative_year.xml new file mode 100644 index 0000000..c62df81 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_five_digit_negative_year.xml @@ -0,0 +1,4 @@ + + xs:gYear + -20000 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_five_digit_year.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_five_digit_year.xml new file mode 100644 index 0000000..0f563a9 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_five_digit_year.xml @@ -0,0 +1,4 @@ + + xs:gYear + 20000 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_01.xml new file mode 100644 index 0000000..91acf6c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:gYear + 0740-07:36 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_02.xml new file mode 100644 index 0000000..afa901d --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:gYear + 125774274 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_03.xml new file mode 100644 index 0000000..87653e7 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:gYear + -0444 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_04.xml new file mode 100644 index 0000000..ffd27c9 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:gYear + 0000 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_05.xml new file mode 100644 index 0000000..7d9076c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:gYear + -0111+14:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_06.xml new file mode 100644 index 0000000..ecbd7fe --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:gYear + 11111 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_07.xml new file mode 100644 index 0000000..d1470ad --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:gYear + 973419862 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_08.xml new file mode 100644 index 0000000..ae9938c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:gYear + 1717608219759Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_09.xml new file mode 100644 index 0000000..5c1acb0 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:gYear + -0863 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_10.xml new file mode 100644 index 0000000..5922d3e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:gYear + -0109+14:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_common_year_month.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_common_year_month.xml new file mode 100644 index 0000000..476d351 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_common_year_month.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + 2001-10 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_five_digit_negative_year.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_five_digit_negative_year.xml new file mode 100644 index 0000000..844300d --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_five_digit_negative_year.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + -20000-04 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_01.xml new file mode 100644 index 0000000..36ae074 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + -65822-10 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_02.xml new file mode 100644 index 0000000..3235123 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + 0730-10-14:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_03.xml new file mode 100644 index 0000000..d31b41e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + -4111-11Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_04.xml new file mode 100644 index 0000000..336fc1d --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + 1000-01 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_05.xml new file mode 100644 index 0000000..62faabe --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + 0010-09-14:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_06.xml new file mode 100644 index 0000000..eb8379c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + 0555-07 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_07.xml new file mode 100644 index 0000000..100bb17 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + 0404-11-14:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_08.xml new file mode 100644 index 0000000..9a6a9e5 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + -0882-11+14:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_09.xml new file mode 100644 index 0000000..9c333d0 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + -0230-09Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_10.xml new file mode 100644 index 0000000..e109718 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + 0119-12-14:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_negative_year.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_negative_year.xml new file mode 100644 index 0000000..40c50ab --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_negative_year.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + -2001-10 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_very_large_negative_year.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_very_large_negative_year.xml new file mode 100644 index 0000000..1a8ff56 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_very_large_negative_year.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + -123456789012345678901234567890123456789012345678901234567890-04 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_very_large_positive_year.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_very_large_positive_year.xml new file mode 100644 index 0000000..356a19b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_very_large_positive_year.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + 123456789012345678901234567890123456789012345678901234567890-04 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_with_negative_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_with_negative_offset.xml new file mode 100644 index 0000000..d30bbba --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_with_negative_offset.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + 2001-10-02:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_with_positive_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_with_positive_offset.xml new file mode 100644 index 0000000..9d9de45 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_with_positive_offset.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + 2001-10+02:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_with_utc_zone.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_with_utc_zone.xml new file mode 100644 index 0000000..06ab231 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_with_utc_zone.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + 2001-10Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_with_zero_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_with_zero_offset.xml new file mode 100644 index 0000000..da6416c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_month_with_zero_offset.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + 2001-10+00:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_negative_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_negative_offset.xml new file mode 100644 index 0000000..666f199 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_negative_offset.xml @@ -0,0 +1,4 @@ + + xs:gYear + 2001-04:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_negative_year.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_negative_year.xml new file mode 100644 index 0000000..bd8f965 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_negative_year.xml @@ -0,0 +1,4 @@ + + xs:gYear + -2001 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_positive_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_positive_offset.xml new file mode 100644 index 0000000..a5bd585 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_positive_offset.xml @@ -0,0 +1,4 @@ + + xs:gYear + 2001+02:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_utc_zone.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_utc_zone.xml new file mode 100644 index 0000000..f79d568 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_utc_zone.xml @@ -0,0 +1,4 @@ + + xs:gYear + 2001Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_very_large_negative_year.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_very_large_negative_year.xml new file mode 100644 index 0000000..16214dd --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_very_large_negative_year.xml @@ -0,0 +1,4 @@ + + xs:gYear + -123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_very_large_positive_year.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_very_large_positive_year.xml new file mode 100644 index 0000000..3b55aad --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_very_large_positive_year.xml @@ -0,0 +1,4 @@ + + xs:gYear + 123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_year_without_zone.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_year_without_zone.xml new file mode 100644 index 0000000..ccdc8fd --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_year_without_zone.xml @@ -0,0 +1,4 @@ + + xs:gYear + 2001 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_zero_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_zero_offset.xml new file mode 100644 index 0000000..2ba8ceb --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/G_year_zero_offset.xml @@ -0,0 +1,4 @@ + + xs:gYear + 2001+00:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_empty.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_empty.xml new file mode 100644 index 0000000..11eb664 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_empty.xml @@ -0,0 +1,4 @@ + + xs:hexBinary + + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_01.xml new file mode 100644 index 0000000..80f16d0 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:hexBinary + f22fF9004a6D9AD1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_02.xml new file mode 100644 index 0000000..44c2664 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:hexBinary + 00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_03.xml new file mode 100644 index 0000000..fc54c06 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:hexBinary + FFFFfef3CB + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_04.xml new file mode 100644 index 0000000..9e4722a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:hexBinary + A8 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_05.xml new file mode 100644 index 0000000..4175ae1 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:hexBinary + 3C3C82 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_06.xml new file mode 100644 index 0000000..1e3f57d --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:hexBinary + 23ee + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_07.xml new file mode 100644 index 0000000..44c2664 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:hexBinary + 00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_08.xml new file mode 100644 index 0000000..5e78b68 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:hexBinary + aBe5ccF85fbf32 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_09.xml new file mode 100644 index 0000000..5e78b68 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:hexBinary + aBe5ccF85fbf32 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_10.xml new file mode 100644 index 0000000..76ab113 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:hexBinary + C4E02bbC + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_long_random_hex.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_long_random_hex.xml new file mode 100644 index 0000000..f41752f --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_long_random_hex.xml @@ -0,0 +1,4 @@ + + xs:hexBinary + 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e67 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_one_one.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_one_one.xml new file mode 100644 index 0000000..7e33ce7 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_one_one.xml @@ -0,0 +1,4 @@ + + xs:hexBinary + 11 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_one_two.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_one_two.xml new file mode 100644 index 0000000..05bab81 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_one_two.xml @@ -0,0 +1,4 @@ + + xs:hexBinary + 12 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_one_two_three_four.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_one_two_three_four.xml new file mode 100644 index 0000000..7a7234b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Hex_binary_one_two_three_four.xml @@ -0,0 +1,4 @@ + + xs:hexBinary + 1234 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_common_example.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_common_example.xml new file mode 100644 index 0000000..859f6f0 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_common_example.xml @@ -0,0 +1,4 @@ + + xs:int + 1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_explicitly_positive.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_explicitly_positive.xml new file mode 100644 index 0000000..6fc1333 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_explicitly_positive.xml @@ -0,0 +1,4 @@ + + xs:int + +1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_01.xml new file mode 100644 index 0000000..ce4aa9f --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:int + 00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_02.xml new file mode 100644 index 0000000..61a6e0a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:int + -0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_03.xml new file mode 100644 index 0000000..8a7734c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:int + 000000000000069268 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_04.xml new file mode 100644 index 0000000..3c336a1 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:int + +478978 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_05.xml new file mode 100644 index 0000000..bce12df --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:int + 7097 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_06.xml new file mode 100644 index 0000000..caac2ab --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:int + 68 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_07.xml new file mode 100644 index 0000000..7dfbfd1 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:int + +0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_08.xml new file mode 100644 index 0000000..7887aa5 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:int + 6612453 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_09.xml new file mode 100644 index 0000000..6545b39 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:int + -00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_10.xml new file mode 100644 index 0000000..79082e7 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:int + +0000000946381 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_max.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_max.xml new file mode 100644 index 0000000..606aaba --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_max.xml @@ -0,0 +1,4 @@ + + xs:int + 2147483647 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_min.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_min.xml new file mode 100644 index 0000000..b0206e5 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_min.xml @@ -0,0 +1,4 @@ + + xs:int + -2147483648 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_negative.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_negative.xml new file mode 100644 index 0000000..f36a0df --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_negative.xml @@ -0,0 +1,4 @@ + + xs:int + -1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_prefixed_with_zeros.xml new file mode 100644 index 0000000..474a578 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:int + 001 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_zero.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_zero.xml new file mode 100644 index 0000000..30046c9 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_zero.xml @@ -0,0 +1,4 @@ + + xs:int + 0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..e423dff --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Int_zero_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:int + 000 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_common_example.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_common_example.xml new file mode 100644 index 0000000..7a3c941 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_common_example.xml @@ -0,0 +1,4 @@ + + xs:integer + 1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_explicitly_positive.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_explicitly_positive.xml new file mode 100644 index 0000000..096498c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_explicitly_positive.xml @@ -0,0 +1,4 @@ + + xs:integer + +1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_01.xml new file mode 100644 index 0000000..8622830 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:integer + 817778847926480 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_02.xml new file mode 100644 index 0000000..c6172c4 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:integer + +022 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_03.xml new file mode 100644 index 0000000..49b48a9 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:integer + -43045 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_04.xml new file mode 100644 index 0000000..48acf18 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:integer + -3009 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_05.xml new file mode 100644 index 0000000..f1c224e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:integer + 0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_06.xml new file mode 100644 index 0000000..432ffc5 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:integer + -3 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_07.xml new file mode 100644 index 0000000..c09321e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:integer + 8 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_08.xml new file mode 100644 index 0000000..f6a64cd --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:integer + 221 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_09.xml new file mode 100644 index 0000000..c8ff40e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:integer + 9191 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_10.xml new file mode 100644 index 0000000..873bbc4 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:integer + -3909 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_negative.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_negative.xml new file mode 100644 index 0000000..ade7f78 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_negative.xml @@ -0,0 +1,4 @@ + + xs:integer + -1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_prefixed_with_zeros.xml new file mode 100644 index 0000000..aaf7224 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:integer + 001 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_very_large.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_very_large.xml new file mode 100644 index 0000000..97d54cc --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_very_large.xml @@ -0,0 +1,4 @@ + + xs:integer + 1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_zero.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_zero.xml new file mode 100644 index 0000000..f1c224e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_zero.xml @@ -0,0 +1,4 @@ + + xs:integer + 0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..9d14894 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Integer_zero_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:integer + 000 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_common_example.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_common_example.xml new file mode 100644 index 0000000..8e4e80a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_common_example.xml @@ -0,0 +1,4 @@ + + xs:long + 1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_explicitly_positive.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_explicitly_positive.xml new file mode 100644 index 0000000..4cdff2e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_explicitly_positive.xml @@ -0,0 +1,4 @@ + + xs:long + +1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_01.xml new file mode 100644 index 0000000..547ff70 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:long + -002728 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_02.xml new file mode 100644 index 0000000..5160583 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:long + 6257 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_03.xml new file mode 100644 index 0000000..f6a4fe0 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:long + 088 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_04.xml new file mode 100644 index 0000000..14237fb --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:long + 29 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_05.xml new file mode 100644 index 0000000..d43ef81 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:long + -288 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_06.xml new file mode 100644 index 0000000..7bbec7b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:long + 004775 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_07.xml new file mode 100644 index 0000000..427914c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:long + 2912577609592844 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_08.xml new file mode 100644 index 0000000..fd0e410 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:long + -0161 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_09.xml new file mode 100644 index 0000000..0cf8307 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:long + 00000000000048533 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_10.xml new file mode 100644 index 0000000..e8b0fab --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:long + 3116670676 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_max.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_max.xml new file mode 100644 index 0000000..bd752c7 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_max.xml @@ -0,0 +1,4 @@ + + xs:long + 9223372036854775807 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_min.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_min.xml new file mode 100644 index 0000000..3252f0a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_min.xml @@ -0,0 +1,4 @@ + + xs:long + -9223372036854775808 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_negative.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_negative.xml new file mode 100644 index 0000000..9eaafdc --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_negative.xml @@ -0,0 +1,4 @@ + + xs:long + -1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_prefixed_with_zeros.xml new file mode 100644 index 0000000..d8fcee9 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:long + 001 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_zero.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_zero.xml new file mode 100644 index 0000000..1a6b5f1 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_zero.xml @@ -0,0 +1,4 @@ + + xs:long + 0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..0fec0ab --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Long_zero_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:long + 000 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_01.xml new file mode 100644 index 0000000..66d32f5 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + -001 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_02.xml new file mode 100644 index 0000000..039c991 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + -002 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_03.xml new file mode 100644 index 0000000..5b31e0a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + -009 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_04.xml new file mode 100644 index 0000000..cda5198 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + -8 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_05.xml new file mode 100644 index 0000000..e2fa2e0 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + -1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_06.xml new file mode 100644 index 0000000..ddf1619 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + -00000000000000000000000516481 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_07.xml new file mode 100644 index 0000000..064c606 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + -003 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_08.xml new file mode 100644 index 0000000..d5a76b8 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + -00126 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_09.xml new file mode 100644 index 0000000..a897490 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + -01 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_10.xml new file mode 100644 index 0000000..4f07b32 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + -3 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_negative.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_negative.xml new file mode 100644 index 0000000..e2fa2e0 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_negative.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + -1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_prefixed_with_zeros.xml new file mode 100644 index 0000000..66d32f5 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + -001 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_very_large.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_very_large.xml new file mode 100644 index 0000000..caf691e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Negative_integer_very_large.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + -1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_common_example.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_common_example.xml new file mode 100644 index 0000000..c501e8d --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_common_example.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + 1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_explicitly_positive.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_explicitly_positive.xml new file mode 100644 index 0000000..3e59701 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_explicitly_positive.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + +1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_explicitly_positive_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_explicitly_positive_prefixed_with_zeros.xml new file mode 100644 index 0000000..f2c2d90 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_explicitly_positive_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + +001 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_01.xml new file mode 100644 index 0000000..1ab412a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + +4 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_02.xml new file mode 100644 index 0000000..a39ddd8 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + 00018 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_03.xml new file mode 100644 index 0000000..115ef00 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + 22777 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_04.xml new file mode 100644 index 0000000..da0713c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + 22077 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_05.xml new file mode 100644 index 0000000..e3e5463 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + +06 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_06.xml new file mode 100644 index 0000000..05ffd60 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + 09 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_07.xml new file mode 100644 index 0000000..d443d48 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + +3 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_08.xml new file mode 100644 index 0000000..c25d6b9 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + +5739 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_09.xml new file mode 100644 index 0000000..7e45106 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + +70126 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_10.xml new file mode 100644 index 0000000..4f48c40 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + 05688 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_minus_zero.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_minus_zero.xml new file mode 100644 index 0000000..7dc9a43 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_minus_zero.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + -0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_positive_zero.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_positive_zero.xml new file mode 100644 index 0000000..95807f6 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_positive_zero.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + +0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_prefixed_with_zeros.xml new file mode 100644 index 0000000..6f92a8e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + 001 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_very_large.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_very_large.xml new file mode 100644 index 0000000..5c6eb78 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_very_large.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + 1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_zero.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_zero.xml new file mode 100644 index 0000000..7b7ce3c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_zero.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + 0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..8d6a525 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_negative_integer_zero_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + 000 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_explicitly_positive_zero.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_explicitly_positive_zero.xml new file mode 100644 index 0000000..32865f8 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_explicitly_positive_zero.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + +0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_01.xml new file mode 100644 index 0000000..7496744 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + -51 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_02.xml new file mode 100644 index 0000000..012fcab --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + -8908938 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_03.xml new file mode 100644 index 0000000..a542740 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + -553 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_04.xml new file mode 100644 index 0000000..32865f8 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + +0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_05.xml new file mode 100644 index 0000000..4c12198 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + -4006 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_06.xml new file mode 100644 index 0000000..f092ad2 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + -83 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_07.xml new file mode 100644 index 0000000..3bb3089 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + -004 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_08.xml new file mode 100644 index 0000000..c39923a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + -551521749598676413553 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_09.xml new file mode 100644 index 0000000..ac23464 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + -12116166 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_10.xml new file mode 100644 index 0000000..a542740 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + -553 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_negative.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_negative.xml new file mode 100644 index 0000000..b0197f3 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_negative.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + -1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_prefixed_with_zeros.xml new file mode 100644 index 0000000..4be90ec --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + -001 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_very_large.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_very_large.xml new file mode 100644 index 0000000..90d0752 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_very_large.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + -1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_zero.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_zero.xml new file mode 100644 index 0000000..168aed2 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Non_positive_integer_zero.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + 0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_common_example.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_common_example.xml new file mode 100644 index 0000000..5693a64 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_common_example.xml @@ -0,0 +1,4 @@ + + xs:positiveInteger + 1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_explicitly_positive.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_explicitly_positive.xml new file mode 100644 index 0000000..d2f4c7e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_explicitly_positive.xml @@ -0,0 +1,4 @@ + + xs:positiveInteger + +1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_01.xml new file mode 100644 index 0000000..c890b9e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:positiveInteger + 550788 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_02.xml new file mode 100644 index 0000000..42a8fab --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:positiveInteger + 7775 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_03.xml new file mode 100644 index 0000000..c91f64d --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:positiveInteger + +87138 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_04.xml new file mode 100644 index 0000000..d56f205 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:positiveInteger + 8093888718 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_05.xml new file mode 100644 index 0000000..b9450d9 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:positiveInteger + 01145 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_06.xml new file mode 100644 index 0000000..a2b9a57 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:positiveInteger + 01 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_07.xml new file mode 100644 index 0000000..bd883b5 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:positiveInteger + +57345 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_08.xml new file mode 100644 index 0000000..3e25b26 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:positiveInteger + 54691 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_09.xml new file mode 100644 index 0000000..74b774f --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:positiveInteger + +01 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_10.xml new file mode 100644 index 0000000..05976d7 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:positiveInteger + 3 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_prefixed_with_zeros.xml new file mode 100644 index 0000000..759f3fe --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:positiveInteger + 001 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_very_large.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_very_large.xml new file mode 100644 index 0000000..f5e4a8c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Positive_integer_very_large.xml @@ -0,0 +1,4 @@ + + xs:positiveInteger + 1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_common_example.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_common_example.xml new file mode 100644 index 0000000..4f14475 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_common_example.xml @@ -0,0 +1,4 @@ + + xs:short + 1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_explicitly_positive.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_explicitly_positive.xml new file mode 100644 index 0000000..4dc3977 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_explicitly_positive.xml @@ -0,0 +1,4 @@ + + xs:short + +1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_01.xml new file mode 100644 index 0000000..446c918 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:short + 9 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_02.xml new file mode 100644 index 0000000..dab3723 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:short + 01 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_03.xml new file mode 100644 index 0000000..4dc3977 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:short + +1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_04.xml new file mode 100644 index 0000000..c4c7b2f --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:short + 8801 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_05.xml new file mode 100644 index 0000000..301fe6c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:short + 125 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_06.xml new file mode 100644 index 0000000..a1b6389 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:short + 20518 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_07.xml new file mode 100644 index 0000000..dc2a06d --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:short + 60 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_08.xml new file mode 100644 index 0000000..714a7de --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:short + -01 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_09.xml new file mode 100644 index 0000000..951d298 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:short + +31923 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_10.xml new file mode 100644 index 0000000..b4458be --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:short + 22 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_max.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_max.xml new file mode 100644 index 0000000..bd30a09 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_max.xml @@ -0,0 +1,4 @@ + + xs:short + 32767 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_min.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_min.xml new file mode 100644 index 0000000..7fe20d4 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_min.xml @@ -0,0 +1,4 @@ + + xs:short + -32768 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_negative.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_negative.xml new file mode 100644 index 0000000..2fba9dc --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_negative.xml @@ -0,0 +1,4 @@ + + xs:short + -1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_prefixed_with_zeros.xml new file mode 100644 index 0000000..98f10d2 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:short + 001 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_zero.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_zero.xml new file mode 100644 index 0000000..fa28d8f --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_zero.xml @@ -0,0 +1,4 @@ + + xs:short + 0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..744deb7 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Short_zero_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:short + 000 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_empty.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_empty.xml new file mode 100644 index 0000000..baab084 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_empty.xml @@ -0,0 +1,4 @@ + + xs:string + + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_free_form_text.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_free_form_text.xml new file mode 100644 index 0000000..5000e5a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:string + some free & <free> ᦄ form text + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_01.xml new file mode 100644 index 0000000..8d3143a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:string + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_02.xml new file mode 100644 index 0000000..5bd451a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:string + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_03.xml new file mode 100644 index 0000000..be29e73 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:string + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_04.xml new file mode 100644 index 0000000..5ec8a1c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:string + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_05.xml new file mode 100644 index 0000000..35fbdf3 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:string + J5 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_06.xml new file mode 100644 index 0000000..2ee572e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:string + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_07.xml new file mode 100644 index 0000000..be93d49 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:string + 6 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_08.xml new file mode 100644 index 0000000..0c78ce7 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:string + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_09.xml new file mode 100644 index 0000000..4869014 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:string + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_10.xml new file mode 100644 index 0000000..e0f3e7c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/String_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:string + 0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_common_example.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_common_example.xml new file mode 100644 index 0000000..1ef2f6b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_common_example.xml @@ -0,0 +1,4 @@ + + xs:time + 21:32:52 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_01.xml new file mode 100644 index 0000000..d74e5c5 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:time + 24:00:00.00Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_02.xml new file mode 100644 index 0000000..363b9ba --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:time + 01:19:39.4378+10:53 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_03.xml new file mode 100644 index 0000000..5261790 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:time + 01:00:12+14:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_04.xml new file mode 100644 index 0000000..92919b8 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:time + 24:00:00.0Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_05.xml new file mode 100644 index 0000000..1dbd7ed --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:time + 01:10:12+14:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_06.xml new file mode 100644 index 0000000..a747a21 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:time + 24:00:00-14:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_07.xml new file mode 100644 index 0000000..625ecc7 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:time + 20:55:25 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_08.xml new file mode 100644 index 0000000..fa58076 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:time + 24:00:00-10:44 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_09.xml new file mode 100644 index 0000000..319bc60 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:time + 24:00:00-13:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_10.xml new file mode 100644 index 0000000..07ffe87 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:time + 24:00:00.000000+14:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_negative_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_negative_offset.xml new file mode 100644 index 0000000..f22b8f4 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_negative_offset.xml @@ -0,0 +1,4 @@ + + xs:time + 21:32:52-02:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_positive_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_positive_offset.xml new file mode 100644 index 0000000..113df99 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_positive_offset.xml @@ -0,0 +1,4 @@ + + xs:time + 21:32:52+02:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_with_long_second_fractional.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_with_long_second_fractional.xml new file mode 100644 index 0000000..3aa62c5 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_with_long_second_fractional.xml @@ -0,0 +1,4 @@ + + xs:time + 21:32:52.12345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_with_second_fractional.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_with_second_fractional.xml new file mode 100644 index 0000000..42cbc42 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_with_second_fractional.xml @@ -0,0 +1,4 @@ + + xs:time + 21:32:52.12679 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_with_utc_timezone.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_with_utc_timezone.xml new file mode 100644 index 0000000..3ecd7cb --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_with_utc_timezone.xml @@ -0,0 +1,4 @@ + + xs:time + 19:32:52Z + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_zero_offset.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_zero_offset.xml new file mode 100644 index 0000000..52298aa --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Time_zero_offset.xml @@ -0,0 +1,4 @@ + + xs:time + 21:32:52+00:00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_common_example.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_common_example.xml new file mode 100644 index 0000000..c9c46e1 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_common_example.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + 1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_explicitly_positive.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_explicitly_positive.xml new file mode 100644 index 0000000..3f7ed1f --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_explicitly_positive.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + +1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_01.xml new file mode 100644 index 0000000..416c682 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + 0000000000000000000000000000067 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_02.xml new file mode 100644 index 0000000..73bf390 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + +130 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_03.xml new file mode 100644 index 0000000..57c6fa2 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + 232 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_04.xml new file mode 100644 index 0000000..a31a259 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + +110 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_05.xml new file mode 100644 index 0000000..1adf6ff --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + +000000000012 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_06.xml new file mode 100644 index 0000000..7bccc70 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + 055 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_07.xml new file mode 100644 index 0000000..476db52 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + 031 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_08.xml new file mode 100644 index 0000000..97af575 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + 0178 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_09.xml new file mode 100644 index 0000000..efc59df --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + +00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_10.xml new file mode 100644 index 0000000..75552b2 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + +00000006 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_max.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_max.xml new file mode 100644 index 0000000..a51218e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_max.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + 255 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_prefixed_with_zeros.xml new file mode 100644 index 0000000..052b439 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + 001 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_zero.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_zero.xml new file mode 100644 index 0000000..15686c0 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_zero.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + 0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..f85fbb0 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_byte_zero_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + 000 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_common_example.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_common_example.xml new file mode 100644 index 0000000..5a1fc14 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_common_example.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + 1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_explicitly_positive.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_explicitly_positive.xml new file mode 100644 index 0000000..93783e4 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_explicitly_positive.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + +1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_01.xml new file mode 100644 index 0000000..9b9fdeb --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + +000832736002 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_02.xml new file mode 100644 index 0000000..6da3c1e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + 0454 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_03.xml new file mode 100644 index 0000000..c1ea57e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + 0000000000001161715506 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_04.xml new file mode 100644 index 0000000..c63d9ee --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + +0006096840 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_05.xml new file mode 100644 index 0000000..f011613 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + 8547 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_06.xml new file mode 100644 index 0000000..f4f08d6 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + +092843 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_07.xml new file mode 100644 index 0000000..40b9eae --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + +44 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_08.xml new file mode 100644 index 0000000..096eff4 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + +0881299729 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_09.xml new file mode 100644 index 0000000..60a9a65 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + +00604 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_10.xml new file mode 100644 index 0000000..ceb1bb4 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + +000101 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_max.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_max.xml new file mode 100644 index 0000000..c7ee762 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_max.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + 4294967295 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_prefixed_with_zeros.xml new file mode 100644 index 0000000..305ceb5 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + 001 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_zero.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_zero.xml new file mode 100644 index 0000000..d0f7d61 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_zero.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + 0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..98573f9 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_int_zero_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + 000 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_common_example.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_common_example.xml new file mode 100644 index 0000000..911d41c --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_common_example.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + 1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_explicitly_positive.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_explicitly_positive.xml new file mode 100644 index 0000000..9c0290d --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_explicitly_positive.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + +1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_01.xml new file mode 100644 index 0000000..578d8e7 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + 00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_02.xml new file mode 100644 index 0000000..2af63b9 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + +0013081 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_03.xml new file mode 100644 index 0000000..c0a10e9 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + +00008773 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_04.xml new file mode 100644 index 0000000..5779050 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + +000000858 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_05.xml new file mode 100644 index 0000000..52fd8cd --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + +000000000002599 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_06.xml new file mode 100644 index 0000000..3cb387b --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + +0257364527 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_07.xml new file mode 100644 index 0000000..13cdc49 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + +000000038893 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_08.xml new file mode 100644 index 0000000..d145cb5 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + +0000000000000111491 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_09.xml new file mode 100644 index 0000000..77a6d04 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + +09 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_10.xml new file mode 100644 index 0000000..e1ee3c4 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + 0012208354443 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_max.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_max.xml new file mode 100644 index 0000000..71f5ba0 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_max.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + 18446744073709551615 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_prefixed_with_zeros.xml new file mode 100644 index 0000000..f683ce0 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + 001 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_zero.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_zero.xml new file mode 100644 index 0000000..85dcca0 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_zero.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + 0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..b877bd1 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_long_zero_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + 000 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_common_example.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_common_example.xml new file mode 100644 index 0000000..d52a8bb --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_common_example.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + 1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_explicitly_positive.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_explicitly_positive.xml new file mode 100644 index 0000000..14cc254 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_explicitly_positive.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + +1 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_01.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_01.xml new file mode 100644 index 0000000..7debb8e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + +00 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_02.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_02.xml new file mode 100644 index 0000000..3596db1 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_02.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + 06949 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_03.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_03.xml new file mode 100644 index 0000000..b5dfc0e --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + 0391 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_04.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_04.xml new file mode 100644 index 0000000..dcce8ca --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + +000004 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_05.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_05.xml new file mode 100644 index 0000000..b252780 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + 00000000391 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_06.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_06.xml new file mode 100644 index 0000000..71ff4e9 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + +085 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_07.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_07.xml new file mode 100644 index 0000000..9d259fe --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_07.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + 10233 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_08.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_08.xml new file mode 100644 index 0000000..9c979e1 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + 044598 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_09.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_09.xml new file mode 100644 index 0000000..8f4c05a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_09.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + +00066 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_10.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_10.xml new file mode 100644 index 0000000..095ef10 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + +00000000000000000000003250 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_max.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_max.xml new file mode 100644 index 0000000..60bd755 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_max.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + 65535 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_prefixed_with_zeros.xml new file mode 100644 index 0000000..31c0677 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + 001 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_zero.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_zero.xml new file mode 100644 index 0000000..550b8d2 --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_zero.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + 0 + diff --git a/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..6f3cd1a --- /dev/null +++ b/dev/test_data/Xml/Expected/property/valueOverValueExamples/Unsigned_short_zero_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + 000 + diff --git a/dev/test_data/Xml/Expected/qualifier/maximal.xml b/dev/test_data/Xml/Expected/qualifier/maximal.xml new file mode 100644 index 0000000..9389d43 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/maximal.xml @@ -0,0 +1,53 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + ValueQualifier + 6 + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Expected/qualifier/minimal.xml b/dev/test_data/Xml/Expected/qualifier/minimal.xml new file mode 100644 index 0000000..74855b2 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/minimal.xml @@ -0,0 +1,4 @@ + + something_86027eb8 + xs:gDay + diff --git a/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..a7dd0cb --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + xs:gDay + diff --git a/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..d0101b5 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + 𠤢4𠤢 + xs:gDay + diff --git a/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..2d74713 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + [\h$񒺟ìÖċŠ1¿ + xs:gDay + diff --git a/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..621701b --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + öĖa􍣡™| + xs:gDay + diff --git a/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..bca1955 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,4 @@ + + J5 + xs:gDay + diff --git a/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..4465634 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,4 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + diff --git a/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..ff2ca40 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,4 @@ + + 6 + xs:gDay + diff --git a/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..ff64ecf --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,4 @@ + + 򤑌M𪠇𛔊򂄲 + xs:gDay + diff --git a/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..0f5fe6d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,4 @@ + + <ă<P󨱽²|dnœÞ® + xs:gDay + diff --git a/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..d5f4170 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/typeOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,4 @@ + + 0 + xs:gDay + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_URI.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_URI.xml new file mode 100644 index 0000000..cae71aa --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_URI.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + https://github.com/aas-core-works/aas-core-codegen + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_absolute_path_without_scheme.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_absolute_path_without_scheme.xml new file mode 100644 index 0000000..3856793 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_absolute_path_without_scheme.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + /path/to/somewhere + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_empty.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_empty.xml new file mode 100644 index 0000000..9a493c4 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_01.xml new file mode 100644 index 0000000..4c6385b --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + # + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_02.xml new file mode 100644 index 0000000..355324d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + //[d6FA:c:8b:4:7:be7:aD:C8C]:/~.49:f%Fee;%9D%58L/Q%ea'+Q%eb:&%7C,t:;a,@&%dB%2D%Ba&%bF%BF,;%06G%a0%bfk%7b&@&@1@=+%fE6%FF2j4;$;=,%Da$=R%17s+2%68;/v%Ca%a0&$d%Fd7%58@%a0%54D%0BA%00Bw%a59:6;;/%f1:;t%98$J0:Y;?%8Dx:%aC&$/S/L%A5u + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_03.xml new file mode 100644 index 0000000..1c5f824 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + A:// + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_04.xml new file mode 100644 index 0000000..9a493c4 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_05.xml new file mode 100644 index 0000000..054f5a0 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + #;+; + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_06.xml new file mode 100644 index 0000000..febda66 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + //@fr+%64@/%C5vw%A8N/%9f;%59%Ea%A9%Dd?#[= + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_07.xml new file mode 100644 index 0000000..7eddf0e --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + q%7E~@$=l#%f6,&;& + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_08.xml new file mode 100644 index 0000000..3779eff --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + j.:/%dd;=%78%Eaui;j/aTF&%Fd%9A9K;%f8-;;'4!C;,:C/=;k%b4;%09;;C%74%3a,2%C09;%127%5C;%81%d09/+;/%65%41%a0,@%34C_;%6E*;;%42%D9;%BA7%7EY%D4;%60Z=,/:+;$E&+$%Db4'%F2%7E;'+6-r$%64-;l%85%Eb%Ec+%ae/;=$-;;.%02L;,;%3Bj%a2:&@%3Ak$:;%CB;,(h(::=%b1;$+5&%810%04%3e,@$%60:G+%2d%c8%A4%01%5c,=&:O'CG%Eb@isa%2A+&$$%8D7X.+v)%Ed;3%6eo%DB&;7@%86n=9%aC%02;;k%bDH;%C0%BB;%c9,KF%De&%0A%6fP$:%9B%f5H%b8/T;%01$,%dD%8A%6B!/;,++;=;;%8dk$%0F%FB;;N%6B@;Om$%00# + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_09.xml new file mode 100644 index 0000000..309a73d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + #b%39DX%f9a%76u%da%A1@%a9%D3n + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_10.xml new file mode 100644 index 0000000..361c741 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + ///%6B%0EX%9f-=++$:3%9az+,c&%3F:'Sx%3d%00:%7f%40:%08,;%5b%90%A1c;(;$:$y+%5b/=t%40+H+a@%E7$G%58;:+R$g$-yT%08&:,%fB;%F5b@;%Eb3%0C%A3n%4A%7dBf%75%2F%fc;vZ-%aFV$;%3a&;;=%fC;;~@+/=%A4# + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_integer.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_integer.xml new file mode 100644 index 0000000..d63ca17 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_integer.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + 1234 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_relative_path_without_scheme.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_relative_path_without_scheme.xml new file mode 100644 index 0000000..f88d673 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Any_URI_relative_path_without_scheme.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + path/to/somewhere + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_an_empty_value_is_valid.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_an_empty_value_is_valid.xml new file mode 100644 index 0000000..c831795 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_an_empty_value_is_valid.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_equals_signs_are_used_for_padding.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_equals_signs_are_used_for_padding.xml new file mode 100644 index 0000000..02f2c87 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_equals_signs_are_used_for_padding.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + 0F+40A== + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_01.xml new file mode 100644 index 0000000..47692c1 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + RJ I k 7 c /F / 1 J8F o 0ivZ v AE 3bj ASP y PI k+ 1 fku W 5M= + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_02.xml new file mode 100644 index 0000000..b030e73 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + Ie 9 20 Y F 5 Ve9 Y c 0W rH p 2 FQaS /xw /t RtE= + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_03.xml new file mode 100644 index 0000000..3986136 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + n3wT + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_04.xml new file mode 100644 index 0000000..cc223eb --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + wfw E + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_05.xml new file mode 100644 index 0000000..00678ad --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + jj5 n + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_06.xml new file mode 100644 index 0000000..06f650e --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + j j5 n + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_07.xml new file mode 100644 index 0000000..6b70ba5 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + S w SO 5 S5r + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_08.xml new file mode 100644 index 0000000..625b6d7 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + UBU iUBU iQ n cy q 7wK + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_09.xml new file mode 100644 index 0000000..d153c80 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + HU UH + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_10.xml new file mode 100644 index 0000000..7a35164 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + 00000000 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_whitespace_is_allowed_anywhere_in_the_value.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_whitespace_is_allowed_anywhere_in_the_value.xml new file mode 100644 index 0000000..e3e14d4 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_whitespace_is_allowed_anywhere_in_the_value.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + 0 FB8 0F+9 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_without_space_lowercase.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_without_space_lowercase.xml new file mode 100644 index 0000000..45b9dbd --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_without_space_lowercase.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + 0fb8 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_without_space_uppercase.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_without_space_uppercase.xml new file mode 100644 index 0000000..fe261d9 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Base_64_binary_without_space_uppercase.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + 0FB8 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Boolean_false_as_number.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Boolean_false_as_number.xml new file mode 100644 index 0000000..ad1815f --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Boolean_false_as_number.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:boolean + 0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Boolean_false_in_letters.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Boolean_false_in_letters.xml new file mode 100644 index 0000000..5d04fcb --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Boolean_false_in_letters.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:boolean + false + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Boolean_true_as_number.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Boolean_true_as_number.xml new file mode 100644 index 0000000..6910bed --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Boolean_true_as_number.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:boolean + 1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Boolean_true_in_letters.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Boolean_true_in_letters.xml new file mode 100644 index 0000000..d39dfeb --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Boolean_true_in_letters.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:boolean + true + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_common_example.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_common_example.xml new file mode 100644 index 0000000..2572ea0 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_common_example.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + 1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_explicitly_positive.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_explicitly_positive.xml new file mode 100644 index 0000000..1ee778e --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_explicitly_positive.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + +1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_01.xml new file mode 100644 index 0000000..9276fed --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + 05 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_02.xml new file mode 100644 index 0000000..8aba846 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + 000110 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_03.xml new file mode 100644 index 0000000..b9edcad --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + +00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_04.xml new file mode 100644 index 0000000..b744f73 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + -108 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_05.xml new file mode 100644 index 0000000..f18f05e --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + 0001 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_06.xml new file mode 100644 index 0000000..17be315 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + 103 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_07.xml new file mode 100644 index 0000000..42eb56d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + 06 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_08.xml new file mode 100644 index 0000000..82f94e0 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + +0000002 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_09.xml new file mode 100644 index 0000000..a7e4159 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + 000000006 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_10.xml new file mode 100644 index 0000000..18180b5 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + -00011 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_max.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_max.xml new file mode 100644 index 0000000..fa4238e --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_max.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + 127 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_min.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_min.xml new file mode 100644 index 0000000..9ed9abe --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_min.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + -128 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_negative.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_negative.xml new file mode 100644 index 0000000..54f06cd --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_negative.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + -1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_prefixed_with_zeros.xml new file mode 100644 index 0000000..d9b28c7 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + 001 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_zero.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_zero.xml new file mode 100644 index 0000000..a3b301d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_zero.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + 0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..61c98f9 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Byte_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + 000 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date.xml new file mode 100644 index 0000000..ca5a8a1 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + 2022-04-01 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_large_negative_year.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_large_negative_year.xml new file mode 100644 index 0000000..c87fcaa --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_large_negative_year.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + -12345678901234567890123456789012345678901234567890-04-01 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_large_positive_year.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_large_positive_year.xml new file mode 100644 index 0000000..c21369e --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_large_positive_year.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + 12345678901234567890123456789012345678901234567890-04-01 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_negative_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_negative_offset.xml new file mode 100644 index 0000000..17832f8 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_negative_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + 2022-04-01-02:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_positive_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_positive_offset.xml new file mode 100644 index 0000000..eaf1a81 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_positive_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + 2022-04-01+02:34 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_utc.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_utc.xml new file mode 100644 index 0000000..9617820 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_utc.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + 2022-04-01Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_zero_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_zero_offset.xml new file mode 100644 index 0000000..ec25e84 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_date_with_zero_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + 2022-04-01+00:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_01.xml new file mode 100644 index 0000000..b1a7aab --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + 0705-04-10+14:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_02.xml new file mode 100644 index 0000000..aca539f --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + -0236-12-31Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_03.xml new file mode 100644 index 0000000..2a53bb3 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + 9088-11-06 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_04.xml new file mode 100644 index 0000000..5ddf2a6 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + -7506-08-02 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_05.xml new file mode 100644 index 0000000..62948bb --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + -3637143-04-09 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_06.xml new file mode 100644 index 0000000..6d882d8 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + -0311-11-30 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_07.xml new file mode 100644 index 0000000..5da2b80 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + -0844-11-30 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_08.xml new file mode 100644 index 0000000..b8e5d35 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + 0111-04-04 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_09.xml new file mode 100644 index 0000000..c7204c6 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + 0412-04-08-10:58 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_10.xml new file mode 100644 index 0000000..dc5e43a --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + 0520-01-01 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_UTC.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_UTC.xml new file mode 100644 index 0000000..f9c2c4c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_UTC.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 2022-04-01T01:02:03Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_large_negative_year.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_large_negative_year.xml new file mode 100644 index 0000000..0966cba --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_large_negative_year.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + -12345678901234567890123456789012345678901234567890-04-01T01:02:03 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_large_positive_year.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_large_positive_year.xml new file mode 100644 index 0000000..dc30596 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_large_positive_year.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 12345678901234567890123456789012345678901234567890-04-01T01:02:03 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_long_fractional_seconds.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_long_fractional_seconds.xml new file mode 100644 index 0000000..28f82c8 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_long_fractional_seconds.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 2022-04-01T01:02:03.0123456789Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_negative_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_negative_offset.xml new file mode 100644 index 0000000..db6b70d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_negative_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 2022-04-01T01:02:03+00:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_positive_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_positive_offset.xml new file mode 100644 index 0000000..281f5a6 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_positive_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 2022-04-01T01:02:03+02:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_zero_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_zero_offset.xml new file mode 100644 index 0000000..db6b70d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_with_zero_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 2022-04-01T01:02:03+00:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_without_zone.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_without_zone.xml new file mode 100644 index 0000000..d1d7537 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_date_time_without_zone.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 2022-04-01T01:02:03 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_01.xml new file mode 100644 index 0000000..0791804 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + -0811-10-21T24:00:00.000000Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_02.xml new file mode 100644 index 0000000..c47858c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + -0819-11-21T24:00:00.00Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_03.xml new file mode 100644 index 0000000..a616bc6 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + -665280014-06-30T21:15:16Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_04.xml new file mode 100644 index 0000000..8095e1c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + -0811-11-21T24:00:00.0000Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_05.xml new file mode 100644 index 0000000..c792514 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 0532-09-07T18:47:52+14:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_06.xml new file mode 100644 index 0000000..35fb64d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 0707-11-02T24:00:00.00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_07.xml new file mode 100644 index 0000000..2fecd66 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + -0003-12-20T22:53:54.02567 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_08.xml new file mode 100644 index 0000000..d4b0d15 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + -1092-02-25T24:00:00.0000 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_09.xml new file mode 100644 index 0000000..4c410af --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + -6602-06-30T24:00:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_10.xml new file mode 100644 index 0000000..3615bbf --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + -2111111-08-31T23:58:19.269348 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_midnight_with_24_hours.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_midnight_with_24_hours.xml new file mode 100644 index 0000000..5e2f206 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_midnight_with_24_hours.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 2022-04-01T24:00:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_midnight_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_midnight_with_zeros.xml new file mode 100644 index 0000000..83bd8a2 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_midnight_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 2022-04-01T00:00:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_year_1_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_year_1_bce_is_a_leap_year.xml new file mode 100644 index 0000000..82b5447 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_year_1_bce_is_a_leap_year.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + -0001-02-29T01:02:03 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_year_5_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_year_5_bce_is_a_leap_year.xml new file mode 100644 index 0000000..a78a579 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_time_year_5_bce_is_a_leap_year.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + -0005-02-29T01:02:03 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_year_1_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_year_1_bce_is_a_leap_year.xml new file mode 100644 index 0000000..20e940d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_year_1_bce_is_a_leap_year.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + -0001-02-29 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_year_5_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_year_5_bce_is_a_leap_year.xml new file mode 100644 index 0000000..475a952 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Date_year_5_bce_is_a_leap_year.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + -0005-02-29 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_decimal.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_decimal.xml new file mode 100644 index 0000000..67177ae --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_decimal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:decimal + 1234.01234 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_decimal_with_long_fractional.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_decimal_with_long_fractional.xml new file mode 100644 index 0000000..4156188 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_decimal_with_long_fractional.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:decimal + 1234.1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_decimal_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_decimal_with_preceding_zeros.xml new file mode 100644 index 0000000..905c330 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_decimal_with_preceding_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:decimal + 0001234.01234 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_01.xml new file mode 100644 index 0000000..8e6ab8c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:decimal + .33324 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_02.xml new file mode 100644 index 0000000..187fcef --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:decimal + 01195 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_03.xml new file mode 100644 index 0000000..f52bd37 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:decimal + +875 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_04.xml new file mode 100644 index 0000000..f10b69d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:decimal + -8 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_05.xml new file mode 100644 index 0000000..696f1b0 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:decimal + -0.0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_06.xml new file mode 100644 index 0000000..9185981 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:decimal + -13522106 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_07.xml new file mode 100644 index 0000000..5d05b6d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:decimal + +10 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_08.xml new file mode 100644 index 0000000..27f25fa --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:decimal + -030725 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_09.xml new file mode 100644 index 0000000..a93b4b5 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:decimal + .3 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_10.xml new file mode 100644 index 0000000..9e9b731 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:decimal + 0061707 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_integer.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_integer.xml new file mode 100644 index 0000000..e960bc1 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_integer.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:decimal + 1234 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_integer_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_integer_with_preceding_zeros.xml new file mode 100644 index 0000000..10d221a --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_integer_with_preceding_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:decimal + 0001234 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_very_large_decimal.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_very_large_decimal.xml new file mode 100644 index 0000000..c2f2188 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Decimal_very_large_decimal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:decimal + 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.12345678901234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_double.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_double.xml new file mode 100644 index 0000000..d66fa84 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_double.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + 1234.01234 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_01.xml new file mode 100644 index 0000000..9d7d2c3 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + .1118 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_02.xml new file mode 100644 index 0000000..e291961 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + -.662 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_03.xml new file mode 100644 index 0000000..39e2c21 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + .0E0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_04.xml new file mode 100644 index 0000000..c765d2f --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + .4 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_05.xml new file mode 100644 index 0000000..b1d4026 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + .11 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_06.xml new file mode 100644 index 0000000..a3e38f9 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + +76E-86 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_07.xml new file mode 100644 index 0000000..e291961 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + -.662 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_08.xml new file mode 100644 index 0000000..200c5cb --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + 1e+7 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_09.xml new file mode 100644 index 0000000..b073445 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + -.66E-45 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_10.xml new file mode 100644 index 0000000..05ffeb8 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + 140206134 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_inf.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_inf.xml new file mode 100644 index 0000000..d76866f --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_inf.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + INF + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_integer.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_integer.xml new file mode 100644 index 0000000..fddbc47 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_integer.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + 1234 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_integer_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_integer_with_preceding_zeros.xml new file mode 100644 index 0000000..934ea59 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_integer_with_preceding_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + 0001234 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_loss_of_precision_is_not_detected_by_design.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_loss_of_precision_is_not_detected_by_design.xml new file mode 100644 index 0000000..4aba3cb --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_loss_of_precision_is_not_detected_by_design.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + 1234.1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_lowest.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_lowest.xml new file mode 100644 index 0000000..ab6ca35 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_lowest.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_max.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_max.xml new file mode 100644 index 0000000..3f10cff --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_max.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_minus_inf.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_minus_inf.xml new file mode 100644 index 0000000..160f7e3 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_minus_inf.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + -INF + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_nan.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_nan.xml new file mode 100644 index 0000000..7f46253 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_nan.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + NaN + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_scientific_notation.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_scientific_notation.xml new file mode 100644 index 0000000..d15e195 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_scientific_notation.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + 12.34e56 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_scientific_notation_negative.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_scientific_notation_negative.xml new file mode 100644 index 0000000..932d1df --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_scientific_notation_negative.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + -12.34e56 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_scientific_notation_negative_exponent.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_scientific_notation_negative_exponent.xml new file mode 100644 index 0000000..ae2b460 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_scientific_notation_negative_exponent.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + 12.34e-56 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_scientific_notation_positive.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_scientific_notation_positive.xml new file mode 100644 index 0000000..411caa8 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_scientific_notation_positive.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + +12.34e56 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_scientific_notation_positive_exponent.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_scientific_notation_positive_exponent.xml new file mode 100644 index 0000000..a3030db --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_scientific_notation_positive_exponent.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + 12.34e+56 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_very_large_normal.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_very_large_normal.xml new file mode 100644 index 0000000..383c932 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_very_large_normal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + 2e307 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_very_precise_subnormal.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_very_precise_subnormal.xml new file mode 100644 index 0000000..89601e1 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_very_precise_subnormal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + 2e-307 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_with_preceding_zeros.xml new file mode 100644 index 0000000..a27cc19 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Double_with_preceding_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + 0001234.01234 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_day_seconds.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_day_seconds.xml new file mode 100644 index 0000000..7a18b0d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_day_seconds.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + P1DT2S + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_full.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_full.xml new file mode 100644 index 0000000..b05dfe1 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_full.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + P1Y2M3DT5H20M30.123S + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_01.xml new file mode 100644 index 0000000..0915f34 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + -P009D + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_02.xml new file mode 100644 index 0000000..6381da8 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + P5Y36660767143M + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_03.xml new file mode 100644 index 0000000..cc9f203 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + -PT01332.1S + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_04.xml new file mode 100644 index 0000000..5726f49 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + -P11DT142M + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_05.xml new file mode 100644 index 0000000..aaac322 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + PT88M48936316289.34291243605107045S + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_06.xml new file mode 100644 index 0000000..fd11f19 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + -P1M923D + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_07.xml new file mode 100644 index 0000000..4919e9f --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + -PT0.332S + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_08.xml new file mode 100644 index 0000000..9714d1a --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + -PT313148178698146281H866062127724898M + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_09.xml new file mode 100644 index 0000000..a9633fe --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + -PT1.5375209S + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_10.xml new file mode 100644 index 0000000..138d86e --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + PT18688M + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_long_second_fractal.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_long_second_fractal.xml new file mode 100644 index 0000000..82b611f --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_long_second_fractal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + PT1.12345678901234567890123456789012345678901234567890123456789012345678901234567890S + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_many_many_seconds.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_many_many_seconds.xml new file mode 100644 index 0000000..b007b98 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_many_many_seconds.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + PT12345678901234567890123456789012345678901234567890123456789012345678901234567890S + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_month_seconds.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_month_seconds.xml new file mode 100644 index 0000000..3ce6c8b --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_month_seconds.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + PT2M10S + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_only_seconds.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_only_seconds.xml new file mode 100644 index 0000000..ee0a930 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_only_seconds.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + PT130S + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_only_year.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_only_year.xml new file mode 100644 index 0000000..e4de0bc --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Duration_only_year.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + -P1Y + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_float.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_float.xml new file mode 100644 index 0000000..7b56e63 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_float.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + 1234.01234 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_01.xml new file mode 100644 index 0000000..a44fcf8 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + -.80E0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_02.xml new file mode 100644 index 0000000..fba2f14 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + -147E7 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_03.xml new file mode 100644 index 0000000..13dbbc3 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + 18 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_04.xml new file mode 100644 index 0000000..78a17bd --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + .1532E+16 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_05.xml new file mode 100644 index 0000000..d994273 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + +44.6393 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_06.xml new file mode 100644 index 0000000..7c66fe9 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + .5885e-29 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_07.xml new file mode 100644 index 0000000..6ca5ce9 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + 1e-7 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_08.xml new file mode 100644 index 0000000..cb2b33c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + +732.55619 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_09.xml new file mode 100644 index 0000000..7d17200 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + .1E05 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_10.xml new file mode 100644 index 0000000..22a3253 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + 1102 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_inf.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_inf.xml new file mode 100644 index 0000000..1a43f98 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_inf.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + INF + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_integer.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_integer.xml new file mode 100644 index 0000000..362a380 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_integer.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + 1234 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_integer_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_integer_with_preceding_zeros.xml new file mode 100644 index 0000000..0f1f930 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_integer_with_preceding_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + 0001234 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_largest_normal.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_largest_normal.xml new file mode 100644 index 0000000..553cec9 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_largest_normal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + 340282346638528859811704183484516925440 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_largest_number_less_than_one.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_largest_number_less_than_one.xml new file mode 100644 index 0000000..ffbc76c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_largest_number_less_than_one.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + 0.999999940395355224609375 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_largest_subnormal.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_largest_subnormal.xml new file mode 100644 index 0000000..db0db8c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_largest_subnormal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + 0.00000000000000000000000000000000000001175494210692441075487029444849287348827052428745893333857174530571588870475618904265502351336181163787841796875 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_loss_of_precision_is_not_detected_by_design.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_loss_of_precision_is_not_detected_by_design.xml new file mode 100644 index 0000000..e8ea1ff --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_loss_of_precision_is_not_detected_by_design.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + 1234.1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_nan.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_nan.xml new file mode 100644 index 0000000..4d2f5a1 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_nan.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + NaN + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_negative_inf.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_negative_inf.xml new file mode 100644 index 0000000..df850c2 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_negative_inf.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + -INF + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_scientific_notation.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_scientific_notation.xml new file mode 100644 index 0000000..d462105 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_scientific_notation.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + 12.34e16 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_scientific_notation_negative.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_scientific_notation_negative.xml new file mode 100644 index 0000000..62385bd --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_scientific_notation_negative.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + -12.34e16 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_scientific_notation_negative_exponent.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_scientific_notation_negative_exponent.xml new file mode 100644 index 0000000..ee6fe87 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_scientific_notation_negative_exponent.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + 12.34e-16 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_scientific_notation_positive.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_scientific_notation_positive.xml new file mode 100644 index 0000000..51e25a4 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_scientific_notation_positive.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + +12.34e16 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_scientific_notation_positive_exponent.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_scientific_notation_positive_exponent.xml new file mode 100644 index 0000000..fe8a628 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_scientific_notation_positive_exponent.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + 12.34e+16 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_smallest_number_larger_than_one.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_smallest_number_larger_than_one.xml new file mode 100644 index 0000000..db96f0f --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_smallest_number_larger_than_one.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + 1.00000011920928955078125 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_smallest_positive_normal.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_smallest_positive_normal.xml new file mode 100644 index 0000000..9651f58 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_smallest_positive_normal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + 0.000000000000000000000000000000000000011754943508222875079687365372222456778186655567720875215087517062784172594547271728515625 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_smallest_positive_subnormal.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_smallest_positive_subnormal.xml new file mode 100644 index 0000000..ee1f389 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_smallest_positive_subnormal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + 0.00000000000000000000000000000000000000000000140129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_with_preceding_zeros.xml new file mode 100644 index 0000000..666806e --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Float_with_preceding_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + 0001234.01234 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_day_not_existing_in_all_months_without_zone.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_day_not_existing_in_all_months_without_zone.xml new file mode 100644 index 0000000..29ca8ab --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_day_not_existing_in_all_months_without_zone.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---31 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_double_digit_day_without_zone.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_double_digit_day_without_zone.xml new file mode 100644 index 0000000..06fef91 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_double_digit_day_without_zone.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---15 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_01.xml new file mode 100644 index 0000000..e258222 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---23Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_02.xml new file mode 100644 index 0000000..10208f4 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---24 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_03.xml new file mode 100644 index 0000000..b167bde --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---10 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_04.xml new file mode 100644 index 0000000..f713f40 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---30-14:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_05.xml new file mode 100644 index 0000000..f31fe1b --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---31-09:25 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_06.xml new file mode 100644 index 0000000..76b142f --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---17Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_07.xml new file mode 100644 index 0000000..cc3207a --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---30+00:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_08.xml new file mode 100644 index 0000000..fd7b761 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---30-10:11 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_09.xml new file mode 100644 index 0000000..35e01ee --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---22Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_10.xml new file mode 100644 index 0000000..9e2a326 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---30Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_negative_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_negative_offset.xml new file mode 100644 index 0000000..da0d977 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_negative_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---01-04:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_positive_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_positive_offset.xml new file mode 100644 index 0000000..607bea7 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_positive_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---01+02:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_single_digit_day_without_zone.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_single_digit_day_without_zone.xml new file mode 100644 index 0000000..c634f3c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_single_digit_day_without_zone.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---01 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_utc_zone.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_utc_zone.xml new file mode 100644 index 0000000..af329e3 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_utc_zone.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---01Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_zero_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_zero_offset.xml new file mode 100644 index 0000000..93bf931 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_day_zero_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---01+00:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_double_digit_month_double_digit_day_without_zone.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_double_digit_month_double_digit_day_without_zone.xml new file mode 100644 index 0000000..006de9a --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_double_digit_month_double_digit_day_without_zone.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --11-14 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_double_digit_month_single_digit_day_without_zone.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_double_digit_month_single_digit_day_without_zone.xml new file mode 100644 index 0000000..c8b447d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_double_digit_month_single_digit_day_without_zone.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --11-01 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_february_29th_which_does_not_exist_in_all_years.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_february_29th_which_does_not_exist_in_all_years.xml new file mode 100644 index 0000000..9d0ff7c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_february_29th_which_does_not_exist_in_all_years.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --02-29 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_01.xml new file mode 100644 index 0000000..e28e686 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --11-20 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_02.xml new file mode 100644 index 0000000..f76aebc --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --12-06 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_03.xml new file mode 100644 index 0000000..182f46b --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --12-01 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_04.xml new file mode 100644 index 0000000..454f1b9 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --11-21+14:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_05.xml new file mode 100644 index 0000000..25f9266 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --10-07 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_06.xml new file mode 100644 index 0000000..b672a25 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --10-30 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_07.xml new file mode 100644 index 0000000..741d098 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --12-27 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_08.xml new file mode 100644 index 0000000..c39f99a --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --04-30 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_09.xml new file mode 100644 index 0000000..936c517 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --10-10-14:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_10.xml new file mode 100644 index 0000000..777fa49 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --10-11Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_negative_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_negative_offset.xml new file mode 100644 index 0000000..9a4160a --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_negative_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --11-01-04:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_positive_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_positive_offset.xml new file mode 100644 index 0000000..547b900 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_positive_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --11-01+02:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_single_digit_month_single_digit_day_without_zone.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_single_digit_month_single_digit_day_without_zone.xml new file mode 100644 index 0000000..a6a848e --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_single_digit_month_single_digit_day_without_zone.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --05-01 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_utc_zone.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_utc_zone.xml new file mode 100644 index 0000000..7a634e7 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_utc_zone.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --11-01Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_zero_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_zero_offset.xml new file mode 100644 index 0000000..547b900 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_day_zero_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --11-01+02:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_double_digit_month_without_zone.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_double_digit_month_without_zone.xml new file mode 100644 index 0000000..e5304e7 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_double_digit_month_without_zone.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --11 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_01.xml new file mode 100644 index 0000000..a154a15 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --11-13:34 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_02.xml new file mode 100644 index 0000000..5efa06b --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --10+14:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_03.xml new file mode 100644 index 0000000..f01619a --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --10+07:39 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_04.xml new file mode 100644 index 0000000..ea0e417 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --11-05:22 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_05.xml new file mode 100644 index 0000000..9ec4158 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --01 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_06.xml new file mode 100644 index 0000000..447857a --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --12Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_07.xml new file mode 100644 index 0000000..9a0e365 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --10-13:30 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_08.xml new file mode 100644 index 0000000..acaa204 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --07 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_09.xml new file mode 100644 index 0000000..3fe9d82 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --11-10:05 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_10.xml new file mode 100644 index 0000000..e692e49 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --11+12:33 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_negative_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_negative_offset.xml new file mode 100644 index 0000000..07d216d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_negative_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --11-04:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_positive_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_positive_offset.xml new file mode 100644 index 0000000..dce5f31 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_positive_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --11+02:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_single_digit_month_without_zone.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_single_digit_month_without_zone.xml new file mode 100644 index 0000000..64b66e0 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_single_digit_month_without_zone.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --05 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_utc_zone.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_utc_zone.xml new file mode 100644 index 0000000..53113ee --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_utc_zone.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --11Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_zero_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_zero_offset.xml new file mode 100644 index 0000000..8daeac2 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_month_zero_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --11+00:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_five_digit_negative_year.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_five_digit_negative_year.xml new file mode 100644 index 0000000..0871675 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_five_digit_negative_year.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + -20000 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_five_digit_year.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_five_digit_year.xml new file mode 100644 index 0000000..0a37cce --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_five_digit_year.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + 20000 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_01.xml new file mode 100644 index 0000000..1cae678 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + 0740-07:36 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_02.xml new file mode 100644 index 0000000..e340442 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + 125774274 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_03.xml new file mode 100644 index 0000000..c2f3c6e --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + -0444 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_04.xml new file mode 100644 index 0000000..619b2b3 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + 0000 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_05.xml new file mode 100644 index 0000000..67e2af4 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + -0111+14:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_06.xml new file mode 100644 index 0000000..25a6310 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + 11111 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_07.xml new file mode 100644 index 0000000..d87dc2f --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + 973419862 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_08.xml new file mode 100644 index 0000000..a2fbadb --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + 1717608219759Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_09.xml new file mode 100644 index 0000000..bde2b83 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + -0863 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_10.xml new file mode 100644 index 0000000..a0bcf55 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + -0109+14:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_common_year_month.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_common_year_month.xml new file mode 100644 index 0000000..7c6c253 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_common_year_month.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + 2001-10 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_five_digit_negative_year.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_five_digit_negative_year.xml new file mode 100644 index 0000000..c135466 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_five_digit_negative_year.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + -20000-04 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_01.xml new file mode 100644 index 0000000..becf04c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + -65822-10 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_02.xml new file mode 100644 index 0000000..9b0ab85 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + 0730-10-14:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_03.xml new file mode 100644 index 0000000..f9f12b3 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + -4111-11Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_04.xml new file mode 100644 index 0000000..951813d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + 1000-01 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_05.xml new file mode 100644 index 0000000..28d53fe --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + 0010-09-14:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_06.xml new file mode 100644 index 0000000..8802264 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + 0555-07 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_07.xml new file mode 100644 index 0000000..3d81c54 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + 0404-11-14:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_08.xml new file mode 100644 index 0000000..81e23bc --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + -0882-11+14:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_09.xml new file mode 100644 index 0000000..c784dc3 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + -0230-09Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_10.xml new file mode 100644 index 0000000..5683582 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + 0119-12-14:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_negative_year.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_negative_year.xml new file mode 100644 index 0000000..c8fdff0 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_negative_year.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + -2001-10 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_very_large_negative_year.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_very_large_negative_year.xml new file mode 100644 index 0000000..5feb4cd --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_very_large_negative_year.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + -123456789012345678901234567890123456789012345678901234567890-04 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_very_large_positive_year.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_very_large_positive_year.xml new file mode 100644 index 0000000..fecdb70 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_very_large_positive_year.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + 123456789012345678901234567890123456789012345678901234567890-04 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_with_negative_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_with_negative_offset.xml new file mode 100644 index 0000000..669f4f6 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_with_negative_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + 2001-10-02:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_with_positive_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_with_positive_offset.xml new file mode 100644 index 0000000..cb4e57a --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_with_positive_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + 2001-10+02:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_with_utc_zone.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_with_utc_zone.xml new file mode 100644 index 0000000..2525391 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_with_utc_zone.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + 2001-10Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_with_zero_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_with_zero_offset.xml new file mode 100644 index 0000000..a8c8bbc --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_month_with_zero_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + 2001-10+00:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_negative_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_negative_offset.xml new file mode 100644 index 0000000..2562112 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_negative_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + 2001-04:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_negative_year.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_negative_year.xml new file mode 100644 index 0000000..019e493 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_negative_year.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + -2001 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_positive_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_positive_offset.xml new file mode 100644 index 0000000..d9fa8fe --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_positive_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + 2001+02:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_utc_zone.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_utc_zone.xml new file mode 100644 index 0000000..875ea7d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_utc_zone.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + 2001Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_very_large_negative_year.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_very_large_negative_year.xml new file mode 100644 index 0000000..6462e9f --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_very_large_negative_year.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + -123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_very_large_positive_year.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_very_large_positive_year.xml new file mode 100644 index 0000000..d20f1ef --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_very_large_positive_year.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + 123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_year_without_zone.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_year_without_zone.xml new file mode 100644 index 0000000..5b2b9d7 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_year_without_zone.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + 2001 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_zero_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_zero_offset.xml new file mode 100644 index 0000000..ace17fb --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/G_year_zero_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + 2001+00:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_empty.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_empty.xml new file mode 100644 index 0000000..6232a82 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:hexBinary + + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_01.xml new file mode 100644 index 0000000..4867dc9 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:hexBinary + f22fF9004a6D9AD1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_02.xml new file mode 100644 index 0000000..7987125 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:hexBinary + 00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_03.xml new file mode 100644 index 0000000..275c5ac --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:hexBinary + FFFFfef3CB + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_04.xml new file mode 100644 index 0000000..bd3788b --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:hexBinary + A8 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_05.xml new file mode 100644 index 0000000..541f432 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:hexBinary + 3C3C82 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_06.xml new file mode 100644 index 0000000..3481b79 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:hexBinary + 23ee + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_07.xml new file mode 100644 index 0000000..7987125 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:hexBinary + 00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_08.xml new file mode 100644 index 0000000..2eff7a3 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:hexBinary + aBe5ccF85fbf32 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_09.xml new file mode 100644 index 0000000..2eff7a3 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:hexBinary + aBe5ccF85fbf32 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_10.xml new file mode 100644 index 0000000..bb8ed51 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:hexBinary + C4E02bbC + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_long_random_hex.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_long_random_hex.xml new file mode 100644 index 0000000..2f68838 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_long_random_hex.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:hexBinary + 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e67 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_one_one.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_one_one.xml new file mode 100644 index 0000000..097a282 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_one_one.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:hexBinary + 11 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_one_two.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_one_two.xml new file mode 100644 index 0000000..71ec3a6 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_one_two.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:hexBinary + 12 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_one_two_three_four.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_one_two_three_four.xml new file mode 100644 index 0000000..c89acaf --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Hex_binary_one_two_three_four.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:hexBinary + 1234 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_common_example.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_common_example.xml new file mode 100644 index 0000000..8c55b67 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_common_example.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + 1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_explicitly_positive.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_explicitly_positive.xml new file mode 100644 index 0000000..9fb722d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_explicitly_positive.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + +1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_01.xml new file mode 100644 index 0000000..ddf6695 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + 00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_02.xml new file mode 100644 index 0000000..349a443 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + -0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_03.xml new file mode 100644 index 0000000..480d03b --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + 000000000000069268 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_04.xml new file mode 100644 index 0000000..ee988d0 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + +478978 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_05.xml new file mode 100644 index 0000000..ed0ba77 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + 7097 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_06.xml new file mode 100644 index 0000000..25ff0a6 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + 68 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_07.xml new file mode 100644 index 0000000..083e641 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + +0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_08.xml new file mode 100644 index 0000000..9e048bb --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + 6612453 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_09.xml new file mode 100644 index 0000000..ebd7808 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + -00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_10.xml new file mode 100644 index 0000000..ad7c034 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + +0000000946381 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_max.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_max.xml new file mode 100644 index 0000000..c1e4201 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_max.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + 2147483647 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_min.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_min.xml new file mode 100644 index 0000000..01ba0f2 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_min.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + -2147483648 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_negative.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_negative.xml new file mode 100644 index 0000000..a3a773b --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_negative.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + -1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_prefixed_with_zeros.xml new file mode 100644 index 0000000..8cf0aed --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + 001 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_zero.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_zero.xml new file mode 100644 index 0000000..7cc931f --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_zero.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + 0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..19b9032 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Int_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + 000 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_common_example.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_common_example.xml new file mode 100644 index 0000000..2ead42f --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_common_example.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + 1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_explicitly_positive.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_explicitly_positive.xml new file mode 100644 index 0000000..088e65c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_explicitly_positive.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + +1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_01.xml new file mode 100644 index 0000000..3c1fe65 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + 817778847926480 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_02.xml new file mode 100644 index 0000000..6a027ec --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + +022 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_03.xml new file mode 100644 index 0000000..2f351a4 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + -43045 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_04.xml new file mode 100644 index 0000000..db738ef --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + -3009 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_05.xml new file mode 100644 index 0000000..aa0b6ca --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + 0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_06.xml new file mode 100644 index 0000000..7b51f7a --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + -3 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_07.xml new file mode 100644 index 0000000..912fb48 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + 8 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_08.xml new file mode 100644 index 0000000..95fd96d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + 221 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_09.xml new file mode 100644 index 0000000..0cb8695 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + 9191 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_10.xml new file mode 100644 index 0000000..5960c83 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + -3909 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_negative.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_negative.xml new file mode 100644 index 0000000..70f3a51 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_negative.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + -1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_prefixed_with_zeros.xml new file mode 100644 index 0000000..ce2c556 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + 001 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_very_large.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_very_large.xml new file mode 100644 index 0000000..6400686 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_very_large.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + 1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_zero.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_zero.xml new file mode 100644 index 0000000..aa0b6ca --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_zero.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + 0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..3c97ccf --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Integer_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + 000 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_common_example.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_common_example.xml new file mode 100644 index 0000000..60851d7 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_common_example.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + 1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_explicitly_positive.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_explicitly_positive.xml new file mode 100644 index 0000000..41f4ddb --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_explicitly_positive.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + +1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_01.xml new file mode 100644 index 0000000..e79d206 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + -002728 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_02.xml new file mode 100644 index 0000000..ebbd1b5 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + 6257 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_03.xml new file mode 100644 index 0000000..aadbf5c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + 088 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_04.xml new file mode 100644 index 0000000..bf81f37 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + 29 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_05.xml new file mode 100644 index 0000000..6f1781c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + -288 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_06.xml new file mode 100644 index 0000000..4daf75a --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + 004775 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_07.xml new file mode 100644 index 0000000..6167d8a --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + 2912577609592844 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_08.xml new file mode 100644 index 0000000..b6cbe1d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + -0161 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_09.xml new file mode 100644 index 0000000..128d048 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + 00000000000048533 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_10.xml new file mode 100644 index 0000000..1db9266 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + 3116670676 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_max.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_max.xml new file mode 100644 index 0000000..107f05a --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_max.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + 9223372036854775807 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_min.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_min.xml new file mode 100644 index 0000000..12210c1 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_min.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + -9223372036854775808 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_negative.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_negative.xml new file mode 100644 index 0000000..fb6ecda --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_negative.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + -1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_prefixed_with_zeros.xml new file mode 100644 index 0000000..4587367 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + 001 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_zero.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_zero.xml new file mode 100644 index 0000000..2d29742 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_zero.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + 0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..3bbab53 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Long_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + 000 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_01.xml new file mode 100644 index 0000000..71f6b6c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + -001 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_02.xml new file mode 100644 index 0000000..9cf3fd5 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + -002 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_03.xml new file mode 100644 index 0000000..1247a58 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + -009 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_04.xml new file mode 100644 index 0000000..8f9d76d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + -8 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_05.xml new file mode 100644 index 0000000..d638d4c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + -1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_06.xml new file mode 100644 index 0000000..6347924 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + -00000000000000000000000516481 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_07.xml new file mode 100644 index 0000000..e5c7255 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + -003 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_08.xml new file mode 100644 index 0000000..adf3f75 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + -00126 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_09.xml new file mode 100644 index 0000000..7622c3a --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + -01 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_10.xml new file mode 100644 index 0000000..5ad10c3 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + -3 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_negative.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_negative.xml new file mode 100644 index 0000000..d638d4c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_negative.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + -1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_prefixed_with_zeros.xml new file mode 100644 index 0000000..71f6b6c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + -001 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_very_large.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_very_large.xml new file mode 100644 index 0000000..849638c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Negative_integer_very_large.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + -1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_common_example.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_common_example.xml new file mode 100644 index 0000000..86a940d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_common_example.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + 1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_explicitly_positive.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_explicitly_positive.xml new file mode 100644 index 0000000..eb53b7a --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_explicitly_positive.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + +1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_explicitly_positive_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_explicitly_positive_prefixed_with_zeros.xml new file mode 100644 index 0000000..77b3104 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_explicitly_positive_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + +001 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_01.xml new file mode 100644 index 0000000..daba022 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + +4 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_02.xml new file mode 100644 index 0000000..dceb130 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + 00018 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_03.xml new file mode 100644 index 0000000..8e3d82f --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + 22777 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_04.xml new file mode 100644 index 0000000..983d3cd --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + 22077 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_05.xml new file mode 100644 index 0000000..2e9efd3 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + +06 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_06.xml new file mode 100644 index 0000000..476659b --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + 09 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_07.xml new file mode 100644 index 0000000..191b574 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + +3 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_08.xml new file mode 100644 index 0000000..b2a85b2 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + +5739 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_09.xml new file mode 100644 index 0000000..1d89e2d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + +70126 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_10.xml new file mode 100644 index 0000000..02fc74d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + 05688 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_minus_zero.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_minus_zero.xml new file mode 100644 index 0000000..d38ec6c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_minus_zero.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + -0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_positive_zero.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_positive_zero.xml new file mode 100644 index 0000000..48f54df --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_positive_zero.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + +0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_prefixed_with_zeros.xml new file mode 100644 index 0000000..9835480 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + 001 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_very_large.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_very_large.xml new file mode 100644 index 0000000..2a6ba84 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_very_large.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + 1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_zero.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_zero.xml new file mode 100644 index 0000000..908b446 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_zero.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + 0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..c4e403c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_negative_integer_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + 000 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_explicitly_positive_zero.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_explicitly_positive_zero.xml new file mode 100644 index 0000000..2f1c0af --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_explicitly_positive_zero.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + +0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_01.xml new file mode 100644 index 0000000..8218f63 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + -51 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_02.xml new file mode 100644 index 0000000..0c41b96 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + -8908938 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_03.xml new file mode 100644 index 0000000..c1ff252 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + -553 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_04.xml new file mode 100644 index 0000000..2f1c0af --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + +0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_05.xml new file mode 100644 index 0000000..da83621 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + -4006 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_06.xml new file mode 100644 index 0000000..4112455 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + -83 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_07.xml new file mode 100644 index 0000000..e1472c6 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + -004 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_08.xml new file mode 100644 index 0000000..22a863f --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + -551521749598676413553 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_09.xml new file mode 100644 index 0000000..87d6325 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + -12116166 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_10.xml new file mode 100644 index 0000000..c1ff252 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + -553 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_negative.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_negative.xml new file mode 100644 index 0000000..5ad2d9a --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_negative.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + -1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_prefixed_with_zeros.xml new file mode 100644 index 0000000..84bd678 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + -001 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_very_large.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_very_large.xml new file mode 100644 index 0000000..ad14a9f --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_very_large.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + -1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_zero.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_zero.xml new file mode 100644 index 0000000..205ef1e --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Non_positive_integer_zero.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + 0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_common_example.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_common_example.xml new file mode 100644 index 0000000..d440c04 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_common_example.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:positiveInteger + 1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_explicitly_positive.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_explicitly_positive.xml new file mode 100644 index 0000000..ed5faa9 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_explicitly_positive.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:positiveInteger + +1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_01.xml new file mode 100644 index 0000000..26abdff --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:positiveInteger + 550788 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_02.xml new file mode 100644 index 0000000..9bedc03 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:positiveInteger + 7775 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_03.xml new file mode 100644 index 0000000..081039b --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:positiveInteger + +87138 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_04.xml new file mode 100644 index 0000000..77b0647 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:positiveInteger + 8093888718 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_05.xml new file mode 100644 index 0000000..ae835d7 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:positiveInteger + 01145 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_06.xml new file mode 100644 index 0000000..78b3469 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:positiveInteger + 01 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_07.xml new file mode 100644 index 0000000..9cf2842 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:positiveInteger + +57345 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_08.xml new file mode 100644 index 0000000..91a805c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:positiveInteger + 54691 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_09.xml new file mode 100644 index 0000000..0c7d995 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:positiveInteger + +01 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_10.xml new file mode 100644 index 0000000..f014d63 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:positiveInteger + 3 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_prefixed_with_zeros.xml new file mode 100644 index 0000000..8b4d38d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:positiveInteger + 001 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_very_large.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_very_large.xml new file mode 100644 index 0000000..f781234 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Positive_integer_very_large.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:positiveInteger + 1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_common_example.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_common_example.xml new file mode 100644 index 0000000..ebcf155 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_common_example.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + 1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_explicitly_positive.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_explicitly_positive.xml new file mode 100644 index 0000000..5444e11 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_explicitly_positive.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + +1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_01.xml new file mode 100644 index 0000000..c06a40f --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + 9 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_02.xml new file mode 100644 index 0000000..39cfc89 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + 01 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_03.xml new file mode 100644 index 0000000..5444e11 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + +1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_04.xml new file mode 100644 index 0000000..151803b --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + 8801 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_05.xml new file mode 100644 index 0000000..575d917 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + 125 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_06.xml new file mode 100644 index 0000000..a161b69 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + 20518 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_07.xml new file mode 100644 index 0000000..2358720 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + 60 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_08.xml new file mode 100644 index 0000000..96d0213 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + -01 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_09.xml new file mode 100644 index 0000000..5ee1f0d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + +31923 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_10.xml new file mode 100644 index 0000000..d4992d4 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + 22 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_max.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_max.xml new file mode 100644 index 0000000..b85a751 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_max.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + 32767 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_min.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_min.xml new file mode 100644 index 0000000..1fe9966 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_min.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + -32768 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_negative.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_negative.xml new file mode 100644 index 0000000..496ea29 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_negative.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + -1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_prefixed_with_zeros.xml new file mode 100644 index 0000000..f208668 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + 001 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_zero.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_zero.xml new file mode 100644 index 0000000..b1c1a5b --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_zero.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + 0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..39a00c3 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Short_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + 000 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_empty.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_empty.xml new file mode 100644 index 0000000..39c3ce6 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:string + + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_free_form_text.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_free_form_text.xml new file mode 100644 index 0000000..a90f502 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:string + some free & <free> ᦄ form text + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_01.xml new file mode 100644 index 0000000..f494821 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:string + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_02.xml new file mode 100644 index 0000000..eee54ab --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:string + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_03.xml new file mode 100644 index 0000000..43416cf --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:string + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_04.xml new file mode 100644 index 0000000..ddb9cda --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:string + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_05.xml new file mode 100644 index 0000000..439fd9a --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:string + J5 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_06.xml new file mode 100644 index 0000000..d5ee611 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:string + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_07.xml new file mode 100644 index 0000000..ed31ef8 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:string + 6 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_08.xml new file mode 100644 index 0000000..27d5cb0 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:string + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_09.xml new file mode 100644 index 0000000..9a71423 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:string + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_10.xml new file mode 100644 index 0000000..e5d921c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/String_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:string + 0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_common_example.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_common_example.xml new file mode 100644 index 0000000..fb79492 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_common_example.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 21:32:52 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_01.xml new file mode 100644 index 0000000..a883e21 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 24:00:00.00Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_02.xml new file mode 100644 index 0000000..e8eccfe --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 01:19:39.4378+10:53 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_03.xml new file mode 100644 index 0000000..abc9579 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 01:00:12+14:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_04.xml new file mode 100644 index 0000000..e6c1f25 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 24:00:00.0Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_05.xml new file mode 100644 index 0000000..694f5c8 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 01:10:12+14:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_06.xml new file mode 100644 index 0000000..6b5cef7 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 24:00:00-14:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_07.xml new file mode 100644 index 0000000..fd312e9 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 20:55:25 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_08.xml new file mode 100644 index 0000000..6552dc7 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 24:00:00-10:44 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_09.xml new file mode 100644 index 0000000..d35675a --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 24:00:00-13:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_10.xml new file mode 100644 index 0000000..b74f446 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 24:00:00.000000+14:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_negative_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_negative_offset.xml new file mode 100644 index 0000000..13809fc --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_negative_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 21:32:52-02:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_positive_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_positive_offset.xml new file mode 100644 index 0000000..d1e5380 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_positive_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 21:32:52+02:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_with_long_second_fractional.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_with_long_second_fractional.xml new file mode 100644 index 0000000..4d5e961 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_with_long_second_fractional.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 21:32:52.12345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_with_second_fractional.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_with_second_fractional.xml new file mode 100644 index 0000000..daada34 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_with_second_fractional.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 21:32:52.12679 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_with_utc_timezone.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_with_utc_timezone.xml new file mode 100644 index 0000000..73e7c3d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_with_utc_timezone.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 19:32:52Z + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_zero_offset.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_zero_offset.xml new file mode 100644 index 0000000..7f37db1 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Time_zero_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 21:32:52+00:00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_common_example.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_common_example.xml new file mode 100644 index 0000000..155eaee --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_common_example.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + 1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_explicitly_positive.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_explicitly_positive.xml new file mode 100644 index 0000000..02fc1f4 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_explicitly_positive.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + +1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_01.xml new file mode 100644 index 0000000..419225d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + 0000000000000000000000000000067 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_02.xml new file mode 100644 index 0000000..a288752 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + +130 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_03.xml new file mode 100644 index 0000000..1b68de9 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + 232 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_04.xml new file mode 100644 index 0000000..0997e43 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + +110 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_05.xml new file mode 100644 index 0000000..3903081 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + +000000000012 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_06.xml new file mode 100644 index 0000000..b2763ac --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + 055 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_07.xml new file mode 100644 index 0000000..33219d0 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + 031 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_08.xml new file mode 100644 index 0000000..669af4f --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + 0178 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_09.xml new file mode 100644 index 0000000..4c30ade --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + +00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_10.xml new file mode 100644 index 0000000..95f2b1d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + +00000006 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_max.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_max.xml new file mode 100644 index 0000000..841157b --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_max.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + 255 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_prefixed_with_zeros.xml new file mode 100644 index 0000000..156ac32 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + 001 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_zero.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_zero.xml new file mode 100644 index 0000000..63e7230 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_zero.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + 0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..03bc65a --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_byte_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + 000 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_common_example.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_common_example.xml new file mode 100644 index 0000000..6b2eea8 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_common_example.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + 1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_explicitly_positive.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_explicitly_positive.xml new file mode 100644 index 0000000..e8a1884 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_explicitly_positive.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + +1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_01.xml new file mode 100644 index 0000000..5e821a5 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + +000832736002 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_02.xml new file mode 100644 index 0000000..a14dca2 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + 0454 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_03.xml new file mode 100644 index 0000000..9ed0fa1 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + 0000000000001161715506 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_04.xml new file mode 100644 index 0000000..91aea49 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + +0006096840 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_05.xml new file mode 100644 index 0000000..1de364e --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + 8547 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_06.xml new file mode 100644 index 0000000..0015ea6 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + +092843 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_07.xml new file mode 100644 index 0000000..cfed7ce --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + +44 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_08.xml new file mode 100644 index 0000000..dab7486 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + +0881299729 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_09.xml new file mode 100644 index 0000000..efff201 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + +00604 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_10.xml new file mode 100644 index 0000000..8cdaf71 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + +000101 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_max.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_max.xml new file mode 100644 index 0000000..50f701c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_max.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + 4294967295 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_prefixed_with_zeros.xml new file mode 100644 index 0000000..3816dc2 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + 001 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_zero.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_zero.xml new file mode 100644 index 0000000..cc0d960 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_zero.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + 0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..48cf190 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_int_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + 000 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_common_example.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_common_example.xml new file mode 100644 index 0000000..6785acc --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_common_example.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + 1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_explicitly_positive.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_explicitly_positive.xml new file mode 100644 index 0000000..7f328f8 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_explicitly_positive.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + +1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_01.xml new file mode 100644 index 0000000..ec310b0 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + 00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_02.xml new file mode 100644 index 0000000..f800933 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + +0013081 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_03.xml new file mode 100644 index 0000000..8efdfb4 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + +00008773 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_04.xml new file mode 100644 index 0000000..98e5478 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + +000000858 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_05.xml new file mode 100644 index 0000000..d7b6460 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + +000000000002599 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_06.xml new file mode 100644 index 0000000..1459b65 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + +0257364527 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_07.xml new file mode 100644 index 0000000..9dc0af1 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + +000000038893 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_08.xml new file mode 100644 index 0000000..1508666 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + +0000000000000111491 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_09.xml new file mode 100644 index 0000000..eca476e --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + +09 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_10.xml new file mode 100644 index 0000000..ae12465 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + 0012208354443 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_max.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_max.xml new file mode 100644 index 0000000..636c27f --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_max.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + 18446744073709551615 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_prefixed_with_zeros.xml new file mode 100644 index 0000000..f0b90fc --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + 001 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_zero.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_zero.xml new file mode 100644 index 0000000..8e65381 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_zero.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + 0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..4db6db6 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_long_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + 000 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_common_example.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_common_example.xml new file mode 100644 index 0000000..08fba0b --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_common_example.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + 1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_explicitly_positive.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_explicitly_positive.xml new file mode 100644 index 0000000..402d581 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_explicitly_positive.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + +1 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_01.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_01.xml new file mode 100644 index 0000000..d7bcf97 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + +00 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_02.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_02.xml new file mode 100644 index 0000000..88725a2 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_02.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + 06949 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_03.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_03.xml new file mode 100644 index 0000000..4fa83ba --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + 0391 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_04.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_04.xml new file mode 100644 index 0000000..2fe8ae1 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + +000004 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_05.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_05.xml new file mode 100644 index 0000000..9d1bdcf --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + 00000000391 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_06.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_06.xml new file mode 100644 index 0000000..c7029ee --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + +085 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_07.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_07.xml new file mode 100644 index 0000000..a1fb47d --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_07.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + 10233 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_08.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_08.xml new file mode 100644 index 0000000..f87c654 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + 044598 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_09.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_09.xml new file mode 100644 index 0000000..931d383 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_09.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + +00066 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_10.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_10.xml new file mode 100644 index 0000000..3152a13 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + +00000000000000000000003250 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_max.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_max.xml new file mode 100644 index 0000000..3203f4c --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_max.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + 65535 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_prefixed_with_zeros.xml new file mode 100644 index 0000000..19471dc --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + 001 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_zero.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_zero.xml new file mode 100644 index 0000000..269a323 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_zero.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + 0 + diff --git a/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..8dc3d13 --- /dev/null +++ b/dev/test_data/Xml/Expected/qualifier/valueOverValueExamples/Unsigned_short_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + 000 + diff --git a/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..a95e4cc --- /dev/null +++ b/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..33bbe87 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + 𠤢4𠤢 + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..7b0a139 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + [\h$񒺟ìÖċŠ1¿ + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..fd9888c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + öĖa􍣡™| + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..4dfa2b1 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,4 @@ + + J5 + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..3aa5595 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,4 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..0df5ca0 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,4 @@ + + 6 + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..fb97542 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,4 @@ + + 򤑌M𪠇𛔊򂄲 + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..acd5f3a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,4 @@ + + <ă<P󨱽²|dnœÞ® + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..9f08aae --- /dev/null +++ b/dev/test_data/Xml/Expected/range/categoryOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,4 @@ + + 0 + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/alternating_hyphen_underscore.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/alternating_hyphen_underscore.xml new file mode 100644 index 0000000..bd3e6c3 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/alternating_hyphen_underscore.xml @@ -0,0 +1,4 @@ + + a-_-_-_-_-_ + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/ends_with_underscore.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/ends_with_underscore.xml new file mode 100644 index 0000000..3b51ce1 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/ends_with_underscore.xml @@ -0,0 +1,4 @@ + + strange-name_ + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..0dc956b --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + fULCVpULCVq + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..c0d7528 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + AopQejF + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..afc9738 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + Jk0k1414Di + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..2948310 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + pVz10Vz10vZZNO9hM + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..9b22cb0 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,4 @@ + + t8x1pz9WS4TGV + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..5dad4bb --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,4 @@ + + tWC + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..0e4164c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,4 @@ + + xF2bO_Uje6 + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..c84ae3f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,4 @@ + + EO5DYAe + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..35e1718 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,4 @@ + + nRdRe + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..0cddd31 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,4 @@ + + P7gn + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/hyphen_then_underscore.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/hyphen_then_underscore.xml new file mode 100644 index 0000000..ac23e06 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/hyphen_then_underscore.xml @@ -0,0 +1,4 @@ + + a-_ + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/many_internal_hyphens.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/many_internal_hyphens.xml new file mode 100644 index 0000000..0b63459 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/many_internal_hyphens.xml @@ -0,0 +1,4 @@ + + a----------------b + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/many_underscores.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/many_underscores.xml new file mode 100644 index 0000000..b275b5d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/many_underscores.xml @@ -0,0 +1,4 @@ + + a________________ + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/minimal_digit.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/minimal_digit.xml new file mode 100644 index 0000000..9e8f69c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/minimal_digit.xml @@ -0,0 +1,4 @@ + + a0 + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/minimal_lower.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/minimal_lower.xml new file mode 100644 index 0000000..580b9c1 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/minimal_lower.xml @@ -0,0 +1,4 @@ + + aa + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/minimal_underscore.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/minimal_underscore.xml new file mode 100644 index 0000000..0366a9c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/minimal_underscore.xml @@ -0,0 +1,4 @@ + + a_ + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/minimal_upper.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/minimal_upper.xml new file mode 100644 index 0000000..8f2dfcf --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/minimal_upper.xml @@ -0,0 +1,4 @@ + + AZ + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/single_internal_hyphen.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/single_internal_hyphen.xml new file mode 100644 index 0000000..e1aeead --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/single_internal_hyphen.xml @@ -0,0 +1,4 @@ + + a-b + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/underscore_after_first.xml b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/underscore_after_first.xml new file mode 100644 index 0000000..12f9649 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/idShortOverPatternExamples/underscore_after_first.xml @@ -0,0 +1,4 @@ + + A_ + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/maximal.xml b/dev/test_data/Xml/Expected/range/maximal.xml new file mode 100644 index 0000000..8865208 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/maximal.xml @@ -0,0 +1,143 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Expected/range/minimal.xml b/dev/test_data/Xml/Expected/range/minimal.xml new file mode 100644 index 0000000..bfa0386 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/minimal.xml @@ -0,0 +1,3 @@ + + xs:gDay + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_URI.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_URI.xml new file mode 100644 index 0000000..d4d79d3 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_URI.xml @@ -0,0 +1,5 @@ + + xs:anyURI + https://github.com/aas-core-works/aas-core-codegen + https://github.com/aas-core-works/aas-core-codegen + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_absolute_path_without_scheme.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_absolute_path_without_scheme.xml new file mode 100644 index 0000000..63fa04e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_absolute_path_without_scheme.xml @@ -0,0 +1,5 @@ + + xs:anyURI + /path/to/somewhere + /path/to/somewhere + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_empty.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_empty.xml new file mode 100644 index 0000000..cddb6b5 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_empty.xml @@ -0,0 +1,5 @@ + + xs:anyURI + + + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_01.xml new file mode 100644 index 0000000..d2c0d27 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:anyURI + # + # + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_02.xml new file mode 100644 index 0000000..66670a7 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:anyURI + //[d6FA:c:8b:4:7:be7:aD:C8C]:/~.49:f%Fee;%9D%58L/Q%ea'+Q%eb:&%7C,t:;a,@&%dB%2D%Ba&%bF%BF,;%06G%a0%bfk%7b&@&@1@=+%fE6%FF2j4;$;=,%Da$=R%17s+2%68;/v%Ca%a0&$d%Fd7%58@%a0%54D%0BA%00Bw%a59:6;;/%f1:;t%98$J0:Y;?%8Dx:%aC&$/S/L%A5u + //[d6FA:c:8b:4:7:be7:aD:C8C]:/~.49:f%Fee;%9D%58L/Q%ea'+Q%eb:&%7C,t:;a,@&%dB%2D%Ba&%bF%BF,;%06G%a0%bfk%7b&@&@1@=+%fE6%FF2j4;$;=,%Da$=R%17s+2%68;/v%Ca%a0&$d%Fd7%58@%a0%54D%0BA%00Bw%a59:6;;/%f1:;t%98$J0:Y;?%8Dx:%aC&$/S/L%A5u + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_03.xml new file mode 100644 index 0000000..49ad29f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:anyURI + A:// + A:// + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_04.xml new file mode 100644 index 0000000..cddb6b5 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:anyURI + + + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_05.xml new file mode 100644 index 0000000..d6bd94f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:anyURI + #;+; + #;+; + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_06.xml new file mode 100644 index 0000000..846cb56 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:anyURI + //@fr+%64@/%C5vw%A8N/%9f;%59%Ea%A9%Dd?#[= + //@fr+%64@/%C5vw%A8N/%9f;%59%Ea%A9%Dd?#[= + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_07.xml new file mode 100644 index 0000000..6f15784 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:anyURI + q%7E~@$=l#%f6,&;& + q%7E~@$=l#%f6,&;& + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_08.xml new file mode 100644 index 0000000..ef06bf6 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:anyURI + j.:/%dd;=%78%Eaui;j/aTF&%Fd%9A9K;%f8-;;'4!C;,:C/=;k%b4;%09;;C%74%3a,2%C09;%127%5C;%81%d09/+;/%65%41%a0,@%34C_;%6E*;;%42%D9;%BA7%7EY%D4;%60Z=,/:+;$E&+$%Db4'%F2%7E;'+6-r$%64-;l%85%Eb%Ec+%ae/;=$-;;.%02L;,;%3Bj%a2:&@%3Ak$:;%CB;,(h(::=%b1;$+5&%810%04%3e,@$%60:G+%2d%c8%A4%01%5c,=&:O'CG%Eb@isa%2A+&$$%8D7X.+v)%Ed;3%6eo%DB&;7@%86n=9%aC%02;;k%bDH;%C0%BB;%c9,KF%De&%0A%6fP$:%9B%f5H%b8/T;%01$,%dD%8A%6B!/;,++;=;;%8dk$%0F%FB;;N%6B@;Om$%00# + j.:/%dd;=%78%Eaui;j/aTF&%Fd%9A9K;%f8-;;'4!C;,:C/=;k%b4;%09;;C%74%3a,2%C09;%127%5C;%81%d09/+;/%65%41%a0,@%34C_;%6E*;;%42%D9;%BA7%7EY%D4;%60Z=,/:+;$E&+$%Db4'%F2%7E;'+6-r$%64-;l%85%Eb%Ec+%ae/;=$-;;.%02L;,;%3Bj%a2:&@%3Ak$:;%CB;,(h(::=%b1;$+5&%810%04%3e,@$%60:G+%2d%c8%A4%01%5c,=&:O'CG%Eb@isa%2A+&$$%8D7X.+v)%Ed;3%6eo%DB&;7@%86n=9%aC%02;;k%bDH;%C0%BB;%c9,KF%De&%0A%6fP$:%9B%f5H%b8/T;%01$,%dD%8A%6B!/;,++;=;;%8dk$%0F%FB;;N%6B@;Om$%00# + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_09.xml new file mode 100644 index 0000000..540eee6 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:anyURI + #b%39DX%f9a%76u%da%A1@%a9%D3n + #b%39DX%f9a%76u%da%A1@%a9%D3n + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_10.xml new file mode 100644 index 0000000..456db76 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:anyURI + ///%6B%0EX%9f-=++$:3%9az+,c&%3F:'Sx%3d%00:%7f%40:%08,;%5b%90%A1c;(;$:$y+%5b/=t%40+H+a@%E7$G%58;:+R$g$-yT%08&:,%fB;%F5b@;%Eb3%0C%A3n%4A%7dBf%75%2F%fc;vZ-%aFV$;%3a&;;=%fC;;~@+/=%A4# + ///%6B%0EX%9f-=++$:3%9az+,c&%3F:'Sx%3d%00:%7f%40:%08,;%5b%90%A1c;(;$:$y+%5b/=t%40+H+a@%E7$G%58;:+R$g$-yT%08&:,%fB;%F5b@;%Eb3%0C%A3n%4A%7dBf%75%2F%fc;vZ-%aFV$;%3a&;;=%fC;;~@+/=%A4# + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_integer.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_integer.xml new file mode 100644 index 0000000..a9c6dc3 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_integer.xml @@ -0,0 +1,5 @@ + + xs:anyURI + 1234 + 1234 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_relative_path_without_scheme.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_relative_path_without_scheme.xml new file mode 100644 index 0000000..4196365 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Any_URI_relative_path_without_scheme.xml @@ -0,0 +1,5 @@ + + xs:anyURI + path/to/somewhere + path/to/somewhere + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_an_empty_value_is_valid.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_an_empty_value_is_valid.xml new file mode 100644 index 0000000..cf8d6be --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_an_empty_value_is_valid.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + + + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_equals_signs_are_used_for_padding.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_equals_signs_are_used_for_padding.xml new file mode 100644 index 0000000..0aab2cd --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_equals_signs_are_used_for_padding.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + 0F+40A== + 0F+40A== + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_01.xml new file mode 100644 index 0000000..9c1ee03 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + RJ I k 7 c /F / 1 J8F o 0ivZ v AE 3bj ASP y PI k+ 1 fku W 5M= + RJ I k 7 c /F / 1 J8F o 0ivZ v AE 3bj ASP y PI k+ 1 fku W 5M= + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_02.xml new file mode 100644 index 0000000..9ea3c9c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + Ie 9 20 Y F 5 Ve9 Y c 0W rH p 2 FQaS /xw /t RtE= + Ie 9 20 Y F 5 Ve9 Y c 0W rH p 2 FQaS /xw /t RtE= + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_03.xml new file mode 100644 index 0000000..2d10ed1 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + n3wT + n3wT + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_04.xml new file mode 100644 index 0000000..eca2d54 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + wfw E + wfw E + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_05.xml new file mode 100644 index 0000000..f646925 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + jj5 n + jj5 n + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_06.xml new file mode 100644 index 0000000..bdefe4f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + j j5 n + j j5 n + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_07.xml new file mode 100644 index 0000000..6b715b2 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + S w SO 5 S5r + S w SO 5 S5r + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_08.xml new file mode 100644 index 0000000..9b8ba67 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + UBU iUBU iQ n cy q 7wK + UBU iUBU iQ n cy q 7wK + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_09.xml new file mode 100644 index 0000000..b76339a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + HU UH + HU UH + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_10.xml new file mode 100644 index 0000000..80cf122 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + 00000000 + 00000000 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_whitespace_is_allowed_anywhere_in_the_value.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_whitespace_is_allowed_anywhere_in_the_value.xml new file mode 100644 index 0000000..3fac91b --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_whitespace_is_allowed_anywhere_in_the_value.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + 0 FB8 0F+9 + 0 FB8 0F+9 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_without_space_lowercase.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_without_space_lowercase.xml new file mode 100644 index 0000000..f4e47dd --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_without_space_lowercase.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + 0fb8 + 0fb8 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_without_space_uppercase.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_without_space_uppercase.xml new file mode 100644 index 0000000..6f57c99 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Base_64_binary_without_space_uppercase.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + 0FB8 + 0FB8 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Boolean_false_as_number.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Boolean_false_as_number.xml new file mode 100644 index 0000000..e5f2c67 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Boolean_false_as_number.xml @@ -0,0 +1,5 @@ + + xs:boolean + 0 + 0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Boolean_false_in_letters.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Boolean_false_in_letters.xml new file mode 100644 index 0000000..6126a1e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Boolean_false_in_letters.xml @@ -0,0 +1,5 @@ + + xs:boolean + false + false + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Boolean_true_as_number.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Boolean_true_as_number.xml new file mode 100644 index 0000000..f15cdf2 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Boolean_true_as_number.xml @@ -0,0 +1,5 @@ + + xs:boolean + 1 + 1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Boolean_true_in_letters.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Boolean_true_in_letters.xml new file mode 100644 index 0000000..1aa37f3 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Boolean_true_in_letters.xml @@ -0,0 +1,5 @@ + + xs:boolean + true + true + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_common_example.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_common_example.xml new file mode 100644 index 0000000..90d4e6f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_common_example.xml @@ -0,0 +1,5 @@ + + xs:byte + 1 + 1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_explicitly_positive.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_explicitly_positive.xml new file mode 100644 index 0000000..e069710 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_explicitly_positive.xml @@ -0,0 +1,5 @@ + + xs:byte + +1 + +1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_01.xml new file mode 100644 index 0000000..06fef4d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:byte + 05 + 05 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_02.xml new file mode 100644 index 0000000..f84ba41 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:byte + 000110 + 000110 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_03.xml new file mode 100644 index 0000000..2349ac0 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:byte + +00 + +00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_04.xml new file mode 100644 index 0000000..2107cb9 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:byte + -108 + -108 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_05.xml new file mode 100644 index 0000000..238e13a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:byte + 0001 + 0001 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_06.xml new file mode 100644 index 0000000..357c4eb --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:byte + 103 + 103 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_07.xml new file mode 100644 index 0000000..4504367 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:byte + 06 + 06 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_08.xml new file mode 100644 index 0000000..1f85159 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:byte + +0000002 + +0000002 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_09.xml new file mode 100644 index 0000000..d27c757 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:byte + 000000006 + 000000006 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_10.xml new file mode 100644 index 0000000..7442712 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:byte + -00011 + -00011 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_max.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_max.xml new file mode 100644 index 0000000..64ffd59 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_max.xml @@ -0,0 +1,5 @@ + + xs:byte + 127 + 127 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_min.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_min.xml new file mode 100644 index 0000000..47967dc --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_min.xml @@ -0,0 +1,5 @@ + + xs:byte + -128 + -128 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_negative.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_negative.xml new file mode 100644 index 0000000..7e2ce06 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_negative.xml @@ -0,0 +1,5 @@ + + xs:byte + -1 + -1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_prefixed_with_zeros.xml new file mode 100644 index 0000000..eeb28c3 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:byte + 001 + 001 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_zero.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_zero.xml new file mode 100644 index 0000000..05685e5 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_zero.xml @@ -0,0 +1,5 @@ + + xs:byte + 0 + 0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..4016852 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Byte_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:byte + 000 + 000 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date.xml new file mode 100644 index 0000000..d4653fe --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date.xml @@ -0,0 +1,5 @@ + + xs:date + 2022-04-01 + 2022-04-01 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_large_negative_year.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_large_negative_year.xml new file mode 100644 index 0000000..4a489ec --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_large_negative_year.xml @@ -0,0 +1,5 @@ + + xs:date + -12345678901234567890123456789012345678901234567890-04-01 + -12345678901234567890123456789012345678901234567890-04-01 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_large_positive_year.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_large_positive_year.xml new file mode 100644 index 0000000..c96bfd8 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_large_positive_year.xml @@ -0,0 +1,5 @@ + + xs:date + 12345678901234567890123456789012345678901234567890-04-01 + 12345678901234567890123456789012345678901234567890-04-01 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_negative_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_negative_offset.xml new file mode 100644 index 0000000..65c9bbf --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_negative_offset.xml @@ -0,0 +1,5 @@ + + xs:date + 2022-04-01-02:00 + 2022-04-01-02:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_positive_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_positive_offset.xml new file mode 100644 index 0000000..8df2721 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_positive_offset.xml @@ -0,0 +1,5 @@ + + xs:date + 2022-04-01+02:34 + 2022-04-01+02:34 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_utc.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_utc.xml new file mode 100644 index 0000000..6626e0a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_utc.xml @@ -0,0 +1,5 @@ + + xs:date + 2022-04-01Z + 2022-04-01Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_zero_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_zero_offset.xml new file mode 100644 index 0000000..28b6165 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_date_with_zero_offset.xml @@ -0,0 +1,5 @@ + + xs:date + 2022-04-01+00:00 + 2022-04-01+00:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_01.xml new file mode 100644 index 0000000..9ae6f3b --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:date + 0705-04-10+14:00 + 0705-04-10+14:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_02.xml new file mode 100644 index 0000000..5c75d21 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:date + -0236-12-31Z + -0236-12-31Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_03.xml new file mode 100644 index 0000000..4df917a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:date + 9088-11-06 + 9088-11-06 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_04.xml new file mode 100644 index 0000000..96c9b16 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:date + -7506-08-02 + -7506-08-02 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_05.xml new file mode 100644 index 0000000..cb4b1de --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:date + -3637143-04-09 + -3637143-04-09 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_06.xml new file mode 100644 index 0000000..0cb02b9 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:date + -0311-11-30 + -0311-11-30 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_07.xml new file mode 100644 index 0000000..8910e8e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:date + -0844-11-30 + -0844-11-30 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_08.xml new file mode 100644 index 0000000..e41c602 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:date + 0111-04-04 + 0111-04-04 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_09.xml new file mode 100644 index 0000000..a06599e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:date + 0412-04-08-10:58 + 0412-04-08-10:58 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_10.xml new file mode 100644 index 0000000..18aae12 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:date + 0520-01-01 + 0520-01-01 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_UTC.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_UTC.xml new file mode 100644 index 0000000..980f341 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_UTC.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 2022-04-01T01:02:03Z + 2022-04-01T01:02:03Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_large_negative_year.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_large_negative_year.xml new file mode 100644 index 0000000..440213c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_large_negative_year.xml @@ -0,0 +1,5 @@ + + xs:dateTime + -12345678901234567890123456789012345678901234567890-04-01T01:02:03 + -12345678901234567890123456789012345678901234567890-04-01T01:02:03 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_large_positive_year.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_large_positive_year.xml new file mode 100644 index 0000000..94e5265 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_large_positive_year.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 12345678901234567890123456789012345678901234567890-04-01T01:02:03 + 12345678901234567890123456789012345678901234567890-04-01T01:02:03 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_long_fractional_seconds.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_long_fractional_seconds.xml new file mode 100644 index 0000000..6eba1ef --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_long_fractional_seconds.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 2022-04-01T01:02:03.0123456789Z + 2022-04-01T01:02:03.0123456789Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_negative_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_negative_offset.xml new file mode 100644 index 0000000..982bad2 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_negative_offset.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 2022-04-01T01:02:03+00:00 + 2022-04-01T01:02:03+00:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_positive_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_positive_offset.xml new file mode 100644 index 0000000..1a2267c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_positive_offset.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 2022-04-01T01:02:03+02:00 + 2022-04-01T01:02:03+02:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_zero_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_zero_offset.xml new file mode 100644 index 0000000..982bad2 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_with_zero_offset.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 2022-04-01T01:02:03+00:00 + 2022-04-01T01:02:03+00:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_without_zone.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_without_zone.xml new file mode 100644 index 0000000..c5b24a1 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_date_time_without_zone.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 2022-04-01T01:02:03 + 2022-04-01T01:02:03 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_01.xml new file mode 100644 index 0000000..5528689 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:dateTime + -0811-10-21T24:00:00.000000Z + -0811-10-21T24:00:00.000000Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_02.xml new file mode 100644 index 0000000..a6b9539 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:dateTime + -0819-11-21T24:00:00.00Z + -0819-11-21T24:00:00.00Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_03.xml new file mode 100644 index 0000000..94a0b2e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:dateTime + -665280014-06-30T21:15:16Z + -665280014-06-30T21:15:16Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_04.xml new file mode 100644 index 0000000..4136d0a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:dateTime + -0811-11-21T24:00:00.0000Z + -0811-11-21T24:00:00.0000Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_05.xml new file mode 100644 index 0000000..ff952eb --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 0532-09-07T18:47:52+14:00 + 0532-09-07T18:47:52+14:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_06.xml new file mode 100644 index 0000000..39984fb --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 0707-11-02T24:00:00.00 + 0707-11-02T24:00:00.00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_07.xml new file mode 100644 index 0000000..bbfed87 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:dateTime + -0003-12-20T22:53:54.02567 + -0003-12-20T22:53:54.02567 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_08.xml new file mode 100644 index 0000000..0cf811e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:dateTime + -1092-02-25T24:00:00.0000 + -1092-02-25T24:00:00.0000 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_09.xml new file mode 100644 index 0000000..381fae9 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:dateTime + -6602-06-30T24:00:00 + -6602-06-30T24:00:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_10.xml new file mode 100644 index 0000000..aae32bd --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:dateTime + -2111111-08-31T23:58:19.269348 + -2111111-08-31T23:58:19.269348 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_midnight_with_24_hours.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_midnight_with_24_hours.xml new file mode 100644 index 0000000..4ee3c0b --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_midnight_with_24_hours.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 2022-04-01T24:00:00 + 2022-04-01T24:00:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_midnight_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_midnight_with_zeros.xml new file mode 100644 index 0000000..3de505c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_midnight_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 2022-04-01T00:00:00 + 2022-04-01T00:00:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_year_1_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_year_1_bce_is_a_leap_year.xml new file mode 100644 index 0000000..d7bf57a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_year_1_bce_is_a_leap_year.xml @@ -0,0 +1,5 @@ + + xs:dateTime + -0001-02-29T01:02:03 + -0001-02-29T01:02:03 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_year_5_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_year_5_bce_is_a_leap_year.xml new file mode 100644 index 0000000..5f1e413 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_time_year_5_bce_is_a_leap_year.xml @@ -0,0 +1,5 @@ + + xs:dateTime + -0005-02-29T01:02:03 + -0005-02-29T01:02:03 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_year_1_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_year_1_bce_is_a_leap_year.xml new file mode 100644 index 0000000..af655e8 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_year_1_bce_is_a_leap_year.xml @@ -0,0 +1,5 @@ + + xs:date + -0001-02-29 + -0001-02-29 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_year_5_bce_is_a_leap_year.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_year_5_bce_is_a_leap_year.xml new file mode 100644 index 0000000..b3ac6e2 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Date_year_5_bce_is_a_leap_year.xml @@ -0,0 +1,5 @@ + + xs:date + -0005-02-29 + -0005-02-29 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_decimal.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_decimal.xml new file mode 100644 index 0000000..7afa76b --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_decimal.xml @@ -0,0 +1,5 @@ + + xs:decimal + 1234.01234 + 1234.01234 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_decimal_with_long_fractional.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_decimal_with_long_fractional.xml new file mode 100644 index 0000000..289f5c8 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_decimal_with_long_fractional.xml @@ -0,0 +1,5 @@ + + xs:decimal + 1234.1234567890123456789012345678901234567890123456789012345678901234567890 + 1234.1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_decimal_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_decimal_with_preceding_zeros.xml new file mode 100644 index 0000000..2cd40b3 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_decimal_with_preceding_zeros.xml @@ -0,0 +1,5 @@ + + xs:decimal + 0001234.01234 + 0001234.01234 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_01.xml new file mode 100644 index 0000000..a5a07c3 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:decimal + .33324 + .33324 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_02.xml new file mode 100644 index 0000000..836b26f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:decimal + 01195 + 01195 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_03.xml new file mode 100644 index 0000000..59d83fe --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:decimal + +875 + +875 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_04.xml new file mode 100644 index 0000000..25ee62b --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:decimal + -8 + -8 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_05.xml new file mode 100644 index 0000000..8c61e57 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:decimal + -0.0 + -0.0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_06.xml new file mode 100644 index 0000000..d96126e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:decimal + -13522106 + -13522106 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_07.xml new file mode 100644 index 0000000..b42cbad --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:decimal + +10 + +10 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_08.xml new file mode 100644 index 0000000..682226d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:decimal + -030725 + -030725 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_09.xml new file mode 100644 index 0000000..ae7aa11 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:decimal + .3 + .3 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_10.xml new file mode 100644 index 0000000..8b5fd91 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:decimal + 0061707 + 0061707 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_integer.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_integer.xml new file mode 100644 index 0000000..8ed46e9 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_integer.xml @@ -0,0 +1,5 @@ + + xs:decimal + 1234 + 1234 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_integer_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_integer_with_preceding_zeros.xml new file mode 100644 index 0000000..83d5294 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_integer_with_preceding_zeros.xml @@ -0,0 +1,5 @@ + + xs:decimal + 0001234 + 0001234 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_very_large_decimal.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_very_large_decimal.xml new file mode 100644 index 0000000..5a9bcb5 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Decimal_very_large_decimal.xml @@ -0,0 +1,5 @@ + + xs:decimal + 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.12345678901234567890123456789012345678901234567890123456789012345678901234567890 + 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890.12345678901234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_double.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_double.xml new file mode 100644 index 0000000..afb7e2d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_double.xml @@ -0,0 +1,5 @@ + + xs:double + 1234.01234 + 1234.01234 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_01.xml new file mode 100644 index 0000000..91c291e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:double + .1118 + .1118 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_02.xml new file mode 100644 index 0000000..72d6bde --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:double + -.662 + -.662 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_03.xml new file mode 100644 index 0000000..9a1efd5 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:double + .0E0 + .0E0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_04.xml new file mode 100644 index 0000000..dee4854 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:double + .4 + .4 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_05.xml new file mode 100644 index 0000000..eceb80f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:double + .11 + .11 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_06.xml new file mode 100644 index 0000000..f4f322c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:double + +76E-86 + +76E-86 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_07.xml new file mode 100644 index 0000000..72d6bde --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:double + -.662 + -.662 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_08.xml new file mode 100644 index 0000000..5b7f36d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:double + 1e+7 + 1e+7 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_09.xml new file mode 100644 index 0000000..983e97d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:double + -.66E-45 + -.66E-45 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_10.xml new file mode 100644 index 0000000..75dc740 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:double + 140206134 + 140206134 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_inf.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_inf.xml new file mode 100644 index 0000000..493ba40 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_inf.xml @@ -0,0 +1,5 @@ + + xs:double + INF + INF + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_integer.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_integer.xml new file mode 100644 index 0000000..6d339be --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_integer.xml @@ -0,0 +1,5 @@ + + xs:double + 1234 + 1234 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_integer_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_integer_with_preceding_zeros.xml new file mode 100644 index 0000000..cbe499c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_integer_with_preceding_zeros.xml @@ -0,0 +1,5 @@ + + xs:double + 0001234 + 0001234 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_loss_of_precision_is_not_detected_by_design.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_loss_of_precision_is_not_detected_by_design.xml new file mode 100644 index 0000000..6707b7f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_loss_of_precision_is_not_detected_by_design.xml @@ -0,0 +1,5 @@ + + xs:double + 1234.1234567890123456789012345678901234567890123456789012345678901234567890 + 1234.1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_lowest.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_lowest.xml new file mode 100644 index 0000000..a230e77 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_lowest.xml @@ -0,0 +1,5 @@ + + xs:double + -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368 + -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_max.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_max.xml new file mode 100644 index 0000000..3959cea --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_max.xml @@ -0,0 +1,5 @@ + + xs:double + 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368 + 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_minus_inf.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_minus_inf.xml new file mode 100644 index 0000000..d8a3564 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_minus_inf.xml @@ -0,0 +1,5 @@ + + xs:double + -INF + -INF + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_nan.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_nan.xml new file mode 100644 index 0000000..761f51e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_nan.xml @@ -0,0 +1,5 @@ + + xs:double + NaN + NaN + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_scientific_notation.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_scientific_notation.xml new file mode 100644 index 0000000..a17814d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_scientific_notation.xml @@ -0,0 +1,5 @@ + + xs:double + 12.34e56 + 12.34e56 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_scientific_notation_negative.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_scientific_notation_negative.xml new file mode 100644 index 0000000..312d186 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_scientific_notation_negative.xml @@ -0,0 +1,5 @@ + + xs:double + -12.34e56 + -12.34e56 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_scientific_notation_negative_exponent.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_scientific_notation_negative_exponent.xml new file mode 100644 index 0000000..fa70e2f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_scientific_notation_negative_exponent.xml @@ -0,0 +1,5 @@ + + xs:double + 12.34e-56 + 12.34e-56 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_scientific_notation_positive.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_scientific_notation_positive.xml new file mode 100644 index 0000000..0bc4421 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_scientific_notation_positive.xml @@ -0,0 +1,5 @@ + + xs:double + +12.34e56 + +12.34e56 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_scientific_notation_positive_exponent.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_scientific_notation_positive_exponent.xml new file mode 100644 index 0000000..23f3e8e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_scientific_notation_positive_exponent.xml @@ -0,0 +1,5 @@ + + xs:double + 12.34e+56 + 12.34e+56 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_very_large_normal.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_very_large_normal.xml new file mode 100644 index 0000000..38704ec --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_very_large_normal.xml @@ -0,0 +1,5 @@ + + xs:double + 2e307 + 2e307 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_very_precise_subnormal.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_very_precise_subnormal.xml new file mode 100644 index 0000000..b556eec --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_very_precise_subnormal.xml @@ -0,0 +1,5 @@ + + xs:double + 2e-307 + 2e-307 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_with_preceding_zeros.xml new file mode 100644 index 0000000..e8d3285 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Double_with_preceding_zeros.xml @@ -0,0 +1,5 @@ + + xs:double + 0001234.01234 + 0001234.01234 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_day_seconds.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_day_seconds.xml new file mode 100644 index 0000000..86b100e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_day_seconds.xml @@ -0,0 +1,5 @@ + + xs:duration + P1DT2S + P1DT2S + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_full.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_full.xml new file mode 100644 index 0000000..ff2698e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_full.xml @@ -0,0 +1,5 @@ + + xs:duration + P1Y2M3DT5H20M30.123S + P1Y2M3DT5H20M30.123S + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_01.xml new file mode 100644 index 0000000..355e805 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:duration + -P009D + -P009D + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_02.xml new file mode 100644 index 0000000..998e54d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:duration + P5Y36660767143M + P5Y36660767143M + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_03.xml new file mode 100644 index 0000000..88569ab --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:duration + -PT01332.1S + -PT01332.1S + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_04.xml new file mode 100644 index 0000000..91386d2 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:duration + -P11DT142M + -P11DT142M + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_05.xml new file mode 100644 index 0000000..40d1e0c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:duration + PT88M48936316289.34291243605107045S + PT88M48936316289.34291243605107045S + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_06.xml new file mode 100644 index 0000000..c874ba6 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:duration + -P1M923D + -P1M923D + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_07.xml new file mode 100644 index 0000000..02378a0 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:duration + -PT0.332S + -PT0.332S + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_08.xml new file mode 100644 index 0000000..6a699d8 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:duration + -PT313148178698146281H866062127724898M + -PT313148178698146281H866062127724898M + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_09.xml new file mode 100644 index 0000000..b0ea7f7 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:duration + -PT1.5375209S + -PT1.5375209S + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_10.xml new file mode 100644 index 0000000..4600c9d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:duration + PT18688M + PT18688M + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_long_second_fractal.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_long_second_fractal.xml new file mode 100644 index 0000000..f1d404d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_long_second_fractal.xml @@ -0,0 +1,5 @@ + + xs:duration + PT1.12345678901234567890123456789012345678901234567890123456789012345678901234567890S + PT1.12345678901234567890123456789012345678901234567890123456789012345678901234567890S + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_many_many_seconds.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_many_many_seconds.xml new file mode 100644 index 0000000..3d088aa --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_many_many_seconds.xml @@ -0,0 +1,5 @@ + + xs:duration + PT12345678901234567890123456789012345678901234567890123456789012345678901234567890S + PT12345678901234567890123456789012345678901234567890123456789012345678901234567890S + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_month_seconds.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_month_seconds.xml new file mode 100644 index 0000000..a6af5a3 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_month_seconds.xml @@ -0,0 +1,5 @@ + + xs:duration + PT2M10S + PT2M10S + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_only_seconds.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_only_seconds.xml new file mode 100644 index 0000000..4da8ebe --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_only_seconds.xml @@ -0,0 +1,5 @@ + + xs:duration + PT130S + PT130S + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_only_year.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_only_year.xml new file mode 100644 index 0000000..5c69c4b --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Duration_only_year.xml @@ -0,0 +1,5 @@ + + xs:duration + -P1Y + -P1Y + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_float.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_float.xml new file mode 100644 index 0000000..da2289f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_float.xml @@ -0,0 +1,5 @@ + + xs:float + 1234.01234 + 1234.01234 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_01.xml new file mode 100644 index 0000000..df42841 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:float + -.80E0 + -.80E0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_02.xml new file mode 100644 index 0000000..d292f7c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:float + -147E7 + -147E7 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_03.xml new file mode 100644 index 0000000..c680f8e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:float + 18 + 18 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_04.xml new file mode 100644 index 0000000..140d370 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:float + .1532E+16 + .1532E+16 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_05.xml new file mode 100644 index 0000000..ce0eb90 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:float + +44.6393 + +44.6393 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_06.xml new file mode 100644 index 0000000..2ecf72c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:float + .5885e-29 + .5885e-29 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_07.xml new file mode 100644 index 0000000..7387e74 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:float + 1e-7 + 1e-7 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_08.xml new file mode 100644 index 0000000..daa3504 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:float + +732.55619 + +732.55619 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_09.xml new file mode 100644 index 0000000..4d937b0 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:float + .1E05 + .1E05 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_10.xml new file mode 100644 index 0000000..bd74ea0 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:float + 1102 + 1102 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_inf.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_inf.xml new file mode 100644 index 0000000..0a6f960 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_inf.xml @@ -0,0 +1,5 @@ + + xs:float + INF + INF + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_integer.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_integer.xml new file mode 100644 index 0000000..357ddd7 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_integer.xml @@ -0,0 +1,5 @@ + + xs:float + 1234 + 1234 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_integer_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_integer_with_preceding_zeros.xml new file mode 100644 index 0000000..afdd2b3 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_integer_with_preceding_zeros.xml @@ -0,0 +1,5 @@ + + xs:float + 0001234 + 0001234 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_largest_normal.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_largest_normal.xml new file mode 100644 index 0000000..f986c71 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_largest_normal.xml @@ -0,0 +1,5 @@ + + xs:float + 340282346638528859811704183484516925440 + 340282346638528859811704183484516925440 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_largest_number_less_than_one.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_largest_number_less_than_one.xml new file mode 100644 index 0000000..cb2594e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_largest_number_less_than_one.xml @@ -0,0 +1,5 @@ + + xs:float + 0.999999940395355224609375 + 0.999999940395355224609375 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_largest_subnormal.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_largest_subnormal.xml new file mode 100644 index 0000000..b5bf695 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_largest_subnormal.xml @@ -0,0 +1,5 @@ + + xs:float + 0.00000000000000000000000000000000000001175494210692441075487029444849287348827052428745893333857174530571588870475618904265502351336181163787841796875 + 0.00000000000000000000000000000000000001175494210692441075487029444849287348827052428745893333857174530571588870475618904265502351336181163787841796875 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_loss_of_precision_is_not_detected_by_design.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_loss_of_precision_is_not_detected_by_design.xml new file mode 100644 index 0000000..94a268c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_loss_of_precision_is_not_detected_by_design.xml @@ -0,0 +1,5 @@ + + xs:float + 1234.1234567890123456789012345678901234567890123456789012345678901234567890 + 1234.1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_nan.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_nan.xml new file mode 100644 index 0000000..eb6eae3 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_nan.xml @@ -0,0 +1,5 @@ + + xs:float + NaN + NaN + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_negative_inf.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_negative_inf.xml new file mode 100644 index 0000000..f7a6aaf --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_negative_inf.xml @@ -0,0 +1,5 @@ + + xs:float + -INF + -INF + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_scientific_notation.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_scientific_notation.xml new file mode 100644 index 0000000..adf4c44 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_scientific_notation.xml @@ -0,0 +1,5 @@ + + xs:float + 12.34e16 + 12.34e16 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_scientific_notation_negative.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_scientific_notation_negative.xml new file mode 100644 index 0000000..51df54f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_scientific_notation_negative.xml @@ -0,0 +1,5 @@ + + xs:float + -12.34e16 + -12.34e16 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_scientific_notation_negative_exponent.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_scientific_notation_negative_exponent.xml new file mode 100644 index 0000000..1190e1e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_scientific_notation_negative_exponent.xml @@ -0,0 +1,5 @@ + + xs:float + 12.34e-16 + 12.34e-16 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_scientific_notation_positive.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_scientific_notation_positive.xml new file mode 100644 index 0000000..0fc2956 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_scientific_notation_positive.xml @@ -0,0 +1,5 @@ + + xs:float + +12.34e16 + +12.34e16 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_scientific_notation_positive_exponent.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_scientific_notation_positive_exponent.xml new file mode 100644 index 0000000..7fd4827 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_scientific_notation_positive_exponent.xml @@ -0,0 +1,5 @@ + + xs:float + 12.34e+16 + 12.34e+16 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_smallest_number_larger_than_one.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_smallest_number_larger_than_one.xml new file mode 100644 index 0000000..adc87a4 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_smallest_number_larger_than_one.xml @@ -0,0 +1,5 @@ + + xs:float + 1.00000011920928955078125 + 1.00000011920928955078125 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_smallest_positive_normal.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_smallest_positive_normal.xml new file mode 100644 index 0000000..b1e3432 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_smallest_positive_normal.xml @@ -0,0 +1,5 @@ + + xs:float + 0.000000000000000000000000000000000000011754943508222875079687365372222456778186655567720875215087517062784172594547271728515625 + 0.000000000000000000000000000000000000011754943508222875079687365372222456778186655567720875215087517062784172594547271728515625 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_smallest_positive_subnormal.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_smallest_positive_subnormal.xml new file mode 100644 index 0000000..064bb11 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_smallest_positive_subnormal.xml @@ -0,0 +1,5 @@ + + xs:float + 0.00000000000000000000000000000000000000000000140129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125 + 0.00000000000000000000000000000000000000000000140129846432481707092372958328991613128026194187651577175706828388979108268586060148663818836212158203125 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_with_preceding_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_with_preceding_zeros.xml new file mode 100644 index 0000000..6bda748 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Float_with_preceding_zeros.xml @@ -0,0 +1,5 @@ + + xs:float + 0001234.01234 + 0001234.01234 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_day_not_existing_in_all_months_without_zone.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_day_not_existing_in_all_months_without_zone.xml new file mode 100644 index 0000000..f106fd4 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_day_not_existing_in_all_months_without_zone.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---31 + ---31 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_double_digit_day_without_zone.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_double_digit_day_without_zone.xml new file mode 100644 index 0000000..8f650fe --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_double_digit_day_without_zone.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---15 + ---15 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_01.xml new file mode 100644 index 0000000..e11e3d7 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---23Z + ---23Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_02.xml new file mode 100644 index 0000000..9f55ed4 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---24 + ---24 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_03.xml new file mode 100644 index 0000000..dc2692c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---10 + ---10 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_04.xml new file mode 100644 index 0000000..91700f6 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---30-14:00 + ---30-14:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_05.xml new file mode 100644 index 0000000..e6bc877 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---31-09:25 + ---31-09:25 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_06.xml new file mode 100644 index 0000000..e2b2d7d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---17Z + ---17Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_07.xml new file mode 100644 index 0000000..5a6ad26 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---30+00:00 + ---30+00:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_08.xml new file mode 100644 index 0000000..9aecb61 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---30-10:11 + ---30-10:11 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_09.xml new file mode 100644 index 0000000..31b21f7 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---22Z + ---22Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_10.xml new file mode 100644 index 0000000..3144548 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---30Z + ---30Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_negative_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_negative_offset.xml new file mode 100644 index 0000000..bf83220 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_negative_offset.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---01-04:00 + ---01-04:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_positive_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_positive_offset.xml new file mode 100644 index 0000000..328a430 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_positive_offset.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---01+02:00 + ---01+02:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_single_digit_day_without_zone.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_single_digit_day_without_zone.xml new file mode 100644 index 0000000..15ffb8e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_single_digit_day_without_zone.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---01 + ---01 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_utc_zone.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_utc_zone.xml new file mode 100644 index 0000000..fffba48 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_utc_zone.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---01Z + ---01Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_zero_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_zero_offset.xml new file mode 100644 index 0000000..7a2aa0a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_day_zero_offset.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---01+00:00 + ---01+00:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_double_digit_month_double_digit_day_without_zone.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_double_digit_month_double_digit_day_without_zone.xml new file mode 100644 index 0000000..0a36b7d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_double_digit_month_double_digit_day_without_zone.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --11-14 + --11-14 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_double_digit_month_single_digit_day_without_zone.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_double_digit_month_single_digit_day_without_zone.xml new file mode 100644 index 0000000..4618e15 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_double_digit_month_single_digit_day_without_zone.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --11-01 + --11-01 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_february_29th_which_does_not_exist_in_all_years.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_february_29th_which_does_not_exist_in_all_years.xml new file mode 100644 index 0000000..8addb82 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_february_29th_which_does_not_exist_in_all_years.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --02-29 + --02-29 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_01.xml new file mode 100644 index 0000000..dd926a2 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --11-20 + --11-20 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_02.xml new file mode 100644 index 0000000..0259fb9 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --12-06 + --12-06 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_03.xml new file mode 100644 index 0000000..1943bc3 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --12-01 + --12-01 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_04.xml new file mode 100644 index 0000000..123d305 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --11-21+14:00 + --11-21+14:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_05.xml new file mode 100644 index 0000000..df14b2a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --10-07 + --10-07 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_06.xml new file mode 100644 index 0000000..f90bc43 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --10-30 + --10-30 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_07.xml new file mode 100644 index 0000000..0233a18 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --12-27 + --12-27 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_08.xml new file mode 100644 index 0000000..10a3145 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --04-30 + --04-30 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_09.xml new file mode 100644 index 0000000..3e3241b --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --10-10-14:00 + --10-10-14:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_10.xml new file mode 100644 index 0000000..877ef9f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --10-11Z + --10-11Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_negative_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_negative_offset.xml new file mode 100644 index 0000000..d3470e1 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_negative_offset.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --11-01-04:00 + --11-01-04:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_positive_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_positive_offset.xml new file mode 100644 index 0000000..79e62d5 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_positive_offset.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --11-01+02:00 + --11-01+02:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_single_digit_month_single_digit_day_without_zone.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_single_digit_month_single_digit_day_without_zone.xml new file mode 100644 index 0000000..a6193c1 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_single_digit_month_single_digit_day_without_zone.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --05-01 + --05-01 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_utc_zone.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_utc_zone.xml new file mode 100644 index 0000000..320693b --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_utc_zone.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --11-01Z + --11-01Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_zero_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_zero_offset.xml new file mode 100644 index 0000000..79e62d5 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_day_zero_offset.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --11-01+02:00 + --11-01+02:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_double_digit_month_without_zone.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_double_digit_month_without_zone.xml new file mode 100644 index 0000000..192ee21 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_double_digit_month_without_zone.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --11 + --11 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_01.xml new file mode 100644 index 0000000..f4d8483 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --11-13:34 + --11-13:34 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_02.xml new file mode 100644 index 0000000..217832d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --10+14:00 + --10+14:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_03.xml new file mode 100644 index 0000000..12e6256 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --10+07:39 + --10+07:39 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_04.xml new file mode 100644 index 0000000..bea55d1 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --11-05:22 + --11-05:22 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_05.xml new file mode 100644 index 0000000..cbc6fe9 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --01 + --01 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_06.xml new file mode 100644 index 0000000..c4a785c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --12Z + --12Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_07.xml new file mode 100644 index 0000000..0145ebc --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --10-13:30 + --10-13:30 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_08.xml new file mode 100644 index 0000000..9c303ed --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --07 + --07 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_09.xml new file mode 100644 index 0000000..a9abaea --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --11-10:05 + --11-10:05 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_10.xml new file mode 100644 index 0000000..588330a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --11+12:33 + --11+12:33 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_negative_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_negative_offset.xml new file mode 100644 index 0000000..dad2e8e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_negative_offset.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --11-04:00 + --11-04:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_positive_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_positive_offset.xml new file mode 100644 index 0000000..7c170c9 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_positive_offset.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --11+02:00 + --11+02:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_single_digit_month_without_zone.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_single_digit_month_without_zone.xml new file mode 100644 index 0000000..bc237a4 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_single_digit_month_without_zone.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --05 + --05 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_utc_zone.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_utc_zone.xml new file mode 100644 index 0000000..d659374 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_utc_zone.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --11Z + --11Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_zero_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_zero_offset.xml new file mode 100644 index 0000000..a2c5b99 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_month_zero_offset.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --11+00:00 + --11+00:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_five_digit_negative_year.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_five_digit_negative_year.xml new file mode 100644 index 0000000..a59d950 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_five_digit_negative_year.xml @@ -0,0 +1,5 @@ + + xs:gYear + -20000 + -20000 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_five_digit_year.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_five_digit_year.xml new file mode 100644 index 0000000..3004eb7 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_five_digit_year.xml @@ -0,0 +1,5 @@ + + xs:gYear + 20000 + 20000 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_01.xml new file mode 100644 index 0000000..6fee552 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:gYear + 0740-07:36 + 0740-07:36 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_02.xml new file mode 100644 index 0000000..041e981 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:gYear + 125774274 + 125774274 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_03.xml new file mode 100644 index 0000000..3a64641 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:gYear + -0444 + -0444 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_04.xml new file mode 100644 index 0000000..331a7ce --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:gYear + 0000 + 0000 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_05.xml new file mode 100644 index 0000000..26f5084 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:gYear + -0111+14:00 + -0111+14:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_06.xml new file mode 100644 index 0000000..a48282c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:gYear + 11111 + 11111 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_07.xml new file mode 100644 index 0000000..5259b14 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:gYear + 973419862 + 973419862 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_08.xml new file mode 100644 index 0000000..4fa7983 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:gYear + 1717608219759Z + 1717608219759Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_09.xml new file mode 100644 index 0000000..3041c0a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:gYear + -0863 + -0863 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_10.xml new file mode 100644 index 0000000..fd994d7 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:gYear + -0109+14:00 + -0109+14:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_common_year_month.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_common_year_month.xml new file mode 100644 index 0000000..50b75cf --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_common_year_month.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + 2001-10 + 2001-10 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_five_digit_negative_year.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_five_digit_negative_year.xml new file mode 100644 index 0000000..993ead1 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_five_digit_negative_year.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + -20000-04 + -20000-04 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_01.xml new file mode 100644 index 0000000..222c78e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + -65822-10 + -65822-10 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_02.xml new file mode 100644 index 0000000..5be4455 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + 0730-10-14:00 + 0730-10-14:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_03.xml new file mode 100644 index 0000000..e9c5b9c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + -4111-11Z + -4111-11Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_04.xml new file mode 100644 index 0000000..c35a369 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + 1000-01 + 1000-01 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_05.xml new file mode 100644 index 0000000..7e92493 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + 0010-09-14:00 + 0010-09-14:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_06.xml new file mode 100644 index 0000000..ace8e6d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + 0555-07 + 0555-07 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_07.xml new file mode 100644 index 0000000..05bb555 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + 0404-11-14:00 + 0404-11-14:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_08.xml new file mode 100644 index 0000000..6822042 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + -0882-11+14:00 + -0882-11+14:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_09.xml new file mode 100644 index 0000000..147e590 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + -0230-09Z + -0230-09Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_10.xml new file mode 100644 index 0000000..a4e623d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + 0119-12-14:00 + 0119-12-14:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_negative_year.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_negative_year.xml new file mode 100644 index 0000000..31b96d7 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_negative_year.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + -2001-10 + -2001-10 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_very_large_negative_year.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_very_large_negative_year.xml new file mode 100644 index 0000000..b7fe302 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_very_large_negative_year.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + -123456789012345678901234567890123456789012345678901234567890-04 + -123456789012345678901234567890123456789012345678901234567890-04 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_very_large_positive_year.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_very_large_positive_year.xml new file mode 100644 index 0000000..364ab7b --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_very_large_positive_year.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + 123456789012345678901234567890123456789012345678901234567890-04 + 123456789012345678901234567890123456789012345678901234567890-04 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_with_negative_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_with_negative_offset.xml new file mode 100644 index 0000000..4d50eea --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_with_negative_offset.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + 2001-10-02:00 + 2001-10-02:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_with_positive_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_with_positive_offset.xml new file mode 100644 index 0000000..29185f2 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_with_positive_offset.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + 2001-10+02:00 + 2001-10+02:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_with_utc_zone.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_with_utc_zone.xml new file mode 100644 index 0000000..c9fc1bd --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_with_utc_zone.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + 2001-10Z + 2001-10Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_with_zero_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_with_zero_offset.xml new file mode 100644 index 0000000..2b0dbb1 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_month_with_zero_offset.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + 2001-10+00:00 + 2001-10+00:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_negative_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_negative_offset.xml new file mode 100644 index 0000000..89bb63d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_negative_offset.xml @@ -0,0 +1,5 @@ + + xs:gYear + 2001-04:00 + 2001-04:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_negative_year.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_negative_year.xml new file mode 100644 index 0000000..bf3a175 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_negative_year.xml @@ -0,0 +1,5 @@ + + xs:gYear + -2001 + -2001 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_positive_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_positive_offset.xml new file mode 100644 index 0000000..18a89fa --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_positive_offset.xml @@ -0,0 +1,5 @@ + + xs:gYear + 2001+02:00 + 2001+02:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_utc_zone.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_utc_zone.xml new file mode 100644 index 0000000..8d4bdeb --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_utc_zone.xml @@ -0,0 +1,5 @@ + + xs:gYear + 2001Z + 2001Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_very_large_negative_year.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_very_large_negative_year.xml new file mode 100644 index 0000000..2c3c840 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_very_large_negative_year.xml @@ -0,0 +1,5 @@ + + xs:gYear + -123456789012345678901234567890123456789012345678901234567890 + -123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_very_large_positive_year.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_very_large_positive_year.xml new file mode 100644 index 0000000..92219b7 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_very_large_positive_year.xml @@ -0,0 +1,5 @@ + + xs:gYear + 123456789012345678901234567890123456789012345678901234567890 + 123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_year_without_zone.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_year_without_zone.xml new file mode 100644 index 0000000..692c414 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_year_without_zone.xml @@ -0,0 +1,5 @@ + + xs:gYear + 2001 + 2001 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_zero_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_zero_offset.xml new file mode 100644 index 0000000..a345d32 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/G_year_zero_offset.xml @@ -0,0 +1,5 @@ + + xs:gYear + 2001+00:00 + 2001+00:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_empty.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_empty.xml new file mode 100644 index 0000000..6486091 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_empty.xml @@ -0,0 +1,5 @@ + + xs:hexBinary + + + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_01.xml new file mode 100644 index 0000000..3a7dc6b --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:hexBinary + f22fF9004a6D9AD1 + f22fF9004a6D9AD1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_02.xml new file mode 100644 index 0000000..6074a6d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:hexBinary + 00 + 00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_03.xml new file mode 100644 index 0000000..acdf21a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:hexBinary + FFFFfef3CB + FFFFfef3CB + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_04.xml new file mode 100644 index 0000000..11b63a7 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:hexBinary + A8 + A8 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_05.xml new file mode 100644 index 0000000..b4d6ee6 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:hexBinary + 3C3C82 + 3C3C82 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_06.xml new file mode 100644 index 0000000..2aef7a9 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:hexBinary + 23ee + 23ee + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_07.xml new file mode 100644 index 0000000..6074a6d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:hexBinary + 00 + 00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_08.xml new file mode 100644 index 0000000..285916c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:hexBinary + aBe5ccF85fbf32 + aBe5ccF85fbf32 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_09.xml new file mode 100644 index 0000000..285916c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:hexBinary + aBe5ccF85fbf32 + aBe5ccF85fbf32 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_10.xml new file mode 100644 index 0000000..d573bc9 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:hexBinary + C4E02bbC + C4E02bbC + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_long_random_hex.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_long_random_hex.xml new file mode 100644 index 0000000..b325404 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_long_random_hex.xml @@ -0,0 +1,5 @@ + + xs:hexBinary + 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e67 + 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e67 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_one_one.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_one_one.xml new file mode 100644 index 0000000..783f899 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_one_one.xml @@ -0,0 +1,5 @@ + + xs:hexBinary + 11 + 11 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_one_two.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_one_two.xml new file mode 100644 index 0000000..fb82b96 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_one_two.xml @@ -0,0 +1,5 @@ + + xs:hexBinary + 12 + 12 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_one_two_three_four.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_one_two_three_four.xml new file mode 100644 index 0000000..7b6354c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Hex_binary_one_two_three_four.xml @@ -0,0 +1,5 @@ + + xs:hexBinary + 1234 + 1234 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_common_example.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_common_example.xml new file mode 100644 index 0000000..4a4a999 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_common_example.xml @@ -0,0 +1,5 @@ + + xs:int + 1 + 1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_explicitly_positive.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_explicitly_positive.xml new file mode 100644 index 0000000..8f98c5e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_explicitly_positive.xml @@ -0,0 +1,5 @@ + + xs:int + +1 + +1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_01.xml new file mode 100644 index 0000000..9f754e5 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:int + 00 + 00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_02.xml new file mode 100644 index 0000000..12d596a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:int + -0 + -0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_03.xml new file mode 100644 index 0000000..c4a5d5d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:int + 000000000000069268 + 000000000000069268 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_04.xml new file mode 100644 index 0000000..fa8567e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:int + +478978 + +478978 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_05.xml new file mode 100644 index 0000000..a1084ca --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:int + 7097 + 7097 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_06.xml new file mode 100644 index 0000000..12954ab --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:int + 68 + 68 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_07.xml new file mode 100644 index 0000000..cb8a2eb --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:int + +0 + +0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_08.xml new file mode 100644 index 0000000..b51ff6f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:int + 6612453 + 6612453 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_09.xml new file mode 100644 index 0000000..c7544ec --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:int + -00 + -00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_10.xml new file mode 100644 index 0000000..61e34c0 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:int + +0000000946381 + +0000000946381 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_max.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_max.xml new file mode 100644 index 0000000..2e6a3f8 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_max.xml @@ -0,0 +1,5 @@ + + xs:int + 2147483647 + 2147483647 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_min.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_min.xml new file mode 100644 index 0000000..ae3da1b --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_min.xml @@ -0,0 +1,5 @@ + + xs:int + -2147483648 + -2147483648 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_negative.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_negative.xml new file mode 100644 index 0000000..fc38db3 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_negative.xml @@ -0,0 +1,5 @@ + + xs:int + -1 + -1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_prefixed_with_zeros.xml new file mode 100644 index 0000000..e91a978 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:int + 001 + 001 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_zero.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_zero.xml new file mode 100644 index 0000000..ee69c8c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_zero.xml @@ -0,0 +1,5 @@ + + xs:int + 0 + 0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..19ea1d8 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Int_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:int + 000 + 000 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_common_example.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_common_example.xml new file mode 100644 index 0000000..94dd660 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_common_example.xml @@ -0,0 +1,5 @@ + + xs:integer + 1 + 1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_explicitly_positive.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_explicitly_positive.xml new file mode 100644 index 0000000..45ebdcb --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_explicitly_positive.xml @@ -0,0 +1,5 @@ + + xs:integer + +1 + +1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_01.xml new file mode 100644 index 0000000..543955d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:integer + 817778847926480 + 817778847926480 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_02.xml new file mode 100644 index 0000000..a6eb8d3 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:integer + +022 + +022 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_03.xml new file mode 100644 index 0000000..48c347b --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:integer + -43045 + -43045 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_04.xml new file mode 100644 index 0000000..407c7b9 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:integer + -3009 + -3009 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_05.xml new file mode 100644 index 0000000..693746d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:integer + 0 + 0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_06.xml new file mode 100644 index 0000000..6407f11 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:integer + -3 + -3 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_07.xml new file mode 100644 index 0000000..50b5b8e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:integer + 8 + 8 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_08.xml new file mode 100644 index 0000000..cfd6cd5 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:integer + 221 + 221 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_09.xml new file mode 100644 index 0000000..9aaa6ae --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:integer + 9191 + 9191 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_10.xml new file mode 100644 index 0000000..0be87a1 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:integer + -3909 + -3909 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_negative.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_negative.xml new file mode 100644 index 0000000..080c82b --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_negative.xml @@ -0,0 +1,5 @@ + + xs:integer + -1 + -1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_prefixed_with_zeros.xml new file mode 100644 index 0000000..0c301ce --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:integer + 001 + 001 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_very_large.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_very_large.xml new file mode 100644 index 0000000..8857b97 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_very_large.xml @@ -0,0 +1,5 @@ + + xs:integer + 1234567890123456789012345678901234567890123456789012345678901234567890 + 1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_zero.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_zero.xml new file mode 100644 index 0000000..693746d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_zero.xml @@ -0,0 +1,5 @@ + + xs:integer + 0 + 0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..0f3f2e1 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Integer_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:integer + 000 + 000 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_common_example.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_common_example.xml new file mode 100644 index 0000000..e15f0b6 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_common_example.xml @@ -0,0 +1,5 @@ + + xs:long + 1 + 1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_explicitly_positive.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_explicitly_positive.xml new file mode 100644 index 0000000..77e1108 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_explicitly_positive.xml @@ -0,0 +1,5 @@ + + xs:long + +1 + +1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_01.xml new file mode 100644 index 0000000..9dce235 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:long + -002728 + -002728 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_02.xml new file mode 100644 index 0000000..52e34de --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:long + 6257 + 6257 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_03.xml new file mode 100644 index 0000000..7b6b4dd --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:long + 088 + 088 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_04.xml new file mode 100644 index 0000000..f3ca894 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:long + 29 + 29 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_05.xml new file mode 100644 index 0000000..8234d0a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:long + -288 + -288 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_06.xml new file mode 100644 index 0000000..7663681 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:long + 004775 + 004775 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_07.xml new file mode 100644 index 0000000..593e14e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:long + 2912577609592844 + 2912577609592844 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_08.xml new file mode 100644 index 0000000..34fa614 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:long + -0161 + -0161 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_09.xml new file mode 100644 index 0000000..39c6391 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:long + 00000000000048533 + 00000000000048533 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_10.xml new file mode 100644 index 0000000..2f259af --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:long + 3116670676 + 3116670676 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_max.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_max.xml new file mode 100644 index 0000000..f7e62ca --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_max.xml @@ -0,0 +1,5 @@ + + xs:long + 9223372036854775807 + 9223372036854775807 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_min.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_min.xml new file mode 100644 index 0000000..de7902f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_min.xml @@ -0,0 +1,5 @@ + + xs:long + -9223372036854775808 + -9223372036854775808 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_negative.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_negative.xml new file mode 100644 index 0000000..4796058 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_negative.xml @@ -0,0 +1,5 @@ + + xs:long + -1 + -1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_prefixed_with_zeros.xml new file mode 100644 index 0000000..6dd23d6 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:long + 001 + 001 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_zero.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_zero.xml new file mode 100644 index 0000000..bd51466 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_zero.xml @@ -0,0 +1,5 @@ + + xs:long + 0 + 0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..a0c0598 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Long_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:long + 000 + 000 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_01.xml new file mode 100644 index 0000000..bac4aee --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + -001 + -001 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_02.xml new file mode 100644 index 0000000..3da2682 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + -002 + -002 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_03.xml new file mode 100644 index 0000000..81bfd9b --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + -009 + -009 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_04.xml new file mode 100644 index 0000000..693ae7a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + -8 + -8 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_05.xml new file mode 100644 index 0000000..c6ff3db --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + -1 + -1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_06.xml new file mode 100644 index 0000000..8dcaedd --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + -00000000000000000000000516481 + -00000000000000000000000516481 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_07.xml new file mode 100644 index 0000000..f5803ee --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + -003 + -003 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_08.xml new file mode 100644 index 0000000..a763bb9 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + -00126 + -00126 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_09.xml new file mode 100644 index 0000000..83cfafd --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + -01 + -01 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_10.xml new file mode 100644 index 0000000..387ea0e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + -3 + -3 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_negative.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_negative.xml new file mode 100644 index 0000000..c6ff3db --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_negative.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + -1 + -1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_prefixed_with_zeros.xml new file mode 100644 index 0000000..bac4aee --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + -001 + -001 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_very_large.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_very_large.xml new file mode 100644 index 0000000..21cea0f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Negative_integer_very_large.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + -1234567890123456789012345678901234567890123456789012345678901234567890 + -1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_common_example.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_common_example.xml new file mode 100644 index 0000000..6e57143 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_common_example.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + 1 + 1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_explicitly_positive.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_explicitly_positive.xml new file mode 100644 index 0000000..2ededde --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_explicitly_positive.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + +1 + +1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_explicitly_positive_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_explicitly_positive_prefixed_with_zeros.xml new file mode 100644 index 0000000..b782fc1 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_explicitly_positive_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + +001 + +001 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_01.xml new file mode 100644 index 0000000..6c8b2b6 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + +4 + +4 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_02.xml new file mode 100644 index 0000000..830bf37 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + 00018 + 00018 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_03.xml new file mode 100644 index 0000000..cb75949 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + 22777 + 22777 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_04.xml new file mode 100644 index 0000000..69ae9bf --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + 22077 + 22077 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_05.xml new file mode 100644 index 0000000..6ae2500 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + +06 + +06 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_06.xml new file mode 100644 index 0000000..e21e93f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + 09 + 09 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_07.xml new file mode 100644 index 0000000..5ab84ea --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + +3 + +3 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_08.xml new file mode 100644 index 0000000..c151a44 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + +5739 + +5739 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_09.xml new file mode 100644 index 0000000..4953fc5 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + +70126 + +70126 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_10.xml new file mode 100644 index 0000000..b72a377 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + 05688 + 05688 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_minus_zero.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_minus_zero.xml new file mode 100644 index 0000000..9d2a7e1 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_minus_zero.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + -0 + -0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_positive_zero.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_positive_zero.xml new file mode 100644 index 0000000..85e9172 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_positive_zero.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + +0 + +0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_prefixed_with_zeros.xml new file mode 100644 index 0000000..4d9d402 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + 001 + 001 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_very_large.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_very_large.xml new file mode 100644 index 0000000..679bde6 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_very_large.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + 1234567890123456789012345678901234567890123456789012345678901234567890 + 1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_zero.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_zero.xml new file mode 100644 index 0000000..80a4465 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_zero.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + 0 + 0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..7d7bbd4 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_negative_integer_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + 000 + 000 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_explicitly_positive_zero.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_explicitly_positive_zero.xml new file mode 100644 index 0000000..1533ad3 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_explicitly_positive_zero.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + +0 + +0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_01.xml new file mode 100644 index 0000000..de23b28 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + -51 + -51 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_02.xml new file mode 100644 index 0000000..73511a5 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + -8908938 + -8908938 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_03.xml new file mode 100644 index 0000000..7d4b3ea --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + -553 + -553 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_04.xml new file mode 100644 index 0000000..1533ad3 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + +0 + +0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_05.xml new file mode 100644 index 0000000..aa6ef54 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + -4006 + -4006 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_06.xml new file mode 100644 index 0000000..4c2eac7 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + -83 + -83 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_07.xml new file mode 100644 index 0000000..75f5e6c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + -004 + -004 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_08.xml new file mode 100644 index 0000000..272f152 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + -551521749598676413553 + -551521749598676413553 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_09.xml new file mode 100644 index 0000000..0a9e126 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + -12116166 + -12116166 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_10.xml new file mode 100644 index 0000000..7d4b3ea --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + -553 + -553 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_negative.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_negative.xml new file mode 100644 index 0000000..5d79e49 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_negative.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + -1 + -1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_prefixed_with_zeros.xml new file mode 100644 index 0000000..e20ed83 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + -001 + -001 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_very_large.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_very_large.xml new file mode 100644 index 0000000..453a443 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_very_large.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + -1234567890123456789012345678901234567890123456789012345678901234567890 + -1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_zero.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_zero.xml new file mode 100644 index 0000000..03dd8b2 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Non_positive_integer_zero.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + 0 + 0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_common_example.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_common_example.xml new file mode 100644 index 0000000..619aa80 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_common_example.xml @@ -0,0 +1,5 @@ + + xs:positiveInteger + 1 + 1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_explicitly_positive.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_explicitly_positive.xml new file mode 100644 index 0000000..93b2c44 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_explicitly_positive.xml @@ -0,0 +1,5 @@ + + xs:positiveInteger + +1 + +1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_01.xml new file mode 100644 index 0000000..a9cdcb1 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:positiveInteger + 550788 + 550788 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_02.xml new file mode 100644 index 0000000..98bde8a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:positiveInteger + 7775 + 7775 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_03.xml new file mode 100644 index 0000000..2343872 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:positiveInteger + +87138 + +87138 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_04.xml new file mode 100644 index 0000000..21d6437 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:positiveInteger + 8093888718 + 8093888718 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_05.xml new file mode 100644 index 0000000..1f8c7df --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:positiveInteger + 01145 + 01145 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_06.xml new file mode 100644 index 0000000..b307b1e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:positiveInteger + 01 + 01 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_07.xml new file mode 100644 index 0000000..054a5ff --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:positiveInteger + +57345 + +57345 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_08.xml new file mode 100644 index 0000000..33a86b0 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:positiveInteger + 54691 + 54691 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_09.xml new file mode 100644 index 0000000..58a4a62 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:positiveInteger + +01 + +01 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_10.xml new file mode 100644 index 0000000..217cbea --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:positiveInteger + 3 + 3 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_prefixed_with_zeros.xml new file mode 100644 index 0000000..1842d0d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:positiveInteger + 001 + 001 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_very_large.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_very_large.xml new file mode 100644 index 0000000..fa3fce0 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Positive_integer_very_large.xml @@ -0,0 +1,5 @@ + + xs:positiveInteger + 1234567890123456789012345678901234567890123456789012345678901234567890 + 1234567890123456789012345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_common_example.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_common_example.xml new file mode 100644 index 0000000..bff02cd --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_common_example.xml @@ -0,0 +1,5 @@ + + xs:short + 1 + 1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_explicitly_positive.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_explicitly_positive.xml new file mode 100644 index 0000000..f109516 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_explicitly_positive.xml @@ -0,0 +1,5 @@ + + xs:short + +1 + +1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_01.xml new file mode 100644 index 0000000..d3a6be9 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:short + 9 + 9 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_02.xml new file mode 100644 index 0000000..46aa59e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:short + 01 + 01 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_03.xml new file mode 100644 index 0000000..f109516 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:short + +1 + +1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_04.xml new file mode 100644 index 0000000..d80bf4a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:short + 8801 + 8801 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_05.xml new file mode 100644 index 0000000..e03299a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:short + 125 + 125 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_06.xml new file mode 100644 index 0000000..ba385bf --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:short + 20518 + 20518 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_07.xml new file mode 100644 index 0000000..7ca741d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:short + 60 + 60 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_08.xml new file mode 100644 index 0000000..d09a0f4 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:short + -01 + -01 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_09.xml new file mode 100644 index 0000000..66beb12 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:short + +31923 + +31923 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_10.xml new file mode 100644 index 0000000..c8d220f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:short + 22 + 22 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_max.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_max.xml new file mode 100644 index 0000000..e2c4f5e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_max.xml @@ -0,0 +1,5 @@ + + xs:short + 32767 + 32767 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_min.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_min.xml new file mode 100644 index 0000000..2c9160f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_min.xml @@ -0,0 +1,5 @@ + + xs:short + -32768 + -32768 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_negative.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_negative.xml new file mode 100644 index 0000000..7d6bb26 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_negative.xml @@ -0,0 +1,5 @@ + + xs:short + -1 + -1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_prefixed_with_zeros.xml new file mode 100644 index 0000000..9cdcfb3 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:short + 001 + 001 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_zero.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_zero.xml new file mode 100644 index 0000000..0dce2d7 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_zero.xml @@ -0,0 +1,5 @@ + + xs:short + 0 + 0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..d88ca67 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Short_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:short + 000 + 000 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_empty.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_empty.xml new file mode 100644 index 0000000..4b0bedd --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_empty.xml @@ -0,0 +1,5 @@ + + xs:string + + + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_free_form_text.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_free_form_text.xml new file mode 100644 index 0000000..032701b --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:string + some free & <free> ᦄ form text + some free & <free> ᦄ form text + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_01.xml new file mode 100644 index 0000000..1186471 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:string + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_02.xml new file mode 100644 index 0000000..fca4d53 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:string + 𠤢4𠤢 + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_03.xml new file mode 100644 index 0000000..7867a07 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:string + [\h$񒺟ìÖċŠ1¿ + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_04.xml new file mode 100644 index 0000000..a0c8133 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:string + öĖa􍣡™| + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_05.xml new file mode 100644 index 0000000..23ee81d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:string + J5 + J5 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_06.xml new file mode 100644 index 0000000..4a8fdca --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:string + Ûă<P󨱽²|dnœÞ® + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_07.xml new file mode 100644 index 0000000..44ddbb7 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:string + 6 + 6 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_08.xml new file mode 100644 index 0000000..4614d43 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:string + 򤑌M𪠇𛔊򂄲 + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_09.xml new file mode 100644 index 0000000..8f273a6 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:string + <ă<P󨱽²|dnœÞ® + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_10.xml new file mode 100644 index 0000000..cc938a5 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/String_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:string + 0 + 0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_common_example.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_common_example.xml new file mode 100644 index 0000000..aafe7ef --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_common_example.xml @@ -0,0 +1,5 @@ + + xs:time + 21:32:52 + 21:32:52 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_01.xml new file mode 100644 index 0000000..713626c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:time + 24:00:00.00Z + 24:00:00.00Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_02.xml new file mode 100644 index 0000000..b60adab --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:time + 01:19:39.4378+10:53 + 01:19:39.4378+10:53 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_03.xml new file mode 100644 index 0000000..b1d1004 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:time + 01:00:12+14:00 + 01:00:12+14:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_04.xml new file mode 100644 index 0000000..c7fbb93 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:time + 24:00:00.0Z + 24:00:00.0Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_05.xml new file mode 100644 index 0000000..c162998 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:time + 01:10:12+14:00 + 01:10:12+14:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_06.xml new file mode 100644 index 0000000..b00d21c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:time + 24:00:00-14:00 + 24:00:00-14:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_07.xml new file mode 100644 index 0000000..8d93169 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:time + 20:55:25 + 20:55:25 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_08.xml new file mode 100644 index 0000000..b15da73 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:time + 24:00:00-10:44 + 24:00:00-10:44 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_09.xml new file mode 100644 index 0000000..df3c3de --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:time + 24:00:00-13:00 + 24:00:00-13:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_10.xml new file mode 100644 index 0000000..2d834f8 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:time + 24:00:00.000000+14:00 + 24:00:00.000000+14:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_negative_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_negative_offset.xml new file mode 100644 index 0000000..098b3a4 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_negative_offset.xml @@ -0,0 +1,5 @@ + + xs:time + 21:32:52-02:00 + 21:32:52-02:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_positive_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_positive_offset.xml new file mode 100644 index 0000000..443ffa0 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_positive_offset.xml @@ -0,0 +1,5 @@ + + xs:time + 21:32:52+02:00 + 21:32:52+02:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_with_long_second_fractional.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_with_long_second_fractional.xml new file mode 100644 index 0000000..fd9023e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_with_long_second_fractional.xml @@ -0,0 +1,5 @@ + + xs:time + 21:32:52.12345678901234567890123456789012345678901234567890 + 21:32:52.12345678901234567890123456789012345678901234567890 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_with_second_fractional.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_with_second_fractional.xml new file mode 100644 index 0000000..33061eb --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_with_second_fractional.xml @@ -0,0 +1,5 @@ + + xs:time + 21:32:52.12679 + 21:32:52.12679 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_with_utc_timezone.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_with_utc_timezone.xml new file mode 100644 index 0000000..e7b76d3 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_with_utc_timezone.xml @@ -0,0 +1,5 @@ + + xs:time + 19:32:52Z + 19:32:52Z + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_zero_offset.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_zero_offset.xml new file mode 100644 index 0000000..77bd4d4 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Time_zero_offset.xml @@ -0,0 +1,5 @@ + + xs:time + 21:32:52+00:00 + 21:32:52+00:00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_common_example.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_common_example.xml new file mode 100644 index 0000000..c01a85f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_common_example.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + 1 + 1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_explicitly_positive.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_explicitly_positive.xml new file mode 100644 index 0000000..7018893 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_explicitly_positive.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + +1 + +1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_01.xml new file mode 100644 index 0000000..7dd74c6 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + 0000000000000000000000000000067 + 0000000000000000000000000000067 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_02.xml new file mode 100644 index 0000000..fcbf9f0 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + +130 + +130 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_03.xml new file mode 100644 index 0000000..ed34dcb --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + 232 + 232 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_04.xml new file mode 100644 index 0000000..a3968cd --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + +110 + +110 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_05.xml new file mode 100644 index 0000000..bb631c1 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + +000000000012 + +000000000012 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_06.xml new file mode 100644 index 0000000..4c6a447 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + 055 + 055 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_07.xml new file mode 100644 index 0000000..a6f0a3f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + 031 + 031 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_08.xml new file mode 100644 index 0000000..f533ba6 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + 0178 + 0178 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_09.xml new file mode 100644 index 0000000..c1fc41c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + +00 + +00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_10.xml new file mode 100644 index 0000000..c434a20 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + +00000006 + +00000006 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_max.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_max.xml new file mode 100644 index 0000000..3890bb1 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_max.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + 255 + 255 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_prefixed_with_zeros.xml new file mode 100644 index 0000000..a341e76 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + 001 + 001 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_zero.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_zero.xml new file mode 100644 index 0000000..99bbdab --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_zero.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + 0 + 0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..a8de3fa --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_byte_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + 000 + 000 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_common_example.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_common_example.xml new file mode 100644 index 0000000..ef83fc5 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_common_example.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + 1 + 1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_explicitly_positive.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_explicitly_positive.xml new file mode 100644 index 0000000..b06d089 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_explicitly_positive.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + +1 + +1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_01.xml new file mode 100644 index 0000000..153d20f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + +000832736002 + +000832736002 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_02.xml new file mode 100644 index 0000000..8407a8b --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + 0454 + 0454 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_03.xml new file mode 100644 index 0000000..153ef53 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + 0000000000001161715506 + 0000000000001161715506 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_04.xml new file mode 100644 index 0000000..57126f5 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + +0006096840 + +0006096840 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_05.xml new file mode 100644 index 0000000..194862e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + 8547 + 8547 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_06.xml new file mode 100644 index 0000000..ab2767f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + +092843 + +092843 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_07.xml new file mode 100644 index 0000000..37f1531 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + +44 + +44 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_08.xml new file mode 100644 index 0000000..f51f982 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + +0881299729 + +0881299729 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_09.xml new file mode 100644 index 0000000..53a2ca4 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + +00604 + +00604 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_10.xml new file mode 100644 index 0000000..11bc9ce --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + +000101 + +000101 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_max.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_max.xml new file mode 100644 index 0000000..a0be848 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_max.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + 4294967295 + 4294967295 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_prefixed_with_zeros.xml new file mode 100644 index 0000000..1d512d4 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + 001 + 001 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_zero.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_zero.xml new file mode 100644 index 0000000..990a4c9 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_zero.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + 0 + 0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..e9bf231 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_int_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + 000 + 000 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_common_example.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_common_example.xml new file mode 100644 index 0000000..800027f --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_common_example.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + 1 + 1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_explicitly_positive.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_explicitly_positive.xml new file mode 100644 index 0000000..51dae58 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_explicitly_positive.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + +1 + +1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_01.xml new file mode 100644 index 0000000..d07f1f3 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + 00 + 00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_02.xml new file mode 100644 index 0000000..9dce0f2 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + +0013081 + +0013081 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_03.xml new file mode 100644 index 0000000..1a1abaa --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + +00008773 + +00008773 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_04.xml new file mode 100644 index 0000000..38d5816 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + +000000858 + +000000858 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_05.xml new file mode 100644 index 0000000..cb0d258 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + +000000000002599 + +000000000002599 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_06.xml new file mode 100644 index 0000000..5ece262 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + +0257364527 + +0257364527 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_07.xml new file mode 100644 index 0000000..1439200 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + +000000038893 + +000000038893 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_08.xml new file mode 100644 index 0000000..f70f7a6 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + +0000000000000111491 + +0000000000000111491 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_09.xml new file mode 100644 index 0000000..2fb2370 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + +09 + +09 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_10.xml new file mode 100644 index 0000000..0f15a18 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + 0012208354443 + 0012208354443 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_max.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_max.xml new file mode 100644 index 0000000..c6501bb --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_max.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + 18446744073709551615 + 18446744073709551615 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_prefixed_with_zeros.xml new file mode 100644 index 0000000..8423304 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + 001 + 001 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_zero.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_zero.xml new file mode 100644 index 0000000..0f22ff2 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_zero.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + 0 + 0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..f47614a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_long_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + 000 + 000 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_common_example.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_common_example.xml new file mode 100644 index 0000000..32ea15a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_common_example.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + 1 + 1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_explicitly_positive.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_explicitly_positive.xml new file mode 100644 index 0000000..1942fb8 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_explicitly_positive.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + +1 + +1 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_01.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_01.xml new file mode 100644 index 0000000..3a5027e --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + +00 + +00 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_02.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_02.xml new file mode 100644 index 0000000..5422f14 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_02.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + 06949 + 06949 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_03.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_03.xml new file mode 100644 index 0000000..deff7e7 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + 0391 + 0391 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_04.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_04.xml new file mode 100644 index 0000000..e3ed295 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + +000004 + +000004 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_05.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_05.xml new file mode 100644 index 0000000..1656555 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + 00000000391 + 00000000391 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_06.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_06.xml new file mode 100644 index 0000000..82fd26d --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + +085 + +085 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_07.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_07.xml new file mode 100644 index 0000000..cfbe1f5 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_07.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + 10233 + 10233 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_08.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_08.xml new file mode 100644 index 0000000..987cdae --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + 044598 + 044598 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_09.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_09.xml new file mode 100644 index 0000000..337cc2c --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_09.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + +00066 + +00066 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_10.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_10.xml new file mode 100644 index 0000000..4479eb5 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + +00000000000000000000003250 + +00000000000000000000003250 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_max.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_max.xml new file mode 100644 index 0000000..82db1c8 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_max.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + 65535 + 65535 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_prefixed_with_zeros.xml new file mode 100644 index 0000000..0d0307a --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + 001 + 001 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_zero.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_zero.xml new file mode 100644 index 0000000..f976431 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_zero.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + 0 + 0 + diff --git a/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..4f505e2 --- /dev/null +++ b/dev/test_data/Xml/Expected/range/overMinMaxExamples/Unsigned_short_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + 000 + 000 + diff --git a/dev/test_data/Xml/Expected/reference/external_reference_first_key_in_generic_globally_identifiables.xml b/dev/test_data/Xml/Expected/reference/external_reference_first_key_in_generic_globally_identifiables.xml new file mode 100644 index 0000000..8196beb --- /dev/null +++ b/dev/test_data/Xml/Expected/reference/external_reference_first_key_in_generic_globally_identifiables.xml @@ -0,0 +1,9 @@ + + ExternalReference + + + GlobalReference + https://example.com/something + + + diff --git a/dev/test_data/Xml/Expected/reference/external_reference_last_key_in_generic_fragment_keys.xml b/dev/test_data/Xml/Expected/reference/external_reference_last_key_in_generic_fragment_keys.xml new file mode 100644 index 0000000..e949454 --- /dev/null +++ b/dev/test_data/Xml/Expected/reference/external_reference_last_key_in_generic_fragment_keys.xml @@ -0,0 +1,13 @@ + + ExternalReference + + + GlobalReference + https://example.com/something + + + FragmentReference + something-more + + + diff --git a/dev/test_data/Xml/Expected/reference/external_reference_last_key_in_generic_globally_identifiable.xml b/dev/test_data/Xml/Expected/reference/external_reference_last_key_in_generic_globally_identifiable.xml new file mode 100644 index 0000000..d4fa44c --- /dev/null +++ b/dev/test_data/Xml/Expected/reference/external_reference_last_key_in_generic_globally_identifiable.xml @@ -0,0 +1,13 @@ + + ExternalReference + + + GlobalReference + https://example.com/something + + + GlobalReference + something-more + + + diff --git a/dev/test_data/Xml/Expected/reference/maximal.xml b/dev/test_data/Xml/Expected/reference/maximal.xml new file mode 100644 index 0000000..59a779c --- /dev/null +++ b/dev/test_data/Xml/Expected/reference/maximal.xml @@ -0,0 +1,18 @@ + + ExternalReference + + ExternalReference + + + GlobalReference + urn:another-example:00:3fff168c + + + + + + GlobalReference + urn:example:10:6914e6d2 + + + diff --git a/dev/test_data/Xml/Expected/reference/minimal.xml b/dev/test_data/Xml/Expected/reference/minimal.xml new file mode 100644 index 0000000..579c9fd --- /dev/null +++ b/dev/test_data/Xml/Expected/reference/minimal.xml @@ -0,0 +1,9 @@ + + ExternalReference + + + GlobalReference + urn:example:10:6914e6d2 + + + diff --git a/dev/test_data/Xml/Expected/reference/model_reference_first_key_in_globally_and_aas_identifiables.xml b/dev/test_data/Xml/Expected/reference/model_reference_first_key_in_globally_and_aas_identifiables.xml new file mode 100644 index 0000000..bec1bbe --- /dev/null +++ b/dev/test_data/Xml/Expected/reference/model_reference_first_key_in_globally_and_aas_identifiables.xml @@ -0,0 +1,9 @@ + + ModelReference + + + Submodel + https://example.com/something + + + diff --git a/dev/test_data/Xml/Expected/reference/model_reference_fragment_after_blob.xml b/dev/test_data/Xml/Expected/reference/model_reference_fragment_after_blob.xml new file mode 100644 index 0000000..d5b176f --- /dev/null +++ b/dev/test_data/Xml/Expected/reference/model_reference_fragment_after_blob.xml @@ -0,0 +1,17 @@ + + ModelReference + + + Submodel + https://example.com/something + + + Blob + something_more + + + FragmentReference + yet_something_more + + + diff --git a/dev/test_data/Xml/Expected/reference/model_reference_valid_key_value_after_list.xml b/dev/test_data/Xml/Expected/reference/model_reference_valid_key_value_after_list.xml new file mode 100644 index 0000000..b7f7a4f --- /dev/null +++ b/dev/test_data/Xml/Expected/reference/model_reference_valid_key_value_after_list.xml @@ -0,0 +1,17 @@ + + ModelReference + + + Submodel + https://example.com/something + + + SubmodelElementList + something_more + + + Property + 123 + + + diff --git a/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..6ff9364 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..2b28543 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..ce8b7d1 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..22bd3ad --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..6b4c167 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..fc42e86 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..43f193e --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + 6 + diff --git a/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..a3346a5 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..cad8130 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..d9da909 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/categoryOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/alternating_hyphen_underscore.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/alternating_hyphen_underscore.xml new file mode 100644 index 0000000..68f1879 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/alternating_hyphen_underscore.xml @@ -0,0 +1,3 @@ + + a-_-_-_-_-_ + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/ends_with_underscore.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/ends_with_underscore.xml new file mode 100644 index 0000000..80bd5d1 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/ends_with_underscore.xml @@ -0,0 +1,3 @@ + + strange-name_ + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..d61c824 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + fULCVpULCVq + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..9243a35 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + AopQejF + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..6d6c059 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + Jk0k1414Di + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..a008c9e --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + pVz10Vz10vZZNO9hM + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..ffe95dd --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + t8x1pz9WS4TGV + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..31faf95 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + tWC + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..20f616e --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + xF2bO_Uje6 + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..0f9018f --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + EO5DYAe + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..df0839c --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + nRdRe + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..4d34af5 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + P7gn + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/hyphen_then_underscore.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/hyphen_then_underscore.xml new file mode 100644 index 0000000..9ee42b5 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/hyphen_then_underscore.xml @@ -0,0 +1,3 @@ + + a-_ + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/many_internal_hyphens.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/many_internal_hyphens.xml new file mode 100644 index 0000000..113abb2 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/many_internal_hyphens.xml @@ -0,0 +1,3 @@ + + a----------------b + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/many_underscores.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/many_underscores.xml new file mode 100644 index 0000000..e308181 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/many_underscores.xml @@ -0,0 +1,3 @@ + + a________________ + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/minimal_digit.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/minimal_digit.xml new file mode 100644 index 0000000..885d36c --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/minimal_digit.xml @@ -0,0 +1,3 @@ + + a0 + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/minimal_lower.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/minimal_lower.xml new file mode 100644 index 0000000..e6ed565 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/minimal_lower.xml @@ -0,0 +1,3 @@ + + aa + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/minimal_underscore.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/minimal_underscore.xml new file mode 100644 index 0000000..36813cf --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/minimal_underscore.xml @@ -0,0 +1,3 @@ + + a_ + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/minimal_upper.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/minimal_upper.xml new file mode 100644 index 0000000..9430052 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/minimal_upper.xml @@ -0,0 +1,3 @@ + + AZ + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/single_internal_hyphen.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/single_internal_hyphen.xml new file mode 100644 index 0000000..b367bef --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/single_internal_hyphen.xml @@ -0,0 +1,3 @@ + + a-b + diff --git a/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/underscore_after_first.xml b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/underscore_after_first.xml new file mode 100644 index 0000000..fb11344 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/idShortOverPatternExamples/underscore_after_first.xml @@ -0,0 +1,3 @@ + + A_ + diff --git a/dev/test_data/Xml/Expected/referenceElement/maximal.xml b/dev/test_data/Xml/Expected/referenceElement/maximal.xml new file mode 100644 index 0000000..9a7b4a6 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/maximal.xml @@ -0,0 +1,149 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:03:cb2f6043 + + + + diff --git a/dev/test_data/Xml/Expected/referenceElement/minimal.xml b/dev/test_data/Xml/Expected/referenceElement/minimal.xml new file mode 100644 index 0000000..8bb93a8 --- /dev/null +++ b/dev/test_data/Xml/Expected/referenceElement/minimal.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..3f30184 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..996b563 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..65f3d21 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..f331606 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..5ab6e39 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..465149f --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..6cce7c0 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + 6 + diff --git a/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..5785496 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..bddd7d3 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..56e792e --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/categoryOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/alternating_hyphen_underscore.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/alternating_hyphen_underscore.xml new file mode 100644 index 0000000..52bccdc --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/alternating_hyphen_underscore.xml @@ -0,0 +1,3 @@ + + a-_-_-_-_-_ + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/ends_with_underscore.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/ends_with_underscore.xml new file mode 100644 index 0000000..37653a2 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/ends_with_underscore.xml @@ -0,0 +1,3 @@ + + strange-name_ + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..8e87b8c --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + fULCVpULCVq + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..f47d398 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + AopQejF + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..c7d4c68 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + Jk0k1414Di + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..f4be102 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + pVz10Vz10vZZNO9hM + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..48c8551 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + t8x1pz9WS4TGV + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..b679512 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + tWC + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..3b61e5b --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + xF2bO_Uje6 + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..47e4135 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + EO5DYAe + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..6e7dea2 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + nRdRe + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..7f46512 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + P7gn + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/hyphen_then_underscore.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/hyphen_then_underscore.xml new file mode 100644 index 0000000..22537ae --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/hyphen_then_underscore.xml @@ -0,0 +1,3 @@ + + a-_ + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/many_internal_hyphens.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/many_internal_hyphens.xml new file mode 100644 index 0000000..33ca2a6 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/many_internal_hyphens.xml @@ -0,0 +1,3 @@ + + a----------------b + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/many_underscores.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/many_underscores.xml new file mode 100644 index 0000000..5d93913 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/many_underscores.xml @@ -0,0 +1,3 @@ + + a________________ + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/minimal_digit.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/minimal_digit.xml new file mode 100644 index 0000000..3826e4a --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/minimal_digit.xml @@ -0,0 +1,3 @@ + + a0 + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/minimal_lower.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/minimal_lower.xml new file mode 100644 index 0000000..0672a89 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/minimal_lower.xml @@ -0,0 +1,3 @@ + + aa + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/minimal_underscore.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/minimal_underscore.xml new file mode 100644 index 0000000..b88678b --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/minimal_underscore.xml @@ -0,0 +1,3 @@ + + a_ + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/minimal_upper.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/minimal_upper.xml new file mode 100644 index 0000000..644c7d0 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/minimal_upper.xml @@ -0,0 +1,3 @@ + + AZ + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/single_internal_hyphen.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/single_internal_hyphen.xml new file mode 100644 index 0000000..3aafa8b --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/single_internal_hyphen.xml @@ -0,0 +1,3 @@ + + a-b + diff --git a/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/underscore_after_first.xml b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/underscore_after_first.xml new file mode 100644 index 0000000..1a789b3 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/idShortOverPatternExamples/underscore_after_first.xml @@ -0,0 +1,3 @@ + + A_ + diff --git a/dev/test_data/Xml/Expected/relationshipElement/maximal.xml b/dev/test_data/Xml/Expected/relationshipElement/maximal.xml new file mode 100644 index 0000000..5e578f0 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/maximal.xml @@ -0,0 +1,158 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Expected/relationshipElement/minimal.xml b/dev/test_data/Xml/Expected/relationshipElement/minimal.xml new file mode 100644 index 0000000..a08d7d6 --- /dev/null +++ b/dev/test_data/Xml/Expected/relationshipElement/minimal.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/dash.xml b/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/dash.xml new file mode 100644 index 0000000..5248a87 --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/dash.xml @@ -0,0 +1,4 @@ + + #; + application/x-abiword + diff --git a/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/dots.xml b/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/dots.xml new file mode 100644 index 0000000..dec2ba2 --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/dots.xml @@ -0,0 +1,4 @@ + + #; + application/vnd.amazon.ebook + diff --git a/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..0449ac8 --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + #; + 7/6qwqh6g + diff --git a/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..854ac53 --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + #; + 15j/5j + diff --git a/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..675284a --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + #; + 'VbrwFrYTU/fO7NnLxq ; MX.`10dB732`X5yRy=I56Ov9Us ; pRb~~hdw_C%2Zf="" ; h=1t + diff --git a/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/number prefix and suffix.xml b/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/number prefix and suffix.xml new file mode 100644 index 0000000..eb85e3a --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/number prefix and suffix.xml @@ -0,0 +1,4 @@ + + #; + audio/3gpp2 + diff --git a/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/only_letters.xml b/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/only_letters.xml new file mode 100644 index 0000000..24bd2f4 --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/only_letters.xml @@ -0,0 +1,4 @@ + + #; + audio/aac + diff --git a/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/plus.xml b/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/plus.xml new file mode 100644 index 0000000..18138f6 --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/plus.xml @@ -0,0 +1,4 @@ + + #; + application/vnd.apple.installer+xml + diff --git a/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/random_common_MIME_type.xml b/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/random_common_MIME_type.xml new file mode 100644 index 0000000..46a4400 --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/contentTypeOverPatternExamples/random_common_MIME_type.xml @@ -0,0 +1,4 @@ + + #; + application/something-random + diff --git a/dev/test_data/Xml/Expected/resource/maximal.xml b/dev/test_data/Xml/Expected/resource/maximal.xml new file mode 100644 index 0000000..854ac53 --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/maximal.xml @@ -0,0 +1,4 @@ + + #; + 15j/5j + diff --git a/dev/test_data/Xml/Expected/resource/minimal.xml b/dev/test_data/Xml/Expected/resource/minimal.xml new file mode 100644 index 0000000..84cdb5b --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/minimal.xml @@ -0,0 +1,3 @@ + + #; + diff --git a/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..9ef1701 --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + #%4b%6AT + diff --git a/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..408d1a5 --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + RqjJsrvAJ1Uk:%9d'%8C_%81k,%Fcd?yw,@B,M=.EE%8E + diff --git a/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..6c75e2b --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + #/%38%21& + diff --git a/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..3cfccc4 --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + //QQ%BF(,xe;A.@%94($,=%38@ + diff --git a/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..9c5af6e --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + /;=:&%30%1a;77@%321%A4%21;%FC:=/;=,=%13y:%2D;+J%c6%bcU%D3;j1G:sg=%EcA%f3/@z%29%B7&B;=#@H%8D=U%FE%5e%22%Db?,+ + diff --git a/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..84cdb5b --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + #; + diff --git a/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..709ad61 --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + #%6A%6AT + diff --git a/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..9c854f7 --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + diff --git a/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..f989384 --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + q2t2uv://777646689268.160810318.01435447069935.47:/%Be/%04@%Cd@P%dc:C$&~x=;%3f9+;;sr-i=p,///;%D5@@x&;V@I%16/+;%e4,@%AA@Ih:%8Dg=%F8P,v%dE%3E%03%62%FB=$R,&%ac%71;u%11l8*;,;$%Faj:;;;%ee$%8b%EC@%4Alo;t,%0b%eB%D5%EA:%De;$$1:@/%8e%0D&9%C8M;@5%28%4E%BC@%34;;@%EC=tL)x(/M%D3%aF&%Ec;=%aa$$j;;%B3@hk=e:%DB%24Z;%F6%9E+%8e;=;%ba;;%b3;;p%f11=%34%c0;#lR:+k%BE4%EB + diff --git a/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..a40ee45 --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + #%59T=%e1&&%b4%53EYU?,/q%87%c6He + diff --git a/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/made_up_01.xml b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/made_up_01.xml new file mode 100644 index 0000000..d5973a3 --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/made_up_01.xml @@ -0,0 +1,3 @@ + + http://www.example.org + diff --git a/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/made_up_02.xml b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/made_up_02.xml new file mode 100644 index 0000000..aab15ab --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/made_up_02.xml @@ -0,0 +1,3 @@ + + ftp://ftp.is.co.za/rfc/rfc1808.txt + diff --git a/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/made_up_03.xml b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/made_up_03.xml new file mode 100644 index 0000000..f59b542 --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/made_up_03.xml @@ -0,0 +1,3 @@ + + mailto:John.Doe@example.org + diff --git a/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/made_up_04.xml b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/made_up_04.xml new file mode 100644 index 0000000..343ede8 --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/made_up_04.xml @@ -0,0 +1,3 @@ + + news:comp.infosystems.www.servers.unix + diff --git a/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/made_up_05.xml b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/made_up_05.xml new file mode 100644 index 0000000..6d1485f --- /dev/null +++ b/dev/test_data/Xml/Expected/resource/pathOverPatternExamples/made_up_05.xml @@ -0,0 +1,3 @@ + + telnet://192.0.2.16:80/ + diff --git a/dev/test_data/Xml/Expected/specificAssetId/maximal.xml b/dev/test_data/Xml/Expected/specificAssetId/maximal.xml new file mode 100644 index 0000000..aa43dc0 --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/maximal.xml @@ -0,0 +1,51 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Ûă<P󨱽²|dnœÞ® + 򤑌M𪠇𛔊򂄲 + + ExternalReference + + + GlobalReference + urn:an-example:01:3a080c99 + + + + diff --git a/dev/test_data/Xml/Expected/specificAssetId/minimal.xml b/dev/test_data/Xml/Expected/specificAssetId/minimal.xml new file mode 100644 index 0000000..2805d13 --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/minimal.xml @@ -0,0 +1,4 @@ + + Ûă<P󨱽²|dnœÞ® + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..777244c --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..1531d32 --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + 𠤢4𠤢 + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..69e552c --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + [\h$񒺟ìÖċŠ1¿ + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..02ef950 --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + öĖa􍣡™| + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..692bdc9 --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,4 @@ + + J5 + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..2805d13 --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,4 @@ + + Ûă<P󨱽²|dnœÞ® + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..9cb9a7e --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,4 @@ + + 6 + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..7540206 --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,4 @@ + + 򤑌M𪠇𛔊򂄲 + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..2daacf2 --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,4 @@ + + <ă<P󨱽²|dnœÞ® + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..6740148 --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/nameOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,4 @@ + + 0 + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..e035861 --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + Ûă<P󨱽²|dnœÞ® + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..2805d13 --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + Ûă<P󨱽²|dnœÞ® + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..a476702 --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + Ûă<P󨱽²|dnœÞ® + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..a8c65cc --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + Ûă<P󨱽²|dnœÞ® + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..a296c7c --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,4 @@ + + Ûă<P󨱽²|dnœÞ® + J5 + diff --git a/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..58552fb --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,4 @@ + + Ûă<P󨱽²|dnœÞ® + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..0a8fe90 --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,4 @@ + + Ûă<P󨱽²|dnœÞ® + 6 + diff --git a/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..141ef38 --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,4 @@ + + Ûă<P󨱽²|dnœÞ® + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..37ecdf7 --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,4 @@ + + Ûă<P󨱽²|dnœÞ® + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..60fa7b3 --- /dev/null +++ b/dev/test_data/Xml/Expected/specificAssetId/valueOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,4 @@ + + Ûă<P󨱽²|dnœÞ® + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..9201c79 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..273eef7 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + 𠤢4𠤢 + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..eb9b1f9 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + [\h$񒺟ìÖċŠ1¿ + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..111646c --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + öĖa􍣡™| + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..4e1131f --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,4 @@ + + J5 + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..ae4cdd9 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,4 @@ + + Ûă<P󨱽²|dnœÞ® + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..dd76dc6 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,4 @@ + + 6 + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..c99b4bf --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,4 @@ + + 򤑌M𪠇𛔊򂄲 + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..3c700de --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,4 @@ + + <ă<P󨱽²|dnœÞ® + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..2004cc6 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/categoryOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,4 @@ + + 0 + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..6db9a6c --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..78118b0 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..fdc20b5 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..598f9cb --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..cb5c399 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..561fcdc --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..3e3665c --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + 6 + diff --git a/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..fa1b57f --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..86e40b1 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..b21b705 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/alternating_hyphen_underscore.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/alternating_hyphen_underscore.xml new file mode 100644 index 0000000..61ae783 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/alternating_hyphen_underscore.xml @@ -0,0 +1,4 @@ + + a-_-_-_-_-_ + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/ends_with_underscore.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/ends_with_underscore.xml new file mode 100644 index 0000000..c7643e8 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/ends_with_underscore.xml @@ -0,0 +1,4 @@ + + strange-name_ + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..67c2334 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + fULCVpULCVq + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..3a339bd --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + AopQejF + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..583f50e --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + Jk0k1414Di + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..6c2c119 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + pVz10Vz10vZZNO9hM + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..4bdecba --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,4 @@ + + t8x1pz9WS4TGV + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..c04dfc8 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,4 @@ + + tWC + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..8c4192c --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,4 @@ + + xF2bO_Uje6 + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..7e0ec4e --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,4 @@ + + EO5DYAe + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..4048f4b --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,4 @@ + + nRdRe + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..bedfe9f --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,4 @@ + + P7gn + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/hyphen_then_underscore.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/hyphen_then_underscore.xml new file mode 100644 index 0000000..298e9f2 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/hyphen_then_underscore.xml @@ -0,0 +1,4 @@ + + a-_ + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/many_internal_hyphens.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/many_internal_hyphens.xml new file mode 100644 index 0000000..f745f9a --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/many_internal_hyphens.xml @@ -0,0 +1,4 @@ + + a----------------b + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/many_underscores.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/many_underscores.xml new file mode 100644 index 0000000..7ac9e01 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/many_underscores.xml @@ -0,0 +1,4 @@ + + a________________ + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/minimal_digit.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/minimal_digit.xml new file mode 100644 index 0000000..dc7bdaa --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/minimal_digit.xml @@ -0,0 +1,4 @@ + + a0 + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/minimal_lower.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/minimal_lower.xml new file mode 100644 index 0000000..f0368f3 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/minimal_lower.xml @@ -0,0 +1,4 @@ + + aa + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/minimal_underscore.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/minimal_underscore.xml new file mode 100644 index 0000000..44b89c8 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/minimal_underscore.xml @@ -0,0 +1,4 @@ + + a_ + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/minimal_upper.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/minimal_upper.xml new file mode 100644 index 0000000..f40580d --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/minimal_upper.xml @@ -0,0 +1,4 @@ + + AZ + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/single_internal_hyphen.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/single_internal_hyphen.xml new file mode 100644 index 0000000..7acb696 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/single_internal_hyphen.xml @@ -0,0 +1,4 @@ + + a-b + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/underscore_after_first.xml b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/underscore_after_first.xml new file mode 100644 index 0000000..5043552 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/idShortOverPatternExamples/underscore_after_first.xml @@ -0,0 +1,4 @@ + + A_ + 0 + diff --git a/dev/test_data/Xml/Expected/submodel/maximal.xml b/dev/test_data/Xml/Expected/submodel/maximal.xml new file mode 100644 index 0000000..e60ceac --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/maximal.xml @@ -0,0 +1,152 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Expected/submodel/minimal.xml b/dev/test_data/Xml/Expected/submodel/minimal.xml new file mode 100644 index 0000000..b21b705 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodel/minimal.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..7764092 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..c1783d5 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..6c08dec --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..e2ad4ce --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..0155948 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..40805df --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..9b39578 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + 6 + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..448fe10 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..78e0a55 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..f08fe65 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/categoryOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/alternating_hyphen_underscore.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/alternating_hyphen_underscore.xml new file mode 100644 index 0000000..40b4f0d --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/alternating_hyphen_underscore.xml @@ -0,0 +1,3 @@ + + a-_-_-_-_-_ + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/ends_with_underscore.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/ends_with_underscore.xml new file mode 100644 index 0000000..a652891 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/ends_with_underscore.xml @@ -0,0 +1,3 @@ + + strange-name_ + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..c2dbdf1 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + fULCVpULCVq + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..9daa32a --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + AopQejF + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..1378eb7 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + Jk0k1414Di + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..e9b12ea --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + pVz10Vz10vZZNO9hM + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..d0ad417 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + t8x1pz9WS4TGV + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..f9c499e --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + tWC + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..df02d01 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + xF2bO_Uje6 + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..3f82e28 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + EO5DYAe + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..277c81a --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + nRdRe + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..5769aa5 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + P7gn + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/hyphen_then_underscore.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/hyphen_then_underscore.xml new file mode 100644 index 0000000..1ceb5bd --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/hyphen_then_underscore.xml @@ -0,0 +1,3 @@ + + a-_ + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/many_internal_hyphens.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/many_internal_hyphens.xml new file mode 100644 index 0000000..1440e3e --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/many_internal_hyphens.xml @@ -0,0 +1,3 @@ + + a----------------b + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/many_underscores.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/many_underscores.xml new file mode 100644 index 0000000..79e3a2d --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/many_underscores.xml @@ -0,0 +1,3 @@ + + a________________ + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/minimal_digit.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/minimal_digit.xml new file mode 100644 index 0000000..68544bc --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/minimal_digit.xml @@ -0,0 +1,3 @@ + + a0 + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/minimal_lower.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/minimal_lower.xml new file mode 100644 index 0000000..431fee5 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/minimal_lower.xml @@ -0,0 +1,3 @@ + + aa + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/minimal_underscore.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/minimal_underscore.xml new file mode 100644 index 0000000..a9a9798 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/minimal_underscore.xml @@ -0,0 +1,3 @@ + + a_ + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/minimal_upper.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/minimal_upper.xml new file mode 100644 index 0000000..2256bd6 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/minimal_upper.xml @@ -0,0 +1,3 @@ + + AZ + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/single_internal_hyphen.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/single_internal_hyphen.xml new file mode 100644 index 0000000..60f4b72 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/single_internal_hyphen.xml @@ -0,0 +1,3 @@ + + a-b + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/underscore_after_first.xml b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/underscore_after_first.xml new file mode 100644 index 0000000..546d776 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/idShortOverPatternExamples/underscore_after_first.xml @@ -0,0 +1,3 @@ + + A_ + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/maximal.xml b/dev/test_data/Xml/Expected/submodelElementCollection/maximal.xml new file mode 100644 index 0000000..77d9e66 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/maximal.xml @@ -0,0 +1,163 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + something11e03ee7 + + + somethinge32e9b9a + + ModelReference + + + Submodel + urn:another-example:14:b7e1a1d2 + + + Property + somethinga1b38be3 + + + + output + off + + + diff --git a/dev/test_data/Xml/Expected/submodelElementCollection/minimal.xml b/dev/test_data/Xml/Expected/submodelElementCollection/minimal.xml new file mode 100644 index 0000000..090983c --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementCollection/minimal.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..73ab2f3 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..aa71f9a --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + 𠤢4𠤢 + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..acea912 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + [\h$񒺟ìÖċŠ1¿ + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..96b16c4 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + öĖa􍣡™| + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..9ca0e54 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,4 @@ + + J5 + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..c0027c7 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,4 @@ + + Ûă<P󨱽²|dnœÞ® + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..11e530f --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,4 @@ + + 6 + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..e1901ca --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,4 @@ + + 򤑌M𪠇𛔊򂄲 + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..008f807 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,4 @@ + + <ă<P󨱽²|dnœÞ® + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..8db2e05 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/categoryOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,4 @@ + + 0 + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/alternating_hyphen_underscore.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/alternating_hyphen_underscore.xml new file mode 100644 index 0000000..ab17fda --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/alternating_hyphen_underscore.xml @@ -0,0 +1,4 @@ + + a-_-_-_-_-_ + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/ends_with_underscore.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/ends_with_underscore.xml new file mode 100644 index 0000000..2d637bd --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/ends_with_underscore.xml @@ -0,0 +1,4 @@ + + strange-name_ + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..9a73c23 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,4 @@ + + fULCVpULCVq + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..a9fb037 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,4 @@ + + AopQejF + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..2cdd954 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,4 @@ + + Jk0k1414Di + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..0be507e --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,4 @@ + + pVz10Vz10vZZNO9hM + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..50d3ba7 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,4 @@ + + t8x1pz9WS4TGV + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..c476bcc --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,4 @@ + + tWC + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..65e05c1 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,4 @@ + + xF2bO_Uje6 + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..c6922b8 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,4 @@ + + EO5DYAe + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..e1f8924 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,4 @@ + + nRdRe + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..cdf3342 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,4 @@ + + P7gn + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/hyphen_then_underscore.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/hyphen_then_underscore.xml new file mode 100644 index 0000000..cd6499c --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/hyphen_then_underscore.xml @@ -0,0 +1,4 @@ + + a-_ + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/many_internal_hyphens.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/many_internal_hyphens.xml new file mode 100644 index 0000000..6d23419 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/many_internal_hyphens.xml @@ -0,0 +1,4 @@ + + a----------------b + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/many_underscores.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/many_underscores.xml new file mode 100644 index 0000000..d0a7a17 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/many_underscores.xml @@ -0,0 +1,4 @@ + + a________________ + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/minimal_digit.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/minimal_digit.xml new file mode 100644 index 0000000..4a14d7b --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/minimal_digit.xml @@ -0,0 +1,4 @@ + + a0 + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/minimal_lower.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/minimal_lower.xml new file mode 100644 index 0000000..468917a --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/minimal_lower.xml @@ -0,0 +1,4 @@ + + aa + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/minimal_underscore.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/minimal_underscore.xml new file mode 100644 index 0000000..455ad5c --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/minimal_underscore.xml @@ -0,0 +1,4 @@ + + a_ + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/minimal_upper.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/minimal_upper.xml new file mode 100644 index 0000000..128e936 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/minimal_upper.xml @@ -0,0 +1,4 @@ + + AZ + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/single_internal_hyphen.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/single_internal_hyphen.xml new file mode 100644 index 0000000..10f9461 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/single_internal_hyphen.xml @@ -0,0 +1,4 @@ + + a-b + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/underscore_after_first.xml b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/underscore_after_first.xml new file mode 100644 index 0000000..499097d --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/idShortOverPatternExamples/underscore_after_first.xml @@ -0,0 +1,4 @@ + + A_ + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/submodelElementList/list_id_short_in_value.xml b/dev/test_data/Xml/Expected/submodelElementList/list_id_short_in_value.xml new file mode 100644 index 0000000..d7d5369 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/list_id_short_in_value.xml @@ -0,0 +1,11 @@ + + someList + Property + xs:boolean + + + something + xs:boolean + + + diff --git a/dev/test_data/Xml/Expected/submodelElementList/list_no_semantic_id_list_element.xml b/dev/test_data/Xml/Expected/submodelElementList/list_no_semantic_id_list_element.xml new file mode 100644 index 0000000..b72ae8f --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/list_no_semantic_id_list_element.xml @@ -0,0 +1,31 @@ + + someList + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Expected/submodelElementList/list_one_child_without_semantic_id.xml b/dev/test_data/Xml/Expected/submodelElementList/list_one_child_without_semantic_id.xml new file mode 100644 index 0000000..8f96a28 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/list_one_child_without_semantic_id.xml @@ -0,0 +1,31 @@ + + someList + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Expected/submodelElementList/list_two_properties.xml b/dev/test_data/Xml/Expected/submodelElementList/list_two_properties.xml new file mode 100644 index 0000000..a02d778 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/list_two_properties.xml @@ -0,0 +1,40 @@ + + someList + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Expected/submodelElementList/maximal.xml b/dev/test_data/Xml/Expected/submodelElementList/maximal.xml new file mode 100644 index 0000000..cdf13fd --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/maximal.xml @@ -0,0 +1,178 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Expected/submodelElementList/minimal.xml b/dev/test_data/Xml/Expected/submodelElementList/minimal.xml new file mode 100644 index 0000000..d061206 --- /dev/null +++ b/dev/test_data/Xml/Expected/submodelElementList/minimal.xml @@ -0,0 +1,3 @@ + + BasicEventElement + diff --git a/dev/test_data/Xml/Expected/valueList/maximal.xml b/dev/test_data/Xml/Expected/valueList/maximal.xml new file mode 100644 index 0000000..e0a46ae --- /dev/null +++ b/dev/test_data/Xml/Expected/valueList/maximal.xml @@ -0,0 +1,7 @@ + + + + öĖa􍣡™| + + + diff --git a/dev/test_data/Xml/Expected/valueList/minimal.xml b/dev/test_data/Xml/Expected/valueList/minimal.xml new file mode 100644 index 0000000..e0a46ae --- /dev/null +++ b/dev/test_data/Xml/Expected/valueList/minimal.xml @@ -0,0 +1,7 @@ + + + + öĖa􍣡™| + + + diff --git a/dev/test_data/Xml/Expected/valueReferencePair/maximal.xml b/dev/test_data/Xml/Expected/valueReferencePair/maximal.xml new file mode 100644 index 0000000..8aff2c8 --- /dev/null +++ b/dev/test_data/Xml/Expected/valueReferencePair/maximal.xml @@ -0,0 +1,12 @@ + + 򤑌M𪠇𛔊򂄲 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Expected/valueReferencePair/minimal.xml b/dev/test_data/Xml/Expected/valueReferencePair/minimal.xml new file mode 100644 index 0000000..196b76a --- /dev/null +++ b/dev/test_data/Xml/Expected/valueReferencePair/minimal.xml @@ -0,0 +1,3 @@ + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_01.xml b/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_01.xml new file mode 100644 index 0000000..460792a --- /dev/null +++ b/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_01.xml @@ -0,0 +1,3 @@ + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + diff --git a/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_02.xml b/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_02.xml new file mode 100644 index 0000000..2c1113b --- /dev/null +++ b/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_02.xml @@ -0,0 +1,3 @@ + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_03.xml b/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_03.xml new file mode 100644 index 0000000..93fcbdd --- /dev/null +++ b/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_03.xml @@ -0,0 +1,3 @@ + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_04.xml b/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_04.xml new file mode 100644 index 0000000..6f18598 --- /dev/null +++ b/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_04.xml @@ -0,0 +1,3 @@ + + öĖa􍣡™| + diff --git a/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_05.xml b/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_05.xml new file mode 100644 index 0000000..205eea3 --- /dev/null +++ b/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_05.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_06.xml b/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_06.xml new file mode 100644 index 0000000..82ea241 --- /dev/null +++ b/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_06.xml @@ -0,0 +1,3 @@ + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_07.xml b/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_07.xml new file mode 100644 index 0000000..92c6f35 --- /dev/null +++ b/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_07.xml @@ -0,0 +1,3 @@ + + 6 + diff --git a/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_08.xml b/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_08.xml new file mode 100644 index 0000000..196b76a --- /dev/null +++ b/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_08.xml @@ -0,0 +1,3 @@ + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_09.xml b/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_09.xml new file mode 100644 index 0000000..a92248d --- /dev/null +++ b/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_09.xml @@ -0,0 +1,3 @@ + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_10.xml b/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_10.xml new file mode 100644 index 0000000..ee9ce11 --- /dev/null +++ b/dev/test_data/Xml/Expected/valueReferencePair/valueOverPatternExamples/fuzzed_10.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/external_reference_violation_first_key_not_in_globally_identifiables.xml b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/external_reference_violation_first_key_not_in_globally_identifiables.xml new file mode 100644 index 0000000..e774931 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/external_reference_violation_first_key_not_in_globally_identifiables.xml @@ -0,0 +1,9 @@ + + ExternalReference + + + Blob + https://example.com/something + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/external_reference_violation_invalid_last_key.xml b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/external_reference_violation_invalid_last_key.xml new file mode 100644 index 0000000..0c9851b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/external_reference_violation_invalid_last_key.xml @@ -0,0 +1,13 @@ + + ExternalReference + + + GlobalReference + https://example.com/something + + + Blob + something_more + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_first_key_not_in_aas_identifiables.xml b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_first_key_not_in_aas_identifiables.xml new file mode 100644 index 0000000..430d6c5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_first_key_not_in_aas_identifiables.xml @@ -0,0 +1,9 @@ + + ModelReference + + + GlobalReference + https://example.com/something + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_first_key_not_in_globally_identifiables.xml b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_first_key_not_in_globally_identifiables.xml new file mode 100644 index 0000000..4611963 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_first_key_not_in_globally_identifiables.xml @@ -0,0 +1,9 @@ + + ModelReference + + + Blob + https://example.com/something + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_fragment_reference_in_the_middle.xml b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_fragment_reference_in_the_middle.xml new file mode 100644 index 0000000..98df81e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_fragment_reference_in_the_middle.xml @@ -0,0 +1,17 @@ + + ModelReference + + + Submodel + https://example.com/something + + + FragmentReference + something_more + + + Property + yet_something_more + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_fragment_reference_not_after_file_or_blob.xml b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_fragment_reference_not_after_file_or_blob.xml new file mode 100644 index 0000000..28d304e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_fragment_reference_not_after_file_or_blob.xml @@ -0,0 +1,17 @@ + + ModelReference + + + Submodel + https://example.com/something + + + Property + something_more + + + FragmentReference + yet_something_more + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_invalid_key_value_after_list.xml b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_invalid_key_value_after_list.xml new file mode 100644 index 0000000..8f85eaf --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_invalid_key_value_after_list.xml @@ -0,0 +1,17 @@ + + ModelReference + + + Submodel + https://example.com/something + + + SubmodelElementList + something_more + + + Property + -1 + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_second_key_not_in_fragment_keys.xml b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_second_key_not_in_fragment_keys.xml new file mode 100644 index 0000000..918842f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/reference/model_reference_violation_second_key_not_in_fragment_keys.xml @@ -0,0 +1,13 @@ + + ModelReference + + + Submodel + https://example.com/something + + + GlobalReference + something_more + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/submodelElementList/list_violation_of_semantic_id_list_element.xml b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/submodelElementList/list_violation_of_semantic_id_list_element.xml new file mode 100644 index 0000000..a537dd8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/submodelElementList/list_violation_of_semantic_id_list_element.xml @@ -0,0 +1,40 @@ + + someList + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + something-very-different-from-the-expected + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/submodelElementList/list_violation_of_type_value_list_element.xml b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/submodelElementList/list_violation_of_type_value_list_element.xml new file mode 100644 index 0000000..525c636 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/submodelElementList/list_violation_of_type_value_list_element.xml @@ -0,0 +1,40 @@ + + someList + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/submodelElementList/list_violation_of_value_type_list_element.xml b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/submodelElementList/list_violation_of_value_type_list_element.xml new file mode 100644 index 0000000..91864ad --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/submodelElementList/list_violation_of_value_type_list_element.xml @@ -0,0 +1,40 @@ + + someList + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:int + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/submodelElementList/list_violation_semantic_id_mismatch_between_elements.xml b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/submodelElementList/list_violation_semantic_id_mismatch_between_elements.xml new file mode 100644 index 0000000..32cc1a7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/ConstraintViolation/submodelElementList/list_violation_semantic_id_mismatch_between_elements.xml @@ -0,0 +1,31 @@ + + someList + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + something-very-different-from-the-expected + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + yet-something-different-in-the-opposite-direction + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/administrativeInformation/createdAt.xml b/dev/test_data/Xml/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/administrativeInformation/createdAt.xml new file mode 100644 index 0000000..30bb83c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/administrativeInformation/createdAt.xml @@ -0,0 +1,3 @@ + + 2022-02-29T12:13:14Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/administrativeInformation/updatedAt.xml b/dev/test_data/Xml/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/administrativeInformation/updatedAt.xml new file mode 100644 index 0000000..4a5204a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/administrativeInformation/updatedAt.xml @@ -0,0 +1,3 @@ + + 2022-02-29T12:13:14Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/basicEventElement/lastUpdate.xml b/dev/test_data/Xml/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/basicEventElement/lastUpdate.xml new file mode 100644 index 0000000..6e942ec --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/basicEventElement/lastUpdate.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 2022-02-29T12:13:14Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/eventPayload/timeStamp.xml b/dev/test_data/Xml/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/eventPayload/timeStamp.xml new file mode 100644 index 0000000..d882160 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/DateTimeUtcViolationOnFebruary29th/eventPayload/timeStamp.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 2022-02-29T12:13:14Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_negatively_fuzzed_01.xml new file mode 100644 index 0000000..ed893c0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_negatively_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:anyURI + `` + `` + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_negatively_fuzzed_04.xml new file mode 100644 index 0000000..a7b38c4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_negatively_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:anyURI + ''1ƒ𐧂 + ''1ƒ𐧂 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_negatively_fuzzed_05.xml new file mode 100644 index 0000000..4d4cbda --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_negatively_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:anyURI + ''ÿ􈰚쎸Ⱥ«Ù + ''ÿ􈰚쎸Ⱥ«Ù + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_negatively_fuzzed_06.xml new file mode 100644 index 0000000..19e29f9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_negatively_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:anyURI + `0 + `0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_negatively_fuzzed_10.xml new file mode 100644 index 0000000..b0f2014 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_negatively_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:anyURI + —LùÙ + —LùÙ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.xml new file mode 100644 index 0000000..d8fea47 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.xml @@ -0,0 +1,5 @@ + + xs:anyURI + http://datypic.com#f% rag + http://datypic.com#f% rag + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_too_many_fragments.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_too_many_fragments.xml new file mode 100644 index 0000000..83c689b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Any_URI_too_many_fragments.xml @@ -0,0 +1,5 @@ + + xs:anyURI + http://datypic.com#frag1#frag2 + http://datypic.com#frag1#frag2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_an_odd_number_of_characters_is_not_valid.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_an_odd_number_of_characters_is_not_valid.xml new file mode 100644 index 0000000..ac4fc5e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_an_odd_number_of_characters_is_not_valid.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + FB8 + FB8 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_equals_signs_may_only_appear_at_the_end.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_equals_signs_may_only_appear_at_the_end.xml new file mode 100644 index 0000000..442bd0d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_equals_signs_may_only_appear_at_the_end.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + ==0F + ==0F + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_03.xml new file mode 100644 index 0000000..b7c2cfe --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + #/ + #/ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_04.xml new file mode 100644 index 0000000..267b582 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_04.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + 0 + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_05.xml new file mode 100644 index 0000000..6679663 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + 򤞈 񷩎񠴔ú + 򤞈 񷩎񠴔ú + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_06.xml new file mode 100644 index 0000000..8d3812a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_06.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + ]]P + ]]P + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_08.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_08.xml new file mode 100644 index 0000000..ade9330 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_08.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + í + í + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_10.xml new file mode 100644 index 0000000..06d90dd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Base_64_binary_negatively_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:base64Binary + ‚ + ‚ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_false_as_number_with_leading_zeros.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_false_as_number_with_leading_zeros.xml new file mode 100644 index 0000000..bc12ec0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_false_as_number_with_leading_zeros.xml @@ -0,0 +1,5 @@ + + xs:boolean + 0000 + 0000 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_false_in_camelcase.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_false_in_camelcase.xml new file mode 100644 index 0000000..303919e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_false_in_camelcase.xml @@ -0,0 +1,5 @@ + + xs:boolean + False + False + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_false_in_uppercase.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_false_in_uppercase.xml new file mode 100644 index 0000000..0c2ea7d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_false_in_uppercase.xml @@ -0,0 +1,5 @@ + + xs:boolean + FALSE + FALSE + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_negatively_fuzzed_01.xml new file mode 100644 index 0000000..e4d14f0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_negatively_fuzzed_01.xml @@ -0,0 +1,5 @@ + + xs:boolean + 򼅡󚈲6󚈲 + 򼅡󚈲6󚈲 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_negatively_fuzzed_03.xml new file mode 100644 index 0000000..4c16c6c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_negatively_fuzzed_03.xml @@ -0,0 +1,5 @@ + + xs:boolean + 𵯴 + 𵯴 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_negatively_fuzzed_05.xml new file mode 100644 index 0000000..9742abe --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_negatively_fuzzed_05.xml @@ -0,0 +1,5 @@ + + xs:boolean +  º񌯽n +  º񌯽n + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_negatively_fuzzed_10.xml new file mode 100644 index 0000000..0486864 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_negatively_fuzzed_10.xml @@ -0,0 +1,5 @@ + + xs:boolean + 򪸏za𶢻‰ + 򪸏za𶢻‰ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_true_as_number_with_leading_zeros.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_true_as_number_with_leading_zeros.xml new file mode 100644 index 0000000..ca9170b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_true_as_number_with_leading_zeros.xml @@ -0,0 +1,5 @@ + + xs:boolean + 0001 + 0001 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_true_in_camelcase.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_true_in_camelcase.xml new file mode 100644 index 0000000..4529d18 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_true_in_camelcase.xml @@ -0,0 +1,5 @@ + + xs:boolean + True + True + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_true_in_uppercase.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_true_in_uppercase.xml new file mode 100644 index 0000000..3dd4d2a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Boolean_true_in_uppercase.xml @@ -0,0 +1,5 @@ + + xs:boolean + TRUE + TRUE + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_decimal.xml new file mode 100644 index 0000000..9788cae --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_decimal.xml @@ -0,0 +1,5 @@ + + xs:byte + 1.2 + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_empty.xml new file mode 100644 index 0000000..62afc99 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_empty.xml @@ -0,0 +1,5 @@ + + xs:byte + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_free_form_text.xml new file mode 100644 index 0000000..39bbf8d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:byte + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_mathematical_formula.xml new file mode 100644 index 0000000..b981711 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_mathematical_formula.xml @@ -0,0 +1,5 @@ + + xs:byte + 2**5 + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_max_plus_one.xml new file mode 100644 index 0000000..5eb1c5f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_max_plus_one.xml @@ -0,0 +1,5 @@ + + xs:byte + 128 + 128 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_min_minus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_min_minus_one.xml new file mode 100644 index 0000000..bff5083 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_min_minus_one.xml @@ -0,0 +1,5 @@ + + xs:byte + -129 + -129 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_scientific.xml new file mode 100644 index 0000000..f7b66c5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Byte_scientific.xml @@ -0,0 +1,5 @@ + + xs:byte + 1e2 + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_time_with_UTC.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_time_with_UTC.xml new file mode 100644 index 0000000..2bfb3ed --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_time_with_UTC.xml @@ -0,0 +1,5 @@ + + xs:date + 2022-04-01T01:02:03Z + 2022-04-01T01:02:03Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_time_with_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_time_with_offset.xml new file mode 100644 index 0000000..a2cb1ba --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_time_with_offset.xml @@ -0,0 +1,5 @@ + + xs:date + 2022-04-01T01:02:03+02:00 + 2022-04-01T01:02:03+02:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_time_without_zone.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_time_without_zone.xml new file mode 100644 index 0000000..25f8885 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_time_without_zone.xml @@ -0,0 +1,5 @@ + + xs:date + 2022-04-01T01:02:03 + 2022-04-01T01:02:03 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_with_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_with_invalid_negative_offset.xml new file mode 100644 index 0000000..8d4ee08 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_with_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + xs:date + 2022-04-01-15:00 + 2022-04-01-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_with_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_with_invalid_positive_offset.xml new file mode 100644 index 0000000..fc249c2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_with_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + xs:date + 2022-04-01+15:00 + 2022-04-01+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_with_seconds_in_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_with_seconds_in_offset.xml new file mode 100644 index 0000000..fa2b3da --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_date_with_seconds_in_offset.xml @@ -0,0 +1,5 @@ + + xs:date + 2022-04-01+02:00:12 + 2022-04-01+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_empty.xml new file mode 100644 index 0000000..625e97a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_empty.xml @@ -0,0 +1,5 @@ + + xs:date + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_non_existing_february_29th.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_non_existing_february_29th.xml new file mode 100644 index 0000000..e6f89eb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_non_existing_february_29th.xml @@ -0,0 +1,5 @@ + + xs:date + 2011-02-29 + 2011-02-29 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date.xml new file mode 100644 index 0000000..8685c06 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 2022-04-01 + 2022-04-01 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_time_with_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_time_with_invalid_negative_offset.xml new file mode 100644 index 0000000..05e3537 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_time_with_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 2022-04-01T01:02:03-15:00 + 2022-04-01T01:02:03-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_time_with_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_time_with_invalid_positive_offset.xml new file mode 100644 index 0000000..06d3cf0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_time_with_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 2022-04-01T01:02:03+15:00 + 2022-04-01T01:02:03+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_time_with_seconds_in_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_time_with_seconds_in_offset.xml new file mode 100644 index 0000000..6c939f3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_time_with_seconds_in_offset.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 2022-04-01T01:02:03+02:00:12 + 2022-04-01T01:02:03+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_time_with_unexpected_prefix.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_time_with_unexpected_prefix.xml new file mode 100644 index 0000000..a5c3f8f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_time_with_unexpected_prefix.xml @@ -0,0 +1,5 @@ + + xs:dateTime + unexpected-prefix-2022-04-01T01:02:03Z + unexpected-prefix-2022-04-01T01:02:03Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_time_with_unexpected_suffix.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_time_with_unexpected_suffix.xml new file mode 100644 index 0000000..b4e2b48 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_time_with_unexpected_suffix.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 2022-04-01T01:02:03Z-unexpected-suffix + 2022-04-01T01:02:03Z-unexpected-suffix + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_with_time_zone.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_with_time_zone.xml new file mode 100644 index 0000000..4897f67 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_date_with_time_zone.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 2022-04-01Z + 2022-04-01Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_empty.xml new file mode 100644 index 0000000..986fa19 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_empty.xml @@ -0,0 +1,5 @@ + + xs:dateTime + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_non_existing_february_29th.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_non_existing_february_29th.xml new file mode 100644 index 0000000..4f6c1ce --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_non_existing_february_29th.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 2011-02-29T01:02:03Z + 2011-02-29T01:02:03Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_without_minutes.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_without_minutes.xml new file mode 100644 index 0000000..d407a46 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_without_minutes.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 2022-04-01T01Z + 2022-04-01T01Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_without_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_without_seconds.xml new file mode 100644 index 0000000..071c14b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_without_seconds.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 2022-04-01T01:02Z + 2022-04-01T01:02Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_year_4_bce_february_29th.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_year_4_bce_february_29th.xml new file mode 100644 index 0000000..3c1da6f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_year_4_bce_february_29th.xml @@ -0,0 +1,5 @@ + + xs:dateTime + -0004-02-29T01:02:03 + -0004-02-29T01:02:03 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_year_zero_doesnt_exist.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_year_zero_doesnt_exist.xml new file mode 100644 index 0000000..5c202d7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_time_year_zero_doesnt_exist.xml @@ -0,0 +1,5 @@ + + xs:dateTime + 0000-01-02T01:02:03 + 0000-01-02T01:02:03 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_year_4_bce_february_29th.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_year_4_bce_february_29th.xml new file mode 100644 index 0000000..89f4b46 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_year_4_bce_february_29th.xml @@ -0,0 +1,5 @@ + + xs:date + -0004-02-29 + -0004-02-29 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_year_zero_doesnt_exist.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_year_zero_doesnt_exist.xml new file mode 100644 index 0000000..4d1d44b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Date_year_zero_doesnt_exist.xml @@ -0,0 +1,5 @@ + + xs:date + 0000-01-02 + 0000-01-02 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Decimal_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Decimal_empty.xml new file mode 100644 index 0000000..cb206e1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Decimal_empty.xml @@ -0,0 +1,5 @@ + + xs:decimal + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Decimal_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Decimal_free_form_text.xml new file mode 100644 index 0000000..998a84c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Decimal_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:decimal + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_empty.xml new file mode 100644 index 0000000..c86f1fe --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_empty.xml @@ -0,0 +1,5 @@ + + xs:double + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_free_form_text.xml new file mode 100644 index 0000000..c02e9a1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:double + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_inf_case_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_inf_case_matters.xml new file mode 100644 index 0000000..7240ae0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_inf_case_matters.xml @@ -0,0 +1,5 @@ + + xs:double + inf + inf + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_nan_case_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_nan_case_matters.xml new file mode 100644 index 0000000..12a68a5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_nan_case_matters.xml @@ -0,0 +1,5 @@ + + xs:double + nan + nan + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_no_fraction_in_scientific_notation.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_no_fraction_in_scientific_notation.xml new file mode 100644 index 0000000..85c4a5b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_no_fraction_in_scientific_notation.xml @@ -0,0 +1,5 @@ + + xs:double + 12.34e5.6 + 12.34e5.6 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_plus_inf.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_plus_inf.xml new file mode 100644 index 0000000..8e724da --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_plus_inf.xml @@ -0,0 +1,5 @@ + + xs:double + +INF + +INF + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_too_large.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_too_large.xml new file mode 100644 index 0000000..2cd8cd9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Double_too_large.xml @@ -0,0 +1,5 @@ + + xs:double + 1.123456789e1234567890 + 1.123456789e1234567890 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_empty.xml new file mode 100644 index 0000000..029140d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_empty.xml @@ -0,0 +1,5 @@ + + xs:duration + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_free_form_text.xml new file mode 100644 index 0000000..877e0f7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:duration + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_integer.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_integer.xml new file mode 100644 index 0000000..81b75c6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_integer.xml @@ -0,0 +1,5 @@ + + xs:duration + 1234 + 1234 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_leading_P_missing.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_leading_P_missing.xml new file mode 100644 index 0000000..d448491 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_leading_P_missing.xml @@ -0,0 +1,5 @@ + + xs:duration + 1Y + 1Y + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_negative_years.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_negative_years.xml new file mode 100644 index 0000000..c7d941a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_negative_years.xml @@ -0,0 +1,5 @@ + + xs:duration + P-1Y + P-1Y + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_positive_year_negative_months.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_positive_year_negative_months.xml new file mode 100644 index 0000000..181454d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_positive_year_negative_months.xml @@ -0,0 +1,5 @@ + + xs:duration + P1Y-1M + P1Y-1M + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_separator_T_missing.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_separator_T_missing.xml new file mode 100644 index 0000000..e4e8ec8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_separator_T_missing.xml @@ -0,0 +1,5 @@ + + xs:duration + P1S + P1S + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_the_order_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_the_order_matters.xml new file mode 100644 index 0000000..ce8d481 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Duration_the_order_matters.xml @@ -0,0 +1,5 @@ + + xs:duration + P1M2Y + P1M2Y + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_empty.xml new file mode 100644 index 0000000..4d4ba64 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_empty.xml @@ -0,0 +1,5 @@ + + xs:float + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_free_form_text.xml new file mode 100644 index 0000000..8a82498 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:float + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_inf_case_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_inf_case_matters.xml new file mode 100644 index 0000000..118ca40 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_inf_case_matters.xml @@ -0,0 +1,5 @@ + + xs:float + inf + inf + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_nan_case_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_nan_case_matters.xml new file mode 100644 index 0000000..ca23151 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_nan_case_matters.xml @@ -0,0 +1,5 @@ + + xs:float + nan + nan + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_no_fraction_in_scientific_notation.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_no_fraction_in_scientific_notation.xml new file mode 100644 index 0000000..763397e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_no_fraction_in_scientific_notation.xml @@ -0,0 +1,5 @@ + + xs:float + 12.34e5.6 + 12.34e5.6 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_plus_inf.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_plus_inf.xml new file mode 100644 index 0000000..33216ee --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_plus_inf.xml @@ -0,0 +1,5 @@ + + xs:float + +INF + +INF + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_too_large.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_too_large.xml new file mode 100644 index 0000000..24c01eb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Float_too_large.xml @@ -0,0 +1,5 @@ + + xs:float + 1.123456789e1234567890 + 1.123456789e1234567890 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_day_outside_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_day_outside_of_range.xml new file mode 100644 index 0000000..bb6f2af --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_day_outside_of_range.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---35 + ---35 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_empty.xml new file mode 100644 index 0000000..9aca52a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_empty.xml @@ -0,0 +1,5 @@ + + xs:gDay + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_free_form_text.xml new file mode 100644 index 0000000..e32e281 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:gDay + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_invalid_negative_offset.xml new file mode 100644 index 0000000..1750f50 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---01-15:00 + ---01-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..6bc3153 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_invalid_offset_with_seconds.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---01+15:00:12 + ---01+15:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_invalid_positive_offset.xml new file mode 100644 index 0000000..5b490a9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---01+15:00 + ---01+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_missing_leading_dashes.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_missing_leading_dashes.xml new file mode 100644 index 0000000..fc0c251 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_missing_leading_dashes.xml @@ -0,0 +1,5 @@ + + xs:gDay + 15 + 15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_missing_leading_digit.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_missing_leading_digit.xml new file mode 100644 index 0000000..5fabe90 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_missing_leading_digit.xml @@ -0,0 +1,5 @@ + + xs:gDay + ---5 + ---5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_unexpected_suffix.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_unexpected_suffix.xml new file mode 100644 index 0000000..f6dda57 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_day_unexpected_suffix.xml @@ -0,0 +1,5 @@ + + xs:gDay + --30- + --30- + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_day_outside_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_day_outside_of_range.xml new file mode 100644 index 0000000..a57ce03 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_day_outside_of_range.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --01-35 + --01-35 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_empty.xml new file mode 100644 index 0000000..ad2e0a7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_empty.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_free_form_text.xml new file mode 100644 index 0000000..984ce02 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_invalid_negative_offset.xml new file mode 100644 index 0000000..b44ba36 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --11-01-15:00 + --11-01-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..9eca395 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_invalid_offset_with_seconds.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --11-01+02:00:12 + --11-01+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_invalid_positive_offset.xml new file mode 100644 index 0000000..3d4ecd5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --11-01+15:00 + --11-01+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_missing_leading_dashes.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_missing_leading_dashes.xml new file mode 100644 index 0000000..037452b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_missing_leading_dashes.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + 01-15 + 01-15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_missing_leading_digit.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_missing_leading_digit.xml new file mode 100644 index 0000000..228acbd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_missing_leading_digit.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --1-5 + --1-5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_non_existing_april_31st.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_non_existing_april_31st.xml new file mode 100644 index 0000000..a4370f2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_non_existing_april_31st.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + --04-31 + --04-31 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_unexpected_prefix_and_suffix.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_unexpected_prefix_and_suffix.xml new file mode 100644 index 0000000..1f513c5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_day_unexpected_prefix_and_suffix.xml @@ -0,0 +1,5 @@ + + xs:gMonthDay + -01-30- + -01-30- + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_empty.xml new file mode 100644 index 0000000..de2d7a7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_empty.xml @@ -0,0 +1,5 @@ + + xs:gMonth + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_free_form_text.xml new file mode 100644 index 0000000..b3aabde --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:gMonth + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_invalid_negative_offset.xml new file mode 100644 index 0000000..d64f698 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --11-15:00 + --11-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..471f6f3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_invalid_offset_with_seconds.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --11+02:00:12 + --11+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_invalid_positive_offset.xml new file mode 100644 index 0000000..f610742 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --11+15:00 + --11+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_missing_leading_dashes.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_missing_leading_dashes.xml new file mode 100644 index 0000000..3fccfc2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_missing_leading_dashes.xml @@ -0,0 +1,5 @@ + + xs:gMonth + 01 + 01 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_missing_leading_digit.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_missing_leading_digit.xml new file mode 100644 index 0000000..dd8a886 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_missing_leading_digit.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --1 + --1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_month_outside_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_month_outside_of_range.xml new file mode 100644 index 0000000..be83ff2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_month_outside_of_range.xml @@ -0,0 +1,5 @@ + + xs:gMonth + --13 + --13 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_unexpected_prefix_and_suffix.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_unexpected_prefix_and_suffix.xml new file mode 100644 index 0000000..72f4583 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_month_unexpected_prefix_and_suffix.xml @@ -0,0 +1,5 @@ + + xs:gMonth + -01- + -01- + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_empty.xml new file mode 100644 index 0000000..f888ac2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_empty.xml @@ -0,0 +1,5 @@ + + xs:gYear + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_free_form_text.xml new file mode 100644 index 0000000..eee8658 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:gYear + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_invalid_negative_offset.xml new file mode 100644 index 0000000..6297d6c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + xs:gYear + 2001-15:00 + 2001-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..c34152b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_invalid_offset_with_seconds.xml @@ -0,0 +1,5 @@ + + xs:gYear + 2001+02:00:12 + 2001+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_invalid_positive_offset.xml new file mode 100644 index 0000000..a4d1994 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + xs:gYear + 2001+15:00 + 2001+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_missing_century.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_missing_century.xml new file mode 100644 index 0000000..76f97cd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_missing_century.xml @@ -0,0 +1,5 @@ + + xs:gYear + 01 + 01 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_empty.xml new file mode 100644 index 0000000..a9027c1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_empty.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_free_form_text.xml new file mode 100644 index 0000000..03bd66e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_invalid_negative_offset.xml new file mode 100644 index 0000000..9b46b42 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + 2001-10-15:00 + 2001-10-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..e0873dc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_invalid_offset_with_seconds.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + 2001-10+02:00:12 + 2001-10+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_invalid_positive_offset.xml new file mode 100644 index 0000000..811b871 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + 2001-10+15:00 + 2001-10+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_missing_century.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_missing_century.xml new file mode 100644 index 0000000..da1f8ae --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_missing_century.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + 01-13 + 01-13 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_missing_month.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_missing_month.xml new file mode 100644 index 0000000..9d3a5f4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_missing_month.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + 2001 + 2001 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_month_out_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_month_out_of_range.xml new file mode 100644 index 0000000..a412bb6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_month_month_out_of_range.xml @@ -0,0 +1,5 @@ + + xs:gYearMonth + 2001-13 + 2001-13 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_unexpected_month.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_unexpected_month.xml new file mode 100644 index 0000000..0041ed0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/G_year_unexpected_month.xml @@ -0,0 +1,5 @@ + + xs:gYear + 2001-12 + 2001-12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Hex_binary_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Hex_binary_free_form_text.xml new file mode 100644 index 0000000..3c73831 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Hex_binary_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:hexBinary + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Hex_binary_odd_number_of_digits.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Hex_binary_odd_number_of_digits.xml new file mode 100644 index 0000000..e7318e0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Hex_binary_odd_number_of_digits.xml @@ -0,0 +1,5 @@ + + xs:hexBinary + 123 + 123 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Hex_binary_single_digit.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Hex_binary_single_digit.xml new file mode 100644 index 0000000..0e4a4c7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Hex_binary_single_digit.xml @@ -0,0 +1,5 @@ + + xs:hexBinary + 1 + 1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_decimal.xml new file mode 100644 index 0000000..f916e2f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_decimal.xml @@ -0,0 +1,5 @@ + + xs:int + 1.2 + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_empty.xml new file mode 100644 index 0000000..be6689c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_empty.xml @@ -0,0 +1,5 @@ + + xs:int + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_free_form_text.xml new file mode 100644 index 0000000..5e06605 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:int + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_mathematical_formula.xml new file mode 100644 index 0000000..63b45fb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_mathematical_formula.xml @@ -0,0 +1,5 @@ + + xs:int + 2**5 + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_max_plus_one.xml new file mode 100644 index 0000000..d58b543 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_max_plus_one.xml @@ -0,0 +1,5 @@ + + xs:int + 2147483648 + 2147483648 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_min_minus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_min_minus_one.xml new file mode 100644 index 0000000..6f7b479 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_min_minus_one.xml @@ -0,0 +1,5 @@ + + xs:int + -2147483649 + -2147483649 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_scientific.xml new file mode 100644 index 0000000..d03988a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Int_scientific.xml @@ -0,0 +1,5 @@ + + xs:int + 1e2 + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Integer_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Integer_decimal.xml new file mode 100644 index 0000000..d98b950 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Integer_decimal.xml @@ -0,0 +1,5 @@ + + xs:integer + 1.2 + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Integer_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Integer_empty.xml new file mode 100644 index 0000000..b2cfcb9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Integer_empty.xml @@ -0,0 +1,5 @@ + + xs:integer + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Integer_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Integer_free_form_text.xml new file mode 100644 index 0000000..7e71d9d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Integer_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:integer + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Integer_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Integer_mathematical_formula.xml new file mode 100644 index 0000000..5548553 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Integer_mathematical_formula.xml @@ -0,0 +1,5 @@ + + xs:integer + 2**5 + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Integer_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Integer_scientific.xml new file mode 100644 index 0000000..f5307e4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Integer_scientific.xml @@ -0,0 +1,5 @@ + + xs:integer + 1e2 + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_decimal.xml new file mode 100644 index 0000000..05491d3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_decimal.xml @@ -0,0 +1,5 @@ + + xs:long + 1.2 + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_empty.xml new file mode 100644 index 0000000..3e26f9a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_empty.xml @@ -0,0 +1,5 @@ + + xs:long + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_free_form_text.xml new file mode 100644 index 0000000..76902d7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:long + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_mathematical_formula.xml new file mode 100644 index 0000000..aae49aa --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_mathematical_formula.xml @@ -0,0 +1,5 @@ + + xs:long + 2**5 + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_max_plus_one.xml new file mode 100644 index 0000000..1530b41 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_max_plus_one.xml @@ -0,0 +1,5 @@ + + xs:long + 9223372036854775808 + 9223372036854775808 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_min_minus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_min_minus_one.xml new file mode 100644 index 0000000..a4cf636 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_min_minus_one.xml @@ -0,0 +1,5 @@ + + xs:long + -9223372036854775809 + -9223372036854775809 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_scientific.xml new file mode 100644 index 0000000..5a18f6f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Long_scientific.xml @@ -0,0 +1,5 @@ + + xs:long + 1e2 + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_decimal.xml new file mode 100644 index 0000000..fa14300 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_decimal.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + 1.2 + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_empty.xml new file mode 100644 index 0000000..7a44184 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_empty.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_explicitly_positive.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_explicitly_positive.xml new file mode 100644 index 0000000..05315cb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_explicitly_positive.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + +1 + +1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_explicitly_positive_zero.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_explicitly_positive_zero.xml new file mode 100644 index 0000000..800c6a5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_explicitly_positive_zero.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + +0 + +0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_free_form_text.xml new file mode 100644 index 0000000..212d086 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_implicitly_positive.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_implicitly_positive.xml new file mode 100644 index 0000000..0c2b38f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_implicitly_positive.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + 1 + 1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_mathematical_formula.xml new file mode 100644 index 0000000..8b69cde --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_mathematical_formula.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + -2**5 + -2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_scientific.xml new file mode 100644 index 0000000..c68fa11 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_scientific.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + -1e2 + -1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_zero.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_zero.xml new file mode 100644 index 0000000..ff385c3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_zero.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + 0 + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..70680ac --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Negative_integer_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:negativeInteger + 000 + 000 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_negative_integer_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_negative_integer_decimal.xml new file mode 100644 index 0000000..f3e94b3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_negative_integer_decimal.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + 1.2 + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_negative_integer_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_negative_integer_empty.xml new file mode 100644 index 0000000..348a545 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_negative_integer_empty.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_negative_integer_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_negative_integer_free_form_text.xml new file mode 100644 index 0000000..782401f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_negative_integer_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_negative_integer_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_negative_integer_negative.xml new file mode 100644 index 0000000..c3cd7a3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_negative_integer_negative.xml @@ -0,0 +1,5 @@ + + xs:nonNegativeInteger + -1 + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_decimal.xml new file mode 100644 index 0000000..2abcb38 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_decimal.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + 1.2 + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_empty.xml new file mode 100644 index 0000000..be96a34 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_empty.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_explicitly_positive.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_explicitly_positive.xml new file mode 100644 index 0000000..9a16bdc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_explicitly_positive.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + +1 + +1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_free_form_text.xml new file mode 100644 index 0000000..fea307c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_implicitly_positive.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_implicitly_positive.xml new file mode 100644 index 0000000..aefac97 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_implicitly_positive.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + 1 + 1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_mathematical_formula.xml new file mode 100644 index 0000000..5ab28a5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_mathematical_formula.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + -2**5 + -2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_scientific.xml new file mode 100644 index 0000000..182f5da --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Non_positive_integer_scientific.xml @@ -0,0 +1,5 @@ + + xs:nonPositiveInteger + -1e2 + -1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_decimal.xml new file mode 100644 index 0000000..b2bb7b9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_decimal.xml @@ -0,0 +1,5 @@ + + xs:positiveInteger + 1.2 + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_empty.xml new file mode 100644 index 0000000..cad312c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_empty.xml @@ -0,0 +1,5 @@ + + xs:positiveInteger + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_free_form_text.xml new file mode 100644 index 0000000..abb1461 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:positiveInteger + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_negative.xml new file mode 100644 index 0000000..17f04fb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_negative.xml @@ -0,0 +1,5 @@ + + xs:positiveInteger + -1 + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_zero.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_zero.xml new file mode 100644 index 0000000..576150d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_zero.xml @@ -0,0 +1,5 @@ + + xs:positiveInteger + 0 + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..ccf517e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Positive_integer_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + xs:positiveInteger + 000 + 000 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_decimal.xml new file mode 100644 index 0000000..b51af86 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_decimal.xml @@ -0,0 +1,5 @@ + + xs:short + 1.2 + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_empty.xml new file mode 100644 index 0000000..b4dc304 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_empty.xml @@ -0,0 +1,5 @@ + + xs:short + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_free_form_text.xml new file mode 100644 index 0000000..a5e7eb1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:short + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_mathematical_formula.xml new file mode 100644 index 0000000..cbfa3b3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_mathematical_formula.xml @@ -0,0 +1,5 @@ + + xs:short + 2**5 + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_max_plus_one.xml new file mode 100644 index 0000000..07f905e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_max_plus_one.xml @@ -0,0 +1,5 @@ + + xs:short + 32768 + 32768 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_min_minus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_min_minus_one.xml new file mode 100644 index 0000000..ec367f5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_min_minus_one.xml @@ -0,0 +1,5 @@ + + xs:short + -32769 + -32769 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_scientific.xml new file mode 100644 index 0000000..fc32bd4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Short_scientific.xml @@ -0,0 +1,5 @@ + + xs:short + 1e2 + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_empty.xml new file mode 100644 index 0000000..787853c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_empty.xml @@ -0,0 +1,5 @@ + + xs:time + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_free_form_text.xml new file mode 100644 index 0000000..d6f9414 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:time + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_hour_out_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_hour_out_of_range.xml new file mode 100644 index 0000000..91324c8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_hour_out_of_range.xml @@ -0,0 +1,5 @@ + + xs:time + 25:25:10 + 25:25:10 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_invalid_negative_offset.xml new file mode 100644 index 0000000..f0909a3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + xs:time + 21:32:52-15:00 + 21:32:52-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..216a86a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_invalid_offset_with_seconds.xml @@ -0,0 +1,5 @@ + + xs:time + 21:32:52-02:00:12 + 21:32:52-02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_invalid_positive_offset.xml new file mode 100644 index 0000000..e2b57eb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + xs:time + 21:32:52+15:00 + 21:32:52+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_minute_out_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_minute_out_of_range.xml new file mode 100644 index 0000000..84ab358 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_minute_out_of_range.xml @@ -0,0 +1,5 @@ + + xs:time + 01:61:10 + 01:61:10 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_missing_padded_zeros.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_missing_padded_zeros.xml new file mode 100644 index 0000000..3eb92df --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_missing_padded_zeros.xml @@ -0,0 +1,5 @@ + + xs:time + 1:20:10 + 1:20:10 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_missing_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_missing_seconds.xml new file mode 100644 index 0000000..59a76b8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_missing_seconds.xml @@ -0,0 +1,5 @@ + + xs:time + 21:32 + 21:32 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_negative.xml new file mode 100644 index 0000000..27161ce --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_negative.xml @@ -0,0 +1,5 @@ + + xs:time + -10:00:00 + -10:00:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_second_out_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_second_out_of_range.xml new file mode 100644 index 0000000..aced865 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Time_second_out_of_range.xml @@ -0,0 +1,5 @@ + + xs:time + 01:02:61 + 01:02:61 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_decimal.xml new file mode 100644 index 0000000..e369b83 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_decimal.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + 1.2 + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_empty.xml new file mode 100644 index 0000000..b289eb2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_empty.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_free_form_text.xml new file mode 100644 index 0000000..86f1e2b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_mathematical_formula.xml new file mode 100644 index 0000000..6861f8e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_mathematical_formula.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + 2**5 + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_max_plus_one.xml new file mode 100644 index 0000000..72edabb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_max_plus_one.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + 256 + 256 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_negative.xml new file mode 100644 index 0000000..7c2ac14 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_negative.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + -1 + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_scientific.xml new file mode 100644 index 0000000..3182295 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_byte_scientific.xml @@ -0,0 +1,5 @@ + + xs:unsignedByte + 1e2 + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_decimal.xml new file mode 100644 index 0000000..1d1cc64 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_decimal.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + 1.2 + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_empty.xml new file mode 100644 index 0000000..bd5cc14 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_empty.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_free_form_text.xml new file mode 100644 index 0000000..dc7f7aa --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_mathematical_formula.xml new file mode 100644 index 0000000..c178dbc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_mathematical_formula.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + 2**5 + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_max_plus_one.xml new file mode 100644 index 0000000..44cf6ac --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_max_plus_one.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + 4294967296 + 4294967296 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_negative.xml new file mode 100644 index 0000000..548986a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_negative.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + -1 + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_scientific.xml new file mode 100644 index 0000000..f461a87 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_int_scientific.xml @@ -0,0 +1,5 @@ + + xs:unsignedInt + 1e2 + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_decimal.xml new file mode 100644 index 0000000..14b3d10 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_decimal.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + 1.2 + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_empty.xml new file mode 100644 index 0000000..fb464cc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_empty.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_free_form_text.xml new file mode 100644 index 0000000..2071dfd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_mathematical_formula.xml new file mode 100644 index 0000000..849b11b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_mathematical_formula.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + 2**5 + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_max_plus_one.xml new file mode 100644 index 0000000..c6b7aa2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_max_plus_one.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + 18446744073709551616 + 18446744073709551616 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_negative.xml new file mode 100644 index 0000000..92dba1c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_negative.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + -1 + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_scientific.xml new file mode 100644 index 0000000..12d63e9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_long_scientific.xml @@ -0,0 +1,5 @@ + + xs:unsignedLong + 1e2 + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_decimal.xml new file mode 100644 index 0000000..ecc40fe --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_decimal.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + 1.2 + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_empty.xml new file mode 100644 index 0000000..2cb49eb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_empty.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_free_form_text.xml new file mode 100644 index 0000000..8c29be2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_free_form_text.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + some free form text + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_mathematical_formula.xml new file mode 100644 index 0000000..3c610c1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_mathematical_formula.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + 2**5 + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_max_plus_one.xml new file mode 100644 index 0000000..1fe9708 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_max_plus_one.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + 65536 + 65536 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_negative.xml new file mode 100644 index 0000000..11894b1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_negative.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + -1 + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_scientific.xml new file mode 100644 index 0000000..c1e8de9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidRangeExample/range/Unsigned_short_scientific.xml @@ -0,0 +1,5 @@ + + xs:unsignedShort + 1e2 + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_negatively_fuzzed_01.xml new file mode 100644 index 0000000..554b36e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_negatively_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + `` + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_negatively_fuzzed_04.xml new file mode 100644 index 0000000..82e7bae --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_negatively_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + ''1ƒ𐧂 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_negatively_fuzzed_05.xml new file mode 100644 index 0000000..993b173 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_negatively_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + ''ÿ􈰚쎸Ⱥ«Ù + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_negatively_fuzzed_06.xml new file mode 100644 index 0000000..6fc4b80 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_negatively_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + `0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_negatively_fuzzed_10.xml new file mode 100644 index 0000000..cd5d585 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_negatively_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + —LùÙ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.xml new file mode 100644 index 0000000..14b2909 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + http://datypic.com#f% rag + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_too_many_fragments.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_too_many_fragments.xml new file mode 100644 index 0000000..75ec4d8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Any_URI_too_many_fragments.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:anyURI + http://datypic.com#frag1#frag2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.xml new file mode 100644 index 0000000..7072b5b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + FB8 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.xml new file mode 100644 index 0000000..9cefd6c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + ==0F + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_03.xml new file mode 100644 index 0000000..fa89ab5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + #/ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_04.xml new file mode 100644 index 0000000..44c1445 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_04.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_05.xml new file mode 100644 index 0000000..ee8e9cb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + 򤞈 񷩎񠴔ú + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_06.xml new file mode 100644 index 0000000..2c3b7ef --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_06.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + ]]P + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_08.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_08.xml new file mode 100644 index 0000000..005aa7a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_08.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + í + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_10.xml new file mode 100644 index 0000000..a69e13a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Base_64_binary_negatively_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:base64Binary + ‚ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_false_as_number_with_leading_zeros.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_false_as_number_with_leading_zeros.xml new file mode 100644 index 0000000..6e9f035 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_false_as_number_with_leading_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:boolean + 0000 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_false_in_camelcase.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_false_in_camelcase.xml new file mode 100644 index 0000000..ddd0af2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_false_in_camelcase.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:boolean + False + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_false_in_uppercase.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_false_in_uppercase.xml new file mode 100644 index 0000000..da5ea84 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_false_in_uppercase.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:boolean + FALSE + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_negatively_fuzzed_01.xml new file mode 100644 index 0000000..4cd002c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_negatively_fuzzed_01.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:boolean + 򼅡󚈲6󚈲 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_negatively_fuzzed_03.xml new file mode 100644 index 0000000..aa07abf --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_negatively_fuzzed_03.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:boolean + 𵯴 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_negatively_fuzzed_05.xml new file mode 100644 index 0000000..6d9a996 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_negatively_fuzzed_05.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:boolean +  º񌯽n + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_negatively_fuzzed_10.xml new file mode 100644 index 0000000..e8f52be --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_negatively_fuzzed_10.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:boolean + 򪸏za𶢻‰ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_true_as_number_with_leading_zeros.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_true_as_number_with_leading_zeros.xml new file mode 100644 index 0000000..f20e000 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_true_as_number_with_leading_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:boolean + 0001 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_true_in_camelcase.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_true_in_camelcase.xml new file mode 100644 index 0000000..6abe9a7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_true_in_camelcase.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:boolean + True + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_true_in_uppercase.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_true_in_uppercase.xml new file mode 100644 index 0000000..dc82f00 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Boolean_true_in_uppercase.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:boolean + TRUE + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_decimal.xml new file mode 100644 index 0000000..2970281 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_decimal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_empty.xml new file mode 100644 index 0000000..0c5ac50 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_free_form_text.xml new file mode 100644 index 0000000..fc46d92 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_mathematical_formula.xml new file mode 100644 index 0000000..e27c5b4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_mathematical_formula.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_max_plus_one.xml new file mode 100644 index 0000000..8c66b71 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_max_plus_one.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + 128 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_min_minus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_min_minus_one.xml new file mode 100644 index 0000000..fc0c14c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_min_minus_one.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + -129 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_scientific.xml new file mode 100644 index 0000000..95d872b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Byte_scientific.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:byte + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_time_with_UTC.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_time_with_UTC.xml new file mode 100644 index 0000000..75533fb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_time_with_UTC.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + 2022-04-01T01:02:03Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_time_with_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_time_with_offset.xml new file mode 100644 index 0000000..80b89e6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_time_with_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + 2022-04-01T01:02:03+02:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_time_without_zone.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_time_without_zone.xml new file mode 100644 index 0000000..c3b9ade --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_time_without_zone.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + 2022-04-01T01:02:03 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_with_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_with_invalid_negative_offset.xml new file mode 100644 index 0000000..3c78986 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_with_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + 2022-04-01-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_with_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_with_invalid_positive_offset.xml new file mode 100644 index 0000000..032aadb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_with_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + 2022-04-01+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_with_seconds_in_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_with_seconds_in_offset.xml new file mode 100644 index 0000000..a1b65b6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_date_with_seconds_in_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + 2022-04-01+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_empty.xml new file mode 100644 index 0000000..0f0d4f0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_non_existing_february_29th.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_non_existing_february_29th.xml new file mode 100644 index 0000000..27aaa05 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_non_existing_february_29th.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + 2011-02-29 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date.xml new file mode 100644 index 0000000..6863748 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 2022-04-01 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_time_with_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_time_with_invalid_negative_offset.xml new file mode 100644 index 0000000..b7a1a6d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_time_with_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 2022-04-01T01:02:03-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_time_with_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_time_with_invalid_positive_offset.xml new file mode 100644 index 0000000..bab058b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_time_with_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 2022-04-01T01:02:03+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_time_with_seconds_in_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_time_with_seconds_in_offset.xml new file mode 100644 index 0000000..390d433 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_time_with_seconds_in_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 2022-04-01T01:02:03+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_time_with_unexpected_prefix.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_time_with_unexpected_prefix.xml new file mode 100644 index 0000000..2bc922c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_time_with_unexpected_prefix.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + unexpected-prefix-2022-04-01T01:02:03Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_time_with_unexpected_suffix.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_time_with_unexpected_suffix.xml new file mode 100644 index 0000000..19359b0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_time_with_unexpected_suffix.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 2022-04-01T01:02:03Z-unexpected-suffix + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_with_time_zone.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_with_time_zone.xml new file mode 100644 index 0000000..1d6869f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_date_with_time_zone.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 2022-04-01Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_empty.xml new file mode 100644 index 0000000..32df5f6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_non_existing_february_29th.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_non_existing_february_29th.xml new file mode 100644 index 0000000..67256c4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_non_existing_february_29th.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 2011-02-29T01:02:03Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_without_minutes.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_without_minutes.xml new file mode 100644 index 0000000..35dd22f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_without_minutes.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 2022-04-01T01Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_without_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_without_seconds.xml new file mode 100644 index 0000000..0389064 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_without_seconds.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 2022-04-01T01:02Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_year_4_bce_february_29th.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_year_4_bce_february_29th.xml new file mode 100644 index 0000000..5190ffe --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_year_4_bce_february_29th.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + -0004-02-29T01:02:03 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_year_zero_doesnt_exist.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_year_zero_doesnt_exist.xml new file mode 100644 index 0000000..bcab4d6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_time_year_zero_doesnt_exist.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:dateTime + 0000-01-02T01:02:03 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_year_4_bce_february_29th.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_year_4_bce_february_29th.xml new file mode 100644 index 0000000..b3f167b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_year_4_bce_february_29th.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + -0004-02-29 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_year_zero_doesnt_exist.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_year_zero_doesnt_exist.xml new file mode 100644 index 0000000..8782a74 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Date_year_zero_doesnt_exist.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:date + 0000-01-02 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Decimal_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Decimal_empty.xml new file mode 100644 index 0000000..3480391 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Decimal_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:decimal + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Decimal_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Decimal_free_form_text.xml new file mode 100644 index 0000000..8429337 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Decimal_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:decimal + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_empty.xml new file mode 100644 index 0000000..8f17e5b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_free_form_text.xml new file mode 100644 index 0000000..cbac5ff --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_inf_case_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_inf_case_matters.xml new file mode 100644 index 0000000..095e2dd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_inf_case_matters.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + inf + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_nan_case_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_nan_case_matters.xml new file mode 100644 index 0000000..d8a5c6e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_nan_case_matters.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + nan + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_no_fraction_in_scientific_notation.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_no_fraction_in_scientific_notation.xml new file mode 100644 index 0000000..626b654 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_no_fraction_in_scientific_notation.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + 12.34e5.6 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_plus_inf.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_plus_inf.xml new file mode 100644 index 0000000..6f2ae30 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_plus_inf.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + +INF + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_too_large.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_too_large.xml new file mode 100644 index 0000000..ba18c0f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Double_too_large.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:double + 1.123456789e1234567890 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_empty.xml new file mode 100644 index 0000000..fa2e628 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_free_form_text.xml new file mode 100644 index 0000000..ed72e68 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_integer.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_integer.xml new file mode 100644 index 0000000..678a686 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_integer.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + 1234 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_leading_P_missing.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_leading_P_missing.xml new file mode 100644 index 0000000..4bcb646 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_leading_P_missing.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + 1Y + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_negative_years.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_negative_years.xml new file mode 100644 index 0000000..aa1da7e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_negative_years.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + P-1Y + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_positive_year_negative_months.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_positive_year_negative_months.xml new file mode 100644 index 0000000..1bf1d47 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_positive_year_negative_months.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + P1Y-1M + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_separator_T_missing.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_separator_T_missing.xml new file mode 100644 index 0000000..9c930ad --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_separator_T_missing.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + P1S + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_the_order_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_the_order_matters.xml new file mode 100644 index 0000000..726bc42 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Duration_the_order_matters.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:duration + P1M2Y + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_empty.xml new file mode 100644 index 0000000..ee3ff9b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_free_form_text.xml new file mode 100644 index 0000000..cfdfb60 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_inf_case_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_inf_case_matters.xml new file mode 100644 index 0000000..996653c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_inf_case_matters.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + inf + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_nan_case_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_nan_case_matters.xml new file mode 100644 index 0000000..1751e79 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_nan_case_matters.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + nan + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_no_fraction_in_scientific_notation.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_no_fraction_in_scientific_notation.xml new file mode 100644 index 0000000..e71956a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_no_fraction_in_scientific_notation.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + 12.34e5.6 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_plus_inf.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_plus_inf.xml new file mode 100644 index 0000000..e47ca9a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_plus_inf.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + +INF + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_too_large.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_too_large.xml new file mode 100644 index 0000000..04fb281 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Float_too_large.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:float + 1.123456789e1234567890 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_day_outside_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_day_outside_of_range.xml new file mode 100644 index 0000000..e3ad202 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_day_outside_of_range.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---35 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_empty.xml new file mode 100644 index 0000000..c1c8523 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_free_form_text.xml new file mode 100644 index 0000000..8daafc2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_invalid_negative_offset.xml new file mode 100644 index 0000000..0a22058 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---01-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..a326f6d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_invalid_offset_with_seconds.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---01+15:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_invalid_positive_offset.xml new file mode 100644 index 0000000..bf7cd40 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---01+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_missing_leading_dashes.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_missing_leading_dashes.xml new file mode 100644 index 0000000..ece7fe2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_missing_leading_dashes.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + 15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_missing_leading_digit.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_missing_leading_digit.xml new file mode 100644 index 0000000..acd1705 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_missing_leading_digit.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_unexpected_suffix.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_unexpected_suffix.xml new file mode 100644 index 0000000..a80694d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_day_unexpected_suffix.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gDay + --30- + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_day_outside_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_day_outside_of_range.xml new file mode 100644 index 0000000..72ee7f0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_day_outside_of_range.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --01-35 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_empty.xml new file mode 100644 index 0000000..6e213bb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_free_form_text.xml new file mode 100644 index 0000000..bb5e0be --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_invalid_negative_offset.xml new file mode 100644 index 0000000..b50a321 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --11-01-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..59d35ac --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_invalid_offset_with_seconds.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --11-01+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_invalid_positive_offset.xml new file mode 100644 index 0000000..5e40bf0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --11-01+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_missing_leading_dashes.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_missing_leading_dashes.xml new file mode 100644 index 0000000..48fa0a4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_missing_leading_dashes.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + 01-15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_missing_leading_digit.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_missing_leading_digit.xml new file mode 100644 index 0000000..0134f09 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_missing_leading_digit.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --1-5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_non_existing_april_31st.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_non_existing_april_31st.xml new file mode 100644 index 0000000..4c5f78a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_non_existing_april_31st.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + --04-31 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_unexpected_prefix_and_suffix.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_unexpected_prefix_and_suffix.xml new file mode 100644 index 0000000..ec088bf --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_day_unexpected_prefix_and_suffix.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonthDay + -01-30- + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_empty.xml new file mode 100644 index 0000000..5ec123a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_free_form_text.xml new file mode 100644 index 0000000..b1d1367 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_invalid_negative_offset.xml new file mode 100644 index 0000000..80cb08c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --11-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..87b7c76 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_invalid_offset_with_seconds.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --11+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_invalid_positive_offset.xml new file mode 100644 index 0000000..2f0e763 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --11+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_missing_leading_dashes.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_missing_leading_dashes.xml new file mode 100644 index 0000000..4c21da8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_missing_leading_dashes.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + 01 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_missing_leading_digit.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_missing_leading_digit.xml new file mode 100644 index 0000000..f138711 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_missing_leading_digit.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_month_outside_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_month_outside_of_range.xml new file mode 100644 index 0000000..6bad0c6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_month_outside_of_range.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + --13 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_unexpected_prefix_and_suffix.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_unexpected_prefix_and_suffix.xml new file mode 100644 index 0000000..bf2f051 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_month_unexpected_prefix_and_suffix.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gMonth + -01- + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_empty.xml new file mode 100644 index 0000000..6de3a5e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_free_form_text.xml new file mode 100644 index 0000000..f59aa1b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_invalid_negative_offset.xml new file mode 100644 index 0000000..f63d1e0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + 2001-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..f091e1c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_invalid_offset_with_seconds.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + 2001+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_invalid_positive_offset.xml new file mode 100644 index 0000000..5cbf9de --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + 2001+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_missing_century.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_missing_century.xml new file mode 100644 index 0000000..a334de7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_missing_century.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + 01 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_empty.xml new file mode 100644 index 0000000..eda2ec2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_free_form_text.xml new file mode 100644 index 0000000..6432569 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_invalid_negative_offset.xml new file mode 100644 index 0000000..f6d7357 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + 2001-10-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..20cdf67 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_invalid_offset_with_seconds.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + 2001-10+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_invalid_positive_offset.xml new file mode 100644 index 0000000..2b41c5e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + 2001-10+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_missing_century.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_missing_century.xml new file mode 100644 index 0000000..78b8e4d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_missing_century.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + 01-13 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_missing_month.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_missing_month.xml new file mode 100644 index 0000000..8f5ca18 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_missing_month.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + 2001 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_month_out_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_month_out_of_range.xml new file mode 100644 index 0000000..a83822f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_month_month_out_of_range.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYearMonth + 2001-13 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_unexpected_month.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_unexpected_month.xml new file mode 100644 index 0000000..f8705a0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/G_year_unexpected_month.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:gYear + 2001-12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Hex_binary_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Hex_binary_free_form_text.xml new file mode 100644 index 0000000..172811f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Hex_binary_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:hexBinary + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Hex_binary_odd_number_of_digits.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Hex_binary_odd_number_of_digits.xml new file mode 100644 index 0000000..bfecfca --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Hex_binary_odd_number_of_digits.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:hexBinary + 123 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Hex_binary_single_digit.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Hex_binary_single_digit.xml new file mode 100644 index 0000000..e9616f3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Hex_binary_single_digit.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:hexBinary + 1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_decimal.xml new file mode 100644 index 0000000..3bb212c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_decimal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_empty.xml new file mode 100644 index 0000000..ea5ec12 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_free_form_text.xml new file mode 100644 index 0000000..d9181d3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_mathematical_formula.xml new file mode 100644 index 0000000..eddd8a2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_mathematical_formula.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_max_plus_one.xml new file mode 100644 index 0000000..1d987f2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_max_plus_one.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + 2147483648 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_min_minus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_min_minus_one.xml new file mode 100644 index 0000000..53d7ef7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_min_minus_one.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + -2147483649 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_scientific.xml new file mode 100644 index 0000000..c7b16a8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Int_scientific.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:int + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Integer_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Integer_decimal.xml new file mode 100644 index 0000000..cf5c4a0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Integer_decimal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Integer_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Integer_empty.xml new file mode 100644 index 0000000..9ba8f7e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Integer_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Integer_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Integer_free_form_text.xml new file mode 100644 index 0000000..b571e98 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Integer_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Integer_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Integer_mathematical_formula.xml new file mode 100644 index 0000000..7d8d5e2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Integer_mathematical_formula.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Integer_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Integer_scientific.xml new file mode 100644 index 0000000..d3edc6d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Integer_scientific.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:integer + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_decimal.xml new file mode 100644 index 0000000..8b76967 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_decimal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_empty.xml new file mode 100644 index 0000000..1f90292 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_free_form_text.xml new file mode 100644 index 0000000..666b90b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_mathematical_formula.xml new file mode 100644 index 0000000..260599d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_mathematical_formula.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_max_plus_one.xml new file mode 100644 index 0000000..8e900f7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_max_plus_one.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + 9223372036854775808 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_min_minus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_min_minus_one.xml new file mode 100644 index 0000000..f29b74e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_min_minus_one.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + -9223372036854775809 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_scientific.xml new file mode 100644 index 0000000..10b80d0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Long_scientific.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:long + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_decimal.xml new file mode 100644 index 0000000..9a45bd3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_decimal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_empty.xml new file mode 100644 index 0000000..3f82332 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_explicitly_positive.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_explicitly_positive.xml new file mode 100644 index 0000000..4b684fb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_explicitly_positive.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + +1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_explicitly_positive_zero.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_explicitly_positive_zero.xml new file mode 100644 index 0000000..594a00c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_explicitly_positive_zero.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + +0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_free_form_text.xml new file mode 100644 index 0000000..8e40ee4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_implicitly_positive.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_implicitly_positive.xml new file mode 100644 index 0000000..ac2091d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_implicitly_positive.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + 1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_mathematical_formula.xml new file mode 100644 index 0000000..043ca53 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_mathematical_formula.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + -2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_scientific.xml new file mode 100644 index 0000000..85a5a12 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_scientific.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + -1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_zero.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_zero.xml new file mode 100644 index 0000000..d85778f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_zero.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..475569f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Negative_integer_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:negativeInteger + 000 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_negative_integer_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_negative_integer_decimal.xml new file mode 100644 index 0000000..75eb2fa --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_negative_integer_decimal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_negative_integer_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_negative_integer_empty.xml new file mode 100644 index 0000000..709ea3f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_negative_integer_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_negative_integer_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_negative_integer_free_form_text.xml new file mode 100644 index 0000000..5390743 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_negative_integer_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_negative_integer_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_negative_integer_negative.xml new file mode 100644 index 0000000..24e3695 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_negative_integer_negative.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonNegativeInteger + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_decimal.xml new file mode 100644 index 0000000..ea1f779 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_decimal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_empty.xml new file mode 100644 index 0000000..5d91bbe --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_explicitly_positive.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_explicitly_positive.xml new file mode 100644 index 0000000..7b28413 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_explicitly_positive.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + +1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_free_form_text.xml new file mode 100644 index 0000000..262a3be --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_implicitly_positive.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_implicitly_positive.xml new file mode 100644 index 0000000..6edf861 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_implicitly_positive.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + 1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_mathematical_formula.xml new file mode 100644 index 0000000..aba1c31 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_mathematical_formula.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + -2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_scientific.xml new file mode 100644 index 0000000..d4fd35c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Non_positive_integer_scientific.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:nonPositiveInteger + -1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_decimal.xml new file mode 100644 index 0000000..aab364f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_decimal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:positiveInteger + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_empty.xml new file mode 100644 index 0000000..f2a038f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:positiveInteger + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_free_form_text.xml new file mode 100644 index 0000000..79f1577 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:positiveInteger + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_negative.xml new file mode 100644 index 0000000..c197545 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_negative.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:positiveInteger + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_zero.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_zero.xml new file mode 100644 index 0000000..bcbb7d1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_zero.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:positiveInteger + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..74d4749 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Positive_integer_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:positiveInteger + 000 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_decimal.xml new file mode 100644 index 0000000..61b067d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_decimal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_empty.xml new file mode 100644 index 0000000..902b321 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_free_form_text.xml new file mode 100644 index 0000000..6d5eee9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_mathematical_formula.xml new file mode 100644 index 0000000..15ba18b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_mathematical_formula.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_max_plus_one.xml new file mode 100644 index 0000000..d466ccb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_max_plus_one.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + 32768 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_min_minus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_min_minus_one.xml new file mode 100644 index 0000000..e46de4b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_min_minus_one.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + -32769 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_scientific.xml new file mode 100644 index 0000000..690aae7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Short_scientific.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:short + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_empty.xml new file mode 100644 index 0000000..be145a7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_free_form_text.xml new file mode 100644 index 0000000..10c92ad --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_hour_out_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_hour_out_of_range.xml new file mode 100644 index 0000000..7a88c6c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_hour_out_of_range.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 25:25:10 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_invalid_negative_offset.xml new file mode 100644 index 0000000..8ff5672 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 21:32:52-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..260b931 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_invalid_offset_with_seconds.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 21:32:52-02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_invalid_positive_offset.xml new file mode 100644 index 0000000..7c8ef07 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 21:32:52+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_minute_out_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_minute_out_of_range.xml new file mode 100644 index 0000000..a8a99be --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_minute_out_of_range.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 01:61:10 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_missing_padded_zeros.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_missing_padded_zeros.xml new file mode 100644 index 0000000..253c449 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_missing_padded_zeros.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 1:20:10 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_missing_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_missing_seconds.xml new file mode 100644 index 0000000..45450b4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_missing_seconds.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 21:32 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_negative.xml new file mode 100644 index 0000000..02f73de --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_negative.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + -10:00:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_second_out_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_second_out_of_range.xml new file mode 100644 index 0000000..f615d0c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Time_second_out_of_range.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:time + 01:02:61 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_decimal.xml new file mode 100644 index 0000000..06018c3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_decimal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_empty.xml new file mode 100644 index 0000000..08ff228 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_free_form_text.xml new file mode 100644 index 0000000..7e56828 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_mathematical_formula.xml new file mode 100644 index 0000000..ab5d583 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_mathematical_formula.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_max_plus_one.xml new file mode 100644 index 0000000..49ff37f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_max_plus_one.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + 256 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_negative.xml new file mode 100644 index 0000000..021d66d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_negative.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_scientific.xml new file mode 100644 index 0000000..88b1ab0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_byte_scientific.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedByte + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_decimal.xml new file mode 100644 index 0000000..9b9dc8a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_decimal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_empty.xml new file mode 100644 index 0000000..9e5410f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_free_form_text.xml new file mode 100644 index 0000000..2c1944a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_mathematical_formula.xml new file mode 100644 index 0000000..fd9c1ce --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_mathematical_formula.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_max_plus_one.xml new file mode 100644 index 0000000..2ebda9d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_max_plus_one.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + 4294967296 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_negative.xml new file mode 100644 index 0000000..372fb3b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_negative.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_scientific.xml new file mode 100644 index 0000000..f7c5697 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_int_scientific.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedInt + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_decimal.xml new file mode 100644 index 0000000..1b9c7bb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_decimal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_empty.xml new file mode 100644 index 0000000..c464694 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_free_form_text.xml new file mode 100644 index 0000000..7f5d2c6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_mathematical_formula.xml new file mode 100644 index 0000000..14bd6da --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_mathematical_formula.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_max_plus_one.xml new file mode 100644 index 0000000..677a9a5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_max_plus_one.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + 18446744073709551616 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_negative.xml new file mode 100644 index 0000000..5af9d37 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_negative.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_scientific.xml new file mode 100644 index 0000000..fac48f4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_long_scientific.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedLong + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_decimal.xml new file mode 100644 index 0000000..4469ac6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_decimal.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_empty.xml new file mode 100644 index 0000000..631c32b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_empty.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_free_form_text.xml new file mode 100644 index 0000000..4ca6e8f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_free_form_text.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_mathematical_formula.xml new file mode 100644 index 0000000..41a7f12 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_mathematical_formula.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_max_plus_one.xml new file mode 100644 index 0000000..4f458ec --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_max_plus_one.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + 65536 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_negative.xml new file mode 100644 index 0000000..ab43b3f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_negative.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_scientific.xml new file mode 100644 index 0000000..abfc7ac --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/extension/value/Unsigned_short_scientific.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + xs:unsignedShort + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_negatively_fuzzed_01.xml new file mode 100644 index 0000000..6b88024 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_negatively_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:anyURI + `` + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_negatively_fuzzed_04.xml new file mode 100644 index 0000000..7333b37 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_negatively_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:anyURI + ''1ƒ𐧂 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_negatively_fuzzed_05.xml new file mode 100644 index 0000000..af2506e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_negatively_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:anyURI + ''ÿ􈰚쎸Ⱥ«Ù + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_negatively_fuzzed_06.xml new file mode 100644 index 0000000..043db2e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_negatively_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:anyURI + `0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_negatively_fuzzed_10.xml new file mode 100644 index 0000000..325a03e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_negatively_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:anyURI + —LùÙ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.xml new file mode 100644 index 0000000..b041b5d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.xml @@ -0,0 +1,4 @@ + + xs:anyURI + http://datypic.com#f% rag + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_too_many_fragments.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_too_many_fragments.xml new file mode 100644 index 0000000..ada1372 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Any_URI_too_many_fragments.xml @@ -0,0 +1,4 @@ + + xs:anyURI + http://datypic.com#frag1#frag2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.xml new file mode 100644 index 0000000..291b1a7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + FB8 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.xml new file mode 100644 index 0000000..8211feb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + ==0F + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_03.xml new file mode 100644 index 0000000..10982be --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + #/ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_04.xml new file mode 100644 index 0000000..511479c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_04.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_05.xml new file mode 100644 index 0000000..32b6419 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + 򤞈 񷩎񠴔ú + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_06.xml new file mode 100644 index 0000000..04b3373 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_06.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + ]]P + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_08.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_08.xml new file mode 100644 index 0000000..51fbfa6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_08.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + í + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_10.xml new file mode 100644 index 0000000..33c0e3e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Base_64_binary_negatively_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:base64Binary + ‚ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_false_as_number_with_leading_zeros.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_false_as_number_with_leading_zeros.xml new file mode 100644 index 0000000..3fc5c16 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_false_as_number_with_leading_zeros.xml @@ -0,0 +1,4 @@ + + xs:boolean + 0000 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_false_in_camelcase.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_false_in_camelcase.xml new file mode 100644 index 0000000..f8613c2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_false_in_camelcase.xml @@ -0,0 +1,4 @@ + + xs:boolean + False + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_false_in_uppercase.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_false_in_uppercase.xml new file mode 100644 index 0000000..f8c932b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_false_in_uppercase.xml @@ -0,0 +1,4 @@ + + xs:boolean + FALSE + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_negatively_fuzzed_01.xml new file mode 100644 index 0000000..85c4875 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_negatively_fuzzed_01.xml @@ -0,0 +1,4 @@ + + xs:boolean + 򼅡󚈲6󚈲 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_negatively_fuzzed_03.xml new file mode 100644 index 0000000..71a4f4d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_negatively_fuzzed_03.xml @@ -0,0 +1,4 @@ + + xs:boolean + 𵯴 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_negatively_fuzzed_05.xml new file mode 100644 index 0000000..53b8553 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_negatively_fuzzed_05.xml @@ -0,0 +1,4 @@ + + xs:boolean +  º񌯽n + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_negatively_fuzzed_10.xml new file mode 100644 index 0000000..800b587 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_negatively_fuzzed_10.xml @@ -0,0 +1,4 @@ + + xs:boolean + 򪸏za𶢻‰ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_true_as_number_with_leading_zeros.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_true_as_number_with_leading_zeros.xml new file mode 100644 index 0000000..f8f5fb0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_true_as_number_with_leading_zeros.xml @@ -0,0 +1,4 @@ + + xs:boolean + 0001 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_true_in_camelcase.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_true_in_camelcase.xml new file mode 100644 index 0000000..4e755d1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_true_in_camelcase.xml @@ -0,0 +1,4 @@ + + xs:boolean + True + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_true_in_uppercase.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_true_in_uppercase.xml new file mode 100644 index 0000000..95dec85 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Boolean_true_in_uppercase.xml @@ -0,0 +1,4 @@ + + xs:boolean + TRUE + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_decimal.xml new file mode 100644 index 0000000..ccb9cb7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_decimal.xml @@ -0,0 +1,4 @@ + + xs:byte + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_empty.xml new file mode 100644 index 0000000..dee9971 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_empty.xml @@ -0,0 +1,4 @@ + + xs:byte + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_free_form_text.xml new file mode 100644 index 0000000..ff14a9f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:byte + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_mathematical_formula.xml new file mode 100644 index 0000000..c13ce3e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_mathematical_formula.xml @@ -0,0 +1,4 @@ + + xs:byte + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_max_plus_one.xml new file mode 100644 index 0000000..9692018 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_max_plus_one.xml @@ -0,0 +1,4 @@ + + xs:byte + 128 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_min_minus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_min_minus_one.xml new file mode 100644 index 0000000..ae8c899 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_min_minus_one.xml @@ -0,0 +1,4 @@ + + xs:byte + -129 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_scientific.xml new file mode 100644 index 0000000..d774884 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Byte_scientific.xml @@ -0,0 +1,4 @@ + + xs:byte + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_time_with_UTC.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_time_with_UTC.xml new file mode 100644 index 0000000..3d31682 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_time_with_UTC.xml @@ -0,0 +1,4 @@ + + xs:date + 2022-04-01T01:02:03Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_time_with_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_time_with_offset.xml new file mode 100644 index 0000000..4c4f00a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_time_with_offset.xml @@ -0,0 +1,4 @@ + + xs:date + 2022-04-01T01:02:03+02:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_time_without_zone.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_time_without_zone.xml new file mode 100644 index 0000000..f45a01e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_time_without_zone.xml @@ -0,0 +1,4 @@ + + xs:date + 2022-04-01T01:02:03 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_with_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_with_invalid_negative_offset.xml new file mode 100644 index 0000000..ffee213 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_with_invalid_negative_offset.xml @@ -0,0 +1,4 @@ + + xs:date + 2022-04-01-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_with_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_with_invalid_positive_offset.xml new file mode 100644 index 0000000..e4ff0da --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_with_invalid_positive_offset.xml @@ -0,0 +1,4 @@ + + xs:date + 2022-04-01+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_with_seconds_in_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_with_seconds_in_offset.xml new file mode 100644 index 0000000..b3b0579 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_date_with_seconds_in_offset.xml @@ -0,0 +1,4 @@ + + xs:date + 2022-04-01+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_empty.xml new file mode 100644 index 0000000..f35cfaa --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_empty.xml @@ -0,0 +1,4 @@ + + xs:date + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_non_existing_february_29th.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_non_existing_february_29th.xml new file mode 100644 index 0000000..91d6947 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_non_existing_february_29th.xml @@ -0,0 +1,4 @@ + + xs:date + 2011-02-29 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date.xml new file mode 100644 index 0000000..bef00b0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 2022-04-01 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_time_with_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_time_with_invalid_negative_offset.xml new file mode 100644 index 0000000..b731d01 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_time_with_invalid_negative_offset.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 2022-04-01T01:02:03-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_time_with_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_time_with_invalid_positive_offset.xml new file mode 100644 index 0000000..9f7cf9a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_time_with_invalid_positive_offset.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 2022-04-01T01:02:03+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_time_with_seconds_in_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_time_with_seconds_in_offset.xml new file mode 100644 index 0000000..5662d8c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_time_with_seconds_in_offset.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 2022-04-01T01:02:03+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_time_with_unexpected_prefix.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_time_with_unexpected_prefix.xml new file mode 100644 index 0000000..681b17d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_time_with_unexpected_prefix.xml @@ -0,0 +1,4 @@ + + xs:dateTime + unexpected-prefix-2022-04-01T01:02:03Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_time_with_unexpected_suffix.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_time_with_unexpected_suffix.xml new file mode 100644 index 0000000..5c245dd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_time_with_unexpected_suffix.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 2022-04-01T01:02:03Z-unexpected-suffix + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_with_time_zone.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_with_time_zone.xml new file mode 100644 index 0000000..7e17f0e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_date_with_time_zone.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 2022-04-01Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_empty.xml new file mode 100644 index 0000000..3a8214e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_empty.xml @@ -0,0 +1,4 @@ + + xs:dateTime + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_non_existing_february_29th.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_non_existing_february_29th.xml new file mode 100644 index 0000000..d27471e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_non_existing_february_29th.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 2011-02-29T01:02:03Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_without_minutes.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_without_minutes.xml new file mode 100644 index 0000000..ba8a27e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_without_minutes.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 2022-04-01T01Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_without_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_without_seconds.xml new file mode 100644 index 0000000..bb7b3ee --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_without_seconds.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 2022-04-01T01:02Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_year_4_bce_february_29th.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_year_4_bce_february_29th.xml new file mode 100644 index 0000000..19a3d47 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_year_4_bce_february_29th.xml @@ -0,0 +1,4 @@ + + xs:dateTime + -0004-02-29T01:02:03 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_year_zero_doesnt_exist.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_year_zero_doesnt_exist.xml new file mode 100644 index 0000000..d48d3a3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_time_year_zero_doesnt_exist.xml @@ -0,0 +1,4 @@ + + xs:dateTime + 0000-01-02T01:02:03 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_year_4_bce_february_29th.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_year_4_bce_february_29th.xml new file mode 100644 index 0000000..3da3ba9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_year_4_bce_february_29th.xml @@ -0,0 +1,4 @@ + + xs:date + -0004-02-29 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_year_zero_doesnt_exist.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_year_zero_doesnt_exist.xml new file mode 100644 index 0000000..13b4f92 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Date_year_zero_doesnt_exist.xml @@ -0,0 +1,4 @@ + + xs:date + 0000-01-02 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Decimal_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Decimal_empty.xml new file mode 100644 index 0000000..3bd80f3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Decimal_empty.xml @@ -0,0 +1,4 @@ + + xs:decimal + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Decimal_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Decimal_free_form_text.xml new file mode 100644 index 0000000..f9e0f3b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Decimal_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:decimal + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_empty.xml new file mode 100644 index 0000000..6fe26d9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_empty.xml @@ -0,0 +1,4 @@ + + xs:double + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_free_form_text.xml new file mode 100644 index 0000000..364ec4b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:double + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_inf_case_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_inf_case_matters.xml new file mode 100644 index 0000000..27bfd48 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_inf_case_matters.xml @@ -0,0 +1,4 @@ + + xs:double + inf + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_nan_case_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_nan_case_matters.xml new file mode 100644 index 0000000..bed7ba8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_nan_case_matters.xml @@ -0,0 +1,4 @@ + + xs:double + nan + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_no_fraction_in_scientific_notation.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_no_fraction_in_scientific_notation.xml new file mode 100644 index 0000000..92a984c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_no_fraction_in_scientific_notation.xml @@ -0,0 +1,4 @@ + + xs:double + 12.34e5.6 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_plus_inf.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_plus_inf.xml new file mode 100644 index 0000000..bba4ffc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_plus_inf.xml @@ -0,0 +1,4 @@ + + xs:double + +INF + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_too_large.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_too_large.xml new file mode 100644 index 0000000..295e9e6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Double_too_large.xml @@ -0,0 +1,4 @@ + + xs:double + 1.123456789e1234567890 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_empty.xml new file mode 100644 index 0000000..4eacf2e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_empty.xml @@ -0,0 +1,4 @@ + + xs:duration + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_free_form_text.xml new file mode 100644 index 0000000..99e8269 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:duration + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_integer.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_integer.xml new file mode 100644 index 0000000..9ed7560 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_integer.xml @@ -0,0 +1,4 @@ + + xs:duration + 1234 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_leading_P_missing.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_leading_P_missing.xml new file mode 100644 index 0000000..33d25da --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_leading_P_missing.xml @@ -0,0 +1,4 @@ + + xs:duration + 1Y + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_negative_years.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_negative_years.xml new file mode 100644 index 0000000..b7aae3f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_negative_years.xml @@ -0,0 +1,4 @@ + + xs:duration + P-1Y + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_positive_year_negative_months.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_positive_year_negative_months.xml new file mode 100644 index 0000000..491462f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_positive_year_negative_months.xml @@ -0,0 +1,4 @@ + + xs:duration + P1Y-1M + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_separator_T_missing.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_separator_T_missing.xml new file mode 100644 index 0000000..a353c87 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_separator_T_missing.xml @@ -0,0 +1,4 @@ + + xs:duration + P1S + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_the_order_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_the_order_matters.xml new file mode 100644 index 0000000..743efbc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Duration_the_order_matters.xml @@ -0,0 +1,4 @@ + + xs:duration + P1M2Y + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_empty.xml new file mode 100644 index 0000000..61c96ae --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_empty.xml @@ -0,0 +1,4 @@ + + xs:float + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_free_form_text.xml new file mode 100644 index 0000000..3e627af --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:float + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_inf_case_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_inf_case_matters.xml new file mode 100644 index 0000000..2c097d0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_inf_case_matters.xml @@ -0,0 +1,4 @@ + + xs:float + inf + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_nan_case_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_nan_case_matters.xml new file mode 100644 index 0000000..37413cb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_nan_case_matters.xml @@ -0,0 +1,4 @@ + + xs:float + nan + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_no_fraction_in_scientific_notation.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_no_fraction_in_scientific_notation.xml new file mode 100644 index 0000000..37f5fc5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_no_fraction_in_scientific_notation.xml @@ -0,0 +1,4 @@ + + xs:float + 12.34e5.6 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_plus_inf.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_plus_inf.xml new file mode 100644 index 0000000..3cc426b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_plus_inf.xml @@ -0,0 +1,4 @@ + + xs:float + +INF + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_too_large.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_too_large.xml new file mode 100644 index 0000000..0e54bb8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Float_too_large.xml @@ -0,0 +1,4 @@ + + xs:float + 1.123456789e1234567890 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_day_outside_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_day_outside_of_range.xml new file mode 100644 index 0000000..7f1c104 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_day_outside_of_range.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---35 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_empty.xml new file mode 100644 index 0000000..88223d1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_empty.xml @@ -0,0 +1,4 @@ + + xs:gDay + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_free_form_text.xml new file mode 100644 index 0000000..682db64 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:gDay + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_invalid_negative_offset.xml new file mode 100644 index 0000000..826c56d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_invalid_negative_offset.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---01-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..873c088 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_invalid_offset_with_seconds.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---01+15:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_invalid_positive_offset.xml new file mode 100644 index 0000000..d073395 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_invalid_positive_offset.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---01+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_missing_leading_dashes.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_missing_leading_dashes.xml new file mode 100644 index 0000000..cc7572b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_missing_leading_dashes.xml @@ -0,0 +1,4 @@ + + xs:gDay + 15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_missing_leading_digit.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_missing_leading_digit.xml new file mode 100644 index 0000000..17ae93a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_missing_leading_digit.xml @@ -0,0 +1,4 @@ + + xs:gDay + ---5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_unexpected_suffix.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_unexpected_suffix.xml new file mode 100644 index 0000000..5c627fd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_day_unexpected_suffix.xml @@ -0,0 +1,4 @@ + + xs:gDay + --30- + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_day_outside_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_day_outside_of_range.xml new file mode 100644 index 0000000..639390d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_day_outside_of_range.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --01-35 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_empty.xml new file mode 100644 index 0000000..e4882d5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_empty.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_free_form_text.xml new file mode 100644 index 0000000..205674e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_invalid_negative_offset.xml new file mode 100644 index 0000000..3654c83 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_invalid_negative_offset.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --11-01-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..d5c28e7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_invalid_offset_with_seconds.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --11-01+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_invalid_positive_offset.xml new file mode 100644 index 0000000..eaa7e98 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_invalid_positive_offset.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --11-01+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_missing_leading_dashes.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_missing_leading_dashes.xml new file mode 100644 index 0000000..dd6d8d9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_missing_leading_dashes.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + 01-15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_missing_leading_digit.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_missing_leading_digit.xml new file mode 100644 index 0000000..eaeccff --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_missing_leading_digit.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --1-5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_non_existing_april_31st.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_non_existing_april_31st.xml new file mode 100644 index 0000000..6de0e84 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_non_existing_april_31st.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + --04-31 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_unexpected_prefix_and_suffix.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_unexpected_prefix_and_suffix.xml new file mode 100644 index 0000000..b104ada --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_day_unexpected_prefix_and_suffix.xml @@ -0,0 +1,4 @@ + + xs:gMonthDay + -01-30- + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_empty.xml new file mode 100644 index 0000000..e9a9043 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_empty.xml @@ -0,0 +1,4 @@ + + xs:gMonth + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_free_form_text.xml new file mode 100644 index 0000000..6adff73 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:gMonth + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_invalid_negative_offset.xml new file mode 100644 index 0000000..08a710b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_invalid_negative_offset.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --11-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..79faf2f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_invalid_offset_with_seconds.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --11+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_invalid_positive_offset.xml new file mode 100644 index 0000000..5984c45 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_invalid_positive_offset.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --11+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_missing_leading_dashes.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_missing_leading_dashes.xml new file mode 100644 index 0000000..50543b0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_missing_leading_dashes.xml @@ -0,0 +1,4 @@ + + xs:gMonth + 01 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_missing_leading_digit.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_missing_leading_digit.xml new file mode 100644 index 0000000..a520bea --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_missing_leading_digit.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_month_outside_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_month_outside_of_range.xml new file mode 100644 index 0000000..1545fb7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_month_outside_of_range.xml @@ -0,0 +1,4 @@ + + xs:gMonth + --13 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_unexpected_prefix_and_suffix.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_unexpected_prefix_and_suffix.xml new file mode 100644 index 0000000..22be3fe --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_month_unexpected_prefix_and_suffix.xml @@ -0,0 +1,4 @@ + + xs:gMonth + -01- + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_empty.xml new file mode 100644 index 0000000..197aa80 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_empty.xml @@ -0,0 +1,4 @@ + + xs:gYear + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_free_form_text.xml new file mode 100644 index 0000000..59ee9ba --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:gYear + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_invalid_negative_offset.xml new file mode 100644 index 0000000..1ffcf18 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_invalid_negative_offset.xml @@ -0,0 +1,4 @@ + + xs:gYear + 2001-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..847186c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_invalid_offset_with_seconds.xml @@ -0,0 +1,4 @@ + + xs:gYear + 2001+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_invalid_positive_offset.xml new file mode 100644 index 0000000..c16add1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_invalid_positive_offset.xml @@ -0,0 +1,4 @@ + + xs:gYear + 2001+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_missing_century.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_missing_century.xml new file mode 100644 index 0000000..6d3deb8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_missing_century.xml @@ -0,0 +1,4 @@ + + xs:gYear + 01 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_empty.xml new file mode 100644 index 0000000..70c5c07 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_empty.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_free_form_text.xml new file mode 100644 index 0000000..3882fc2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_invalid_negative_offset.xml new file mode 100644 index 0000000..003c305 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_invalid_negative_offset.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + 2001-10-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..f7b63ff --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_invalid_offset_with_seconds.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + 2001-10+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_invalid_positive_offset.xml new file mode 100644 index 0000000..3f823e4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_invalid_positive_offset.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + 2001-10+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_missing_century.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_missing_century.xml new file mode 100644 index 0000000..9f866f6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_missing_century.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + 01-13 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_missing_month.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_missing_month.xml new file mode 100644 index 0000000..267a075 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_missing_month.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + 2001 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_month_out_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_month_out_of_range.xml new file mode 100644 index 0000000..66bb84b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_month_month_out_of_range.xml @@ -0,0 +1,4 @@ + + xs:gYearMonth + 2001-13 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_unexpected_month.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_unexpected_month.xml new file mode 100644 index 0000000..7a79212 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/G_year_unexpected_month.xml @@ -0,0 +1,4 @@ + + xs:gYear + 2001-12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Hex_binary_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Hex_binary_free_form_text.xml new file mode 100644 index 0000000..143c290 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Hex_binary_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:hexBinary + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Hex_binary_odd_number_of_digits.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Hex_binary_odd_number_of_digits.xml new file mode 100644 index 0000000..5eb466a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Hex_binary_odd_number_of_digits.xml @@ -0,0 +1,4 @@ + + xs:hexBinary + 123 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Hex_binary_single_digit.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Hex_binary_single_digit.xml new file mode 100644 index 0000000..7ec9734 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Hex_binary_single_digit.xml @@ -0,0 +1,4 @@ + + xs:hexBinary + 1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_decimal.xml new file mode 100644 index 0000000..1cbf5eb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_decimal.xml @@ -0,0 +1,4 @@ + + xs:int + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_empty.xml new file mode 100644 index 0000000..c7ca8ab --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_empty.xml @@ -0,0 +1,4 @@ + + xs:int + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_free_form_text.xml new file mode 100644 index 0000000..151aef2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:int + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_mathematical_formula.xml new file mode 100644 index 0000000..a59aa21 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_mathematical_formula.xml @@ -0,0 +1,4 @@ + + xs:int + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_max_plus_one.xml new file mode 100644 index 0000000..ca38a51 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_max_plus_one.xml @@ -0,0 +1,4 @@ + + xs:int + 2147483648 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_min_minus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_min_minus_one.xml new file mode 100644 index 0000000..44d2a07 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_min_minus_one.xml @@ -0,0 +1,4 @@ + + xs:int + -2147483649 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_scientific.xml new file mode 100644 index 0000000..9102db2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Int_scientific.xml @@ -0,0 +1,4 @@ + + xs:int + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Integer_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Integer_decimal.xml new file mode 100644 index 0000000..15ac822 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Integer_decimal.xml @@ -0,0 +1,4 @@ + + xs:integer + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Integer_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Integer_empty.xml new file mode 100644 index 0000000..b6687a7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Integer_empty.xml @@ -0,0 +1,4 @@ + + xs:integer + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Integer_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Integer_free_form_text.xml new file mode 100644 index 0000000..b060b26 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Integer_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:integer + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Integer_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Integer_mathematical_formula.xml new file mode 100644 index 0000000..e3a7043 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Integer_mathematical_formula.xml @@ -0,0 +1,4 @@ + + xs:integer + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Integer_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Integer_scientific.xml new file mode 100644 index 0000000..2274e5a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Integer_scientific.xml @@ -0,0 +1,4 @@ + + xs:integer + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_decimal.xml new file mode 100644 index 0000000..05fb6b5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_decimal.xml @@ -0,0 +1,4 @@ + + xs:long + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_empty.xml new file mode 100644 index 0000000..76a2ef1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_empty.xml @@ -0,0 +1,4 @@ + + xs:long + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_free_form_text.xml new file mode 100644 index 0000000..82a6142 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:long + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_mathematical_formula.xml new file mode 100644 index 0000000..44814e1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_mathematical_formula.xml @@ -0,0 +1,4 @@ + + xs:long + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_max_plus_one.xml new file mode 100644 index 0000000..8136557 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_max_plus_one.xml @@ -0,0 +1,4 @@ + + xs:long + 9223372036854775808 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_min_minus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_min_minus_one.xml new file mode 100644 index 0000000..b613f68 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_min_minus_one.xml @@ -0,0 +1,4 @@ + + xs:long + -9223372036854775809 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_scientific.xml new file mode 100644 index 0000000..832be1a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Long_scientific.xml @@ -0,0 +1,4 @@ + + xs:long + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_decimal.xml new file mode 100644 index 0000000..1a9805a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_decimal.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_empty.xml new file mode 100644 index 0000000..8b1a906 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_empty.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_explicitly_positive.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_explicitly_positive.xml new file mode 100644 index 0000000..1b2c668 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_explicitly_positive.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + +1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_explicitly_positive_zero.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_explicitly_positive_zero.xml new file mode 100644 index 0000000..135ecad --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_explicitly_positive_zero.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + +0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_free_form_text.xml new file mode 100644 index 0000000..e19453b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_implicitly_positive.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_implicitly_positive.xml new file mode 100644 index 0000000..7df8fe3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_implicitly_positive.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + 1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_mathematical_formula.xml new file mode 100644 index 0000000..8a726a5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_mathematical_formula.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + -2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_scientific.xml new file mode 100644 index 0000000..512e308 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_scientific.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + -1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_zero.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_zero.xml new file mode 100644 index 0000000..24286b4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_zero.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..b4b210c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Negative_integer_zero_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:negativeInteger + 000 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_negative_integer_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_negative_integer_decimal.xml new file mode 100644 index 0000000..ab3fc98 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_negative_integer_decimal.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_negative_integer_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_negative_integer_empty.xml new file mode 100644 index 0000000..3d0296d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_negative_integer_empty.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_negative_integer_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_negative_integer_free_form_text.xml new file mode 100644 index 0000000..fcd9d7c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_negative_integer_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_negative_integer_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_negative_integer_negative.xml new file mode 100644 index 0000000..d1baac1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_negative_integer_negative.xml @@ -0,0 +1,4 @@ + + xs:nonNegativeInteger + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_decimal.xml new file mode 100644 index 0000000..7716ba7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_decimal.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_empty.xml new file mode 100644 index 0000000..2d514cb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_empty.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_explicitly_positive.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_explicitly_positive.xml new file mode 100644 index 0000000..c35571f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_explicitly_positive.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + +1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_free_form_text.xml new file mode 100644 index 0000000..23a6be4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_implicitly_positive.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_implicitly_positive.xml new file mode 100644 index 0000000..0ee7c0d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_implicitly_positive.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + 1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_mathematical_formula.xml new file mode 100644 index 0000000..0754fae --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_mathematical_formula.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + -2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_scientific.xml new file mode 100644 index 0000000..619a2e9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Non_positive_integer_scientific.xml @@ -0,0 +1,4 @@ + + xs:nonPositiveInteger + -1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_decimal.xml new file mode 100644 index 0000000..9d6cf85 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_decimal.xml @@ -0,0 +1,4 @@ + + xs:positiveInteger + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_empty.xml new file mode 100644 index 0000000..d2b8d1b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_empty.xml @@ -0,0 +1,4 @@ + + xs:positiveInteger + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_free_form_text.xml new file mode 100644 index 0000000..c90210f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:positiveInteger + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_negative.xml new file mode 100644 index 0000000..8c7d9ae --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_negative.xml @@ -0,0 +1,4 @@ + + xs:positiveInteger + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_zero.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_zero.xml new file mode 100644 index 0000000..6081eb6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_zero.xml @@ -0,0 +1,4 @@ + + xs:positiveInteger + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..4167837 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Positive_integer_zero_prefixed_with_zeros.xml @@ -0,0 +1,4 @@ + + xs:positiveInteger + 000 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_decimal.xml new file mode 100644 index 0000000..3104e24 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_decimal.xml @@ -0,0 +1,4 @@ + + xs:short + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_empty.xml new file mode 100644 index 0000000..2d5b2bd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_empty.xml @@ -0,0 +1,4 @@ + + xs:short + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_free_form_text.xml new file mode 100644 index 0000000..433b8d5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:short + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_mathematical_formula.xml new file mode 100644 index 0000000..3799a60 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_mathematical_formula.xml @@ -0,0 +1,4 @@ + + xs:short + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_max_plus_one.xml new file mode 100644 index 0000000..1eb0cf6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_max_plus_one.xml @@ -0,0 +1,4 @@ + + xs:short + 32768 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_min_minus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_min_minus_one.xml new file mode 100644 index 0000000..46fcc9f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_min_minus_one.xml @@ -0,0 +1,4 @@ + + xs:short + -32769 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_scientific.xml new file mode 100644 index 0000000..d130712 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Short_scientific.xml @@ -0,0 +1,4 @@ + + xs:short + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_empty.xml new file mode 100644 index 0000000..0402bf8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_empty.xml @@ -0,0 +1,4 @@ + + xs:time + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_free_form_text.xml new file mode 100644 index 0000000..8f9c996 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:time + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_hour_out_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_hour_out_of_range.xml new file mode 100644 index 0000000..4e91aca --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_hour_out_of_range.xml @@ -0,0 +1,4 @@ + + xs:time + 25:25:10 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_invalid_negative_offset.xml new file mode 100644 index 0000000..0b31503 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_invalid_negative_offset.xml @@ -0,0 +1,4 @@ + + xs:time + 21:32:52-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..81646cb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_invalid_offset_with_seconds.xml @@ -0,0 +1,4 @@ + + xs:time + 21:32:52-02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_invalid_positive_offset.xml new file mode 100644 index 0000000..1f607e8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_invalid_positive_offset.xml @@ -0,0 +1,4 @@ + + xs:time + 21:32:52+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_minute_out_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_minute_out_of_range.xml new file mode 100644 index 0000000..0550658 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_minute_out_of_range.xml @@ -0,0 +1,4 @@ + + xs:time + 01:61:10 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_missing_padded_zeros.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_missing_padded_zeros.xml new file mode 100644 index 0000000..466ae18 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_missing_padded_zeros.xml @@ -0,0 +1,4 @@ + + xs:time + 1:20:10 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_missing_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_missing_seconds.xml new file mode 100644 index 0000000..5de8e01 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_missing_seconds.xml @@ -0,0 +1,4 @@ + + xs:time + 21:32 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_negative.xml new file mode 100644 index 0000000..9987ef7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_negative.xml @@ -0,0 +1,4 @@ + + xs:time + -10:00:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_second_out_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_second_out_of_range.xml new file mode 100644 index 0000000..2044a9e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Time_second_out_of_range.xml @@ -0,0 +1,4 @@ + + xs:time + 01:02:61 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_decimal.xml new file mode 100644 index 0000000..0eba281 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_decimal.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_empty.xml new file mode 100644 index 0000000..3bc0bd0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_empty.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_free_form_text.xml new file mode 100644 index 0000000..6a66a9a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_mathematical_formula.xml new file mode 100644 index 0000000..342c970 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_mathematical_formula.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_max_plus_one.xml new file mode 100644 index 0000000..23ff731 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_max_plus_one.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + 256 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_negative.xml new file mode 100644 index 0000000..2199af0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_negative.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_scientific.xml new file mode 100644 index 0000000..adfdcc8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_byte_scientific.xml @@ -0,0 +1,4 @@ + + xs:unsignedByte + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_decimal.xml new file mode 100644 index 0000000..6f8cf3e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_decimal.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_empty.xml new file mode 100644 index 0000000..d193577 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_empty.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_free_form_text.xml new file mode 100644 index 0000000..589962a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_mathematical_formula.xml new file mode 100644 index 0000000..4c72998 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_mathematical_formula.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_max_plus_one.xml new file mode 100644 index 0000000..120a5cc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_max_plus_one.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + 4294967296 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_negative.xml new file mode 100644 index 0000000..a106e69 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_negative.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_scientific.xml new file mode 100644 index 0000000..8b4f633 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_int_scientific.xml @@ -0,0 +1,4 @@ + + xs:unsignedInt + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_decimal.xml new file mode 100644 index 0000000..0e0b891 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_decimal.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_empty.xml new file mode 100644 index 0000000..ce4fd79 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_empty.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_free_form_text.xml new file mode 100644 index 0000000..e161082 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_mathematical_formula.xml new file mode 100644 index 0000000..741dbdd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_mathematical_formula.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_max_plus_one.xml new file mode 100644 index 0000000..a7b5801 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_max_plus_one.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + 18446744073709551616 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_negative.xml new file mode 100644 index 0000000..e78da99 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_negative.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_scientific.xml new file mode 100644 index 0000000..16b44fa --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_long_scientific.xml @@ -0,0 +1,4 @@ + + xs:unsignedLong + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_decimal.xml new file mode 100644 index 0000000..6a76b45 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_decimal.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_empty.xml new file mode 100644 index 0000000..5015113 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_empty.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_free_form_text.xml new file mode 100644 index 0000000..f235dbc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_free_form_text.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_mathematical_formula.xml new file mode 100644 index 0000000..c87c63a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_mathematical_formula.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_max_plus_one.xml new file mode 100644 index 0000000..96b8e56 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_max_plus_one.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + 65536 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_negative.xml new file mode 100644 index 0000000..89342b5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_negative.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_scientific.xml new file mode 100644 index 0000000..5f518b9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/property/value/Unsigned_short_scientific.xml @@ -0,0 +1,4 @@ + + xs:unsignedShort + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_negatively_fuzzed_01.xml new file mode 100644 index 0000000..7751a1f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_negatively_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + `` + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_negatively_fuzzed_04.xml new file mode 100644 index 0000000..2b78966 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_negatively_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + ''1ƒ𐧂 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_negatively_fuzzed_05.xml new file mode 100644 index 0000000..a17eb98 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_negatively_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + ''ÿ􈰚쎸Ⱥ«Ù + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_negatively_fuzzed_06.xml new file mode 100644 index 0000000..74c2bee --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_negatively_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + `0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_negatively_fuzzed_10.xml new file mode 100644 index 0000000..67bccd1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_negatively_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + —LùÙ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.xml new file mode 100644 index 0000000..aacb1a2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_percentage_followed_by_non_two_hexadecimal_digits.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + http://datypic.com#f% rag + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_too_many_fragments.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_too_many_fragments.xml new file mode 100644 index 0000000..947f71b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Any_URI_too_many_fragments.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:anyURI + http://datypic.com#frag1#frag2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.xml new file mode 100644 index 0000000..1aaec99 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_an_odd_number_of_characters_is_not_valid.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + FB8 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.xml new file mode 100644 index 0000000..68a9ade --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_equals_signs_may_only_appear_at_the_end.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + ==0F + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_03.xml new file mode 100644 index 0000000..bc56744 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + #/ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_04.xml new file mode 100644 index 0000000..eb39282 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_04.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_05.xml new file mode 100644 index 0000000..34176a7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + 򤞈 񷩎񠴔ú + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_06.xml new file mode 100644 index 0000000..1a0943b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_06.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + ]]P + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_08.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_08.xml new file mode 100644 index 0000000..4d2913e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_08.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + í + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_10.xml new file mode 100644 index 0000000..b26f540 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Base_64_binary_negatively_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:base64Binary + ‚ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_false_as_number_with_leading_zeros.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_false_as_number_with_leading_zeros.xml new file mode 100644 index 0000000..f78ca8d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_false_as_number_with_leading_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:boolean + 0000 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_false_in_camelcase.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_false_in_camelcase.xml new file mode 100644 index 0000000..bbee2e1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_false_in_camelcase.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:boolean + False + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_false_in_uppercase.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_false_in_uppercase.xml new file mode 100644 index 0000000..95ad140 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_false_in_uppercase.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:boolean + FALSE + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_negatively_fuzzed_01.xml new file mode 100644 index 0000000..e3cbbf2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_negatively_fuzzed_01.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:boolean + 򼅡󚈲6󚈲 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_negatively_fuzzed_03.xml new file mode 100644 index 0000000..9c4e48d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_negatively_fuzzed_03.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:boolean + 𵯴 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_negatively_fuzzed_05.xml new file mode 100644 index 0000000..c4969fd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_negatively_fuzzed_05.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:boolean +  º񌯽n + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_negatively_fuzzed_10.xml new file mode 100644 index 0000000..cf15e78 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_negatively_fuzzed_10.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:boolean + 򪸏za𶢻‰ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_true_as_number_with_leading_zeros.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_true_as_number_with_leading_zeros.xml new file mode 100644 index 0000000..6f38b31 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_true_as_number_with_leading_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:boolean + 0001 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_true_in_camelcase.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_true_in_camelcase.xml new file mode 100644 index 0000000..d94cb77 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_true_in_camelcase.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:boolean + True + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_true_in_uppercase.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_true_in_uppercase.xml new file mode 100644 index 0000000..5227777 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Boolean_true_in_uppercase.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:boolean + TRUE + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_decimal.xml new file mode 100644 index 0000000..75d4f14 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_decimal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_empty.xml new file mode 100644 index 0000000..7e31e61 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_free_form_text.xml new file mode 100644 index 0000000..5b135aa --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_mathematical_formula.xml new file mode 100644 index 0000000..33375ee --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_mathematical_formula.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_max_plus_one.xml new file mode 100644 index 0000000..75337d1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_max_plus_one.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + 128 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_min_minus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_min_minus_one.xml new file mode 100644 index 0000000..41722b4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_min_minus_one.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + -129 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_scientific.xml new file mode 100644 index 0000000..ee0f1c1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Byte_scientific.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:byte + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_time_with_UTC.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_time_with_UTC.xml new file mode 100644 index 0000000..1c48125 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_time_with_UTC.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + 2022-04-01T01:02:03Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_time_with_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_time_with_offset.xml new file mode 100644 index 0000000..94ae8ed --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_time_with_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + 2022-04-01T01:02:03+02:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_time_without_zone.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_time_without_zone.xml new file mode 100644 index 0000000..38bfa4d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_time_without_zone.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + 2022-04-01T01:02:03 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_with_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_with_invalid_negative_offset.xml new file mode 100644 index 0000000..b7d1c64 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_with_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + 2022-04-01-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_with_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_with_invalid_positive_offset.xml new file mode 100644 index 0000000..a3bc45e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_with_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + 2022-04-01+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_with_seconds_in_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_with_seconds_in_offset.xml new file mode 100644 index 0000000..5790360 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_date_with_seconds_in_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + 2022-04-01+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_empty.xml new file mode 100644 index 0000000..ac7f229 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_non_existing_february_29th.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_non_existing_february_29th.xml new file mode 100644 index 0000000..14267c1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_non_existing_february_29th.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + 2011-02-29 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date.xml new file mode 100644 index 0000000..b740173 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 2022-04-01 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_time_with_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_time_with_invalid_negative_offset.xml new file mode 100644 index 0000000..38cbc47 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_time_with_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 2022-04-01T01:02:03-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_time_with_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_time_with_invalid_positive_offset.xml new file mode 100644 index 0000000..39daeca --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_time_with_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 2022-04-01T01:02:03+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_time_with_seconds_in_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_time_with_seconds_in_offset.xml new file mode 100644 index 0000000..ba345fe --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_time_with_seconds_in_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 2022-04-01T01:02:03+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_time_with_unexpected_prefix.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_time_with_unexpected_prefix.xml new file mode 100644 index 0000000..bbb1d48 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_time_with_unexpected_prefix.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + unexpected-prefix-2022-04-01T01:02:03Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_time_with_unexpected_suffix.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_time_with_unexpected_suffix.xml new file mode 100644 index 0000000..342f27a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_time_with_unexpected_suffix.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 2022-04-01T01:02:03Z-unexpected-suffix + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_with_time_zone.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_with_time_zone.xml new file mode 100644 index 0000000..233c805 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_date_with_time_zone.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 2022-04-01Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_empty.xml new file mode 100644 index 0000000..f685b1a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_non_existing_february_29th.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_non_existing_february_29th.xml new file mode 100644 index 0000000..14e6da9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_non_existing_february_29th.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 2011-02-29T01:02:03Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_without_minutes.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_without_minutes.xml new file mode 100644 index 0000000..df7ab3d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_without_minutes.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 2022-04-01T01Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_without_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_without_seconds.xml new file mode 100644 index 0000000..2eaeb70 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_without_seconds.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 2022-04-01T01:02Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_year_4_bce_february_29th.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_year_4_bce_february_29th.xml new file mode 100644 index 0000000..0d4a74d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_year_4_bce_february_29th.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + -0004-02-29T01:02:03 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_year_zero_doesnt_exist.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_year_zero_doesnt_exist.xml new file mode 100644 index 0000000..8dfe021 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_time_year_zero_doesnt_exist.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:dateTime + 0000-01-02T01:02:03 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_year_4_bce_february_29th.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_year_4_bce_february_29th.xml new file mode 100644 index 0000000..b8fb99e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_year_4_bce_february_29th.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + -0004-02-29 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_year_zero_doesnt_exist.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_year_zero_doesnt_exist.xml new file mode 100644 index 0000000..8c9d3c3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Date_year_zero_doesnt_exist.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:date + 0000-01-02 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Decimal_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Decimal_empty.xml new file mode 100644 index 0000000..598fc0e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Decimal_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:decimal + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Decimal_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Decimal_free_form_text.xml new file mode 100644 index 0000000..77967b2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Decimal_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:decimal + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_empty.xml new file mode 100644 index 0000000..879a8eb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_free_form_text.xml new file mode 100644 index 0000000..464c7d9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_inf_case_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_inf_case_matters.xml new file mode 100644 index 0000000..15aa9ab --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_inf_case_matters.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + inf + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_nan_case_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_nan_case_matters.xml new file mode 100644 index 0000000..ac62c1b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_nan_case_matters.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + nan + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_no_fraction_in_scientific_notation.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_no_fraction_in_scientific_notation.xml new file mode 100644 index 0000000..18c9941 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_no_fraction_in_scientific_notation.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + 12.34e5.6 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_plus_inf.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_plus_inf.xml new file mode 100644 index 0000000..5c8e4da --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_plus_inf.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + +INF + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_too_large.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_too_large.xml new file mode 100644 index 0000000..c51288d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Double_too_large.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:double + 1.123456789e1234567890 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_empty.xml new file mode 100644 index 0000000..3a8ee4b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_free_form_text.xml new file mode 100644 index 0000000..c13bc61 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_integer.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_integer.xml new file mode 100644 index 0000000..2cba4dc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_integer.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + 1234 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_leading_P_missing.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_leading_P_missing.xml new file mode 100644 index 0000000..aabba6c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_leading_P_missing.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + 1Y + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_negative_years.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_negative_years.xml new file mode 100644 index 0000000..010c92d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_negative_years.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + P-1Y + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_positive_year_negative_months.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_positive_year_negative_months.xml new file mode 100644 index 0000000..d66b8b0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_positive_year_negative_months.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + P1Y-1M + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_separator_T_missing.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_separator_T_missing.xml new file mode 100644 index 0000000..c75a5c2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_separator_T_missing.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + P1S + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_the_order_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_the_order_matters.xml new file mode 100644 index 0000000..e131791 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Duration_the_order_matters.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:duration + P1M2Y + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_empty.xml new file mode 100644 index 0000000..d53ae4b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_free_form_text.xml new file mode 100644 index 0000000..d811c06 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_inf_case_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_inf_case_matters.xml new file mode 100644 index 0000000..bfa0ec8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_inf_case_matters.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + inf + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_nan_case_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_nan_case_matters.xml new file mode 100644 index 0000000..9960104 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_nan_case_matters.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + nan + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_no_fraction_in_scientific_notation.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_no_fraction_in_scientific_notation.xml new file mode 100644 index 0000000..5f45a39 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_no_fraction_in_scientific_notation.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + 12.34e5.6 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_plus_inf.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_plus_inf.xml new file mode 100644 index 0000000..27235a6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_plus_inf.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + +INF + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_too_large.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_too_large.xml new file mode 100644 index 0000000..566bb14 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Float_too_large.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:float + 1.123456789e1234567890 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_day_outside_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_day_outside_of_range.xml new file mode 100644 index 0000000..c2920f0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_day_outside_of_range.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---35 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_empty.xml new file mode 100644 index 0000000..8d4d35a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_free_form_text.xml new file mode 100644 index 0000000..4037ece --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_invalid_negative_offset.xml new file mode 100644 index 0000000..11e8a1b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---01-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..87baa38 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_invalid_offset_with_seconds.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---01+15:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_invalid_positive_offset.xml new file mode 100644 index 0000000..c9e4cce --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---01+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_missing_leading_dashes.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_missing_leading_dashes.xml new file mode 100644 index 0000000..b63b293 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_missing_leading_dashes.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + 15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_missing_leading_digit.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_missing_leading_digit.xml new file mode 100644 index 0000000..1621c74 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_missing_leading_digit.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + ---5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_unexpected_suffix.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_unexpected_suffix.xml new file mode 100644 index 0000000..ee1f78b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_day_unexpected_suffix.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + --30- + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_day_outside_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_day_outside_of_range.xml new file mode 100644 index 0000000..91b9ccb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_day_outside_of_range.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --01-35 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_empty.xml new file mode 100644 index 0000000..9d79fe1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_free_form_text.xml new file mode 100644 index 0000000..e7e240b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_invalid_negative_offset.xml new file mode 100644 index 0000000..d0c8cc6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --11-01-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..382a632 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_invalid_offset_with_seconds.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --11-01+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_invalid_positive_offset.xml new file mode 100644 index 0000000..3c4a9fa --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --11-01+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_missing_leading_dashes.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_missing_leading_dashes.xml new file mode 100644 index 0000000..6810ac8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_missing_leading_dashes.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + 01-15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_missing_leading_digit.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_missing_leading_digit.xml new file mode 100644 index 0000000..9e9bdb8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_missing_leading_digit.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --1-5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_non_existing_april_31st.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_non_existing_april_31st.xml new file mode 100644 index 0000000..0fc7927 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_non_existing_april_31st.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + --04-31 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_unexpected_prefix_and_suffix.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_unexpected_prefix_and_suffix.xml new file mode 100644 index 0000000..bbed9b4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_day_unexpected_prefix_and_suffix.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonthDay + -01-30- + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_empty.xml new file mode 100644 index 0000000..3c0cf63 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_free_form_text.xml new file mode 100644 index 0000000..68ed1a8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_invalid_negative_offset.xml new file mode 100644 index 0000000..37f4fa0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --11-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..ca02ba6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_invalid_offset_with_seconds.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --11+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_invalid_positive_offset.xml new file mode 100644 index 0000000..ebd502e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --11+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_missing_leading_dashes.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_missing_leading_dashes.xml new file mode 100644 index 0000000..202f3b8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_missing_leading_dashes.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + 01 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_missing_leading_digit.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_missing_leading_digit.xml new file mode 100644 index 0000000..28e0c09 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_missing_leading_digit.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_month_outside_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_month_outside_of_range.xml new file mode 100644 index 0000000..8ef24ba --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_month_outside_of_range.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + --13 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_unexpected_prefix_and_suffix.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_unexpected_prefix_and_suffix.xml new file mode 100644 index 0000000..3cd09b0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_month_unexpected_prefix_and_suffix.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gMonth + -01- + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_empty.xml new file mode 100644 index 0000000..b06f397 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_free_form_text.xml new file mode 100644 index 0000000..9ffc40e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_invalid_negative_offset.xml new file mode 100644 index 0000000..c184efd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + 2001-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..5ade392 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_invalid_offset_with_seconds.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + 2001+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_invalid_positive_offset.xml new file mode 100644 index 0000000..fcf6bb2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + 2001+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_missing_century.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_missing_century.xml new file mode 100644 index 0000000..9675502 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_missing_century.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + 01 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_empty.xml new file mode 100644 index 0000000..4204cb4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_free_form_text.xml new file mode 100644 index 0000000..ef4709b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_invalid_negative_offset.xml new file mode 100644 index 0000000..ef90703 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + 2001-10-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..e6e647d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_invalid_offset_with_seconds.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + 2001-10+02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_invalid_positive_offset.xml new file mode 100644 index 0000000..d6db8d3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + 2001-10+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_missing_century.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_missing_century.xml new file mode 100644 index 0000000..33e2378 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_missing_century.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + 01-13 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_missing_month.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_missing_month.xml new file mode 100644 index 0000000..ce6af44 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_missing_month.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + 2001 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_month_out_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_month_out_of_range.xml new file mode 100644 index 0000000..4190a8a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_month_month_out_of_range.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYearMonth + 2001-13 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_unexpected_month.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_unexpected_month.xml new file mode 100644 index 0000000..9d51dc0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/G_year_unexpected_month.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gYear + 2001-12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Hex_binary_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Hex_binary_free_form_text.xml new file mode 100644 index 0000000..9cc9b0f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Hex_binary_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:hexBinary + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Hex_binary_odd_number_of_digits.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Hex_binary_odd_number_of_digits.xml new file mode 100644 index 0000000..cfb9857 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Hex_binary_odd_number_of_digits.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:hexBinary + 123 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Hex_binary_single_digit.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Hex_binary_single_digit.xml new file mode 100644 index 0000000..de28ee3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Hex_binary_single_digit.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:hexBinary + 1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_decimal.xml new file mode 100644 index 0000000..47707fc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_decimal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_empty.xml new file mode 100644 index 0000000..cb0d93e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_free_form_text.xml new file mode 100644 index 0000000..1daef56 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_mathematical_formula.xml new file mode 100644 index 0000000..f484322 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_mathematical_formula.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_max_plus_one.xml new file mode 100644 index 0000000..b884baf --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_max_plus_one.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + 2147483648 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_min_minus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_min_minus_one.xml new file mode 100644 index 0000000..215b53a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_min_minus_one.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + -2147483649 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_scientific.xml new file mode 100644 index 0000000..db81874 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Int_scientific.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:int + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Integer_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Integer_decimal.xml new file mode 100644 index 0000000..063ad9a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Integer_decimal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Integer_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Integer_empty.xml new file mode 100644 index 0000000..cdb153f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Integer_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Integer_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Integer_free_form_text.xml new file mode 100644 index 0000000..96c61cc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Integer_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Integer_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Integer_mathematical_formula.xml new file mode 100644 index 0000000..e885e78 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Integer_mathematical_formula.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Integer_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Integer_scientific.xml new file mode 100644 index 0000000..17ccaf5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Integer_scientific.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:integer + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_decimal.xml new file mode 100644 index 0000000..5b0358c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_decimal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_empty.xml new file mode 100644 index 0000000..f2fb573 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_free_form_text.xml new file mode 100644 index 0000000..04144b6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_mathematical_formula.xml new file mode 100644 index 0000000..d2f9525 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_mathematical_formula.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_max_plus_one.xml new file mode 100644 index 0000000..cafc352 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_max_plus_one.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + 9223372036854775808 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_min_minus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_min_minus_one.xml new file mode 100644 index 0000000..80dccae --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_min_minus_one.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + -9223372036854775809 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_scientific.xml new file mode 100644 index 0000000..1fe92b7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Long_scientific.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:long + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_decimal.xml new file mode 100644 index 0000000..f7f8840 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_decimal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_empty.xml new file mode 100644 index 0000000..6970e59 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_explicitly_positive.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_explicitly_positive.xml new file mode 100644 index 0000000..ccd3856 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_explicitly_positive.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + +1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_explicitly_positive_zero.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_explicitly_positive_zero.xml new file mode 100644 index 0000000..96a68f2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_explicitly_positive_zero.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + +0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_free_form_text.xml new file mode 100644 index 0000000..7840d5b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_implicitly_positive.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_implicitly_positive.xml new file mode 100644 index 0000000..7e8a73d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_implicitly_positive.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + 1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_mathematical_formula.xml new file mode 100644 index 0000000..cb6171c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_mathematical_formula.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + -2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_scientific.xml new file mode 100644 index 0000000..797715f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_scientific.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + -1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_zero.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_zero.xml new file mode 100644 index 0000000..1da6e11 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_zero.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..6a34ea3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Negative_integer_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:negativeInteger + 000 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_negative_integer_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_negative_integer_decimal.xml new file mode 100644 index 0000000..defde13 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_negative_integer_decimal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_negative_integer_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_negative_integer_empty.xml new file mode 100644 index 0000000..bde7cf2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_negative_integer_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_negative_integer_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_negative_integer_free_form_text.xml new file mode 100644 index 0000000..024919b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_negative_integer_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_negative_integer_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_negative_integer_negative.xml new file mode 100644 index 0000000..724c0e3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_negative_integer_negative.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonNegativeInteger + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_decimal.xml new file mode 100644 index 0000000..b23b2cd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_decimal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_empty.xml new file mode 100644 index 0000000..a9a7b9c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_explicitly_positive.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_explicitly_positive.xml new file mode 100644 index 0000000..a43c22b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_explicitly_positive.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + +1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_free_form_text.xml new file mode 100644 index 0000000..2954195 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_implicitly_positive.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_implicitly_positive.xml new file mode 100644 index 0000000..0f0006d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_implicitly_positive.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + 1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_mathematical_formula.xml new file mode 100644 index 0000000..9f21476 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_mathematical_formula.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + -2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_scientific.xml new file mode 100644 index 0000000..16fb78c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Non_positive_integer_scientific.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:nonPositiveInteger + -1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_decimal.xml new file mode 100644 index 0000000..e363014 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_decimal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:positiveInteger + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_empty.xml new file mode 100644 index 0000000..118b6b7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:positiveInteger + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_free_form_text.xml new file mode 100644 index 0000000..b0b8b81 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:positiveInteger + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_negative.xml new file mode 100644 index 0000000..4d540a7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_negative.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:positiveInteger + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_zero.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_zero.xml new file mode 100644 index 0000000..26f8f80 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_zero.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:positiveInteger + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_zero_prefixed_with_zeros.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_zero_prefixed_with_zeros.xml new file mode 100644 index 0000000..893c250 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Positive_integer_zero_prefixed_with_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:positiveInteger + 000 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_decimal.xml new file mode 100644 index 0000000..8654824 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_decimal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_empty.xml new file mode 100644 index 0000000..a8ca10c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_free_form_text.xml new file mode 100644 index 0000000..0810abd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_mathematical_formula.xml new file mode 100644 index 0000000..52d913d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_mathematical_formula.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_max_plus_one.xml new file mode 100644 index 0000000..5d777cd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_max_plus_one.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + 32768 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_min_minus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_min_minus_one.xml new file mode 100644 index 0000000..25b127f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_min_minus_one.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + -32769 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_scientific.xml new file mode 100644 index 0000000..d287527 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Short_scientific.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:short + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_empty.xml new file mode 100644 index 0000000..e7cad48 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_free_form_text.xml new file mode 100644 index 0000000..6898cff --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_hour_out_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_hour_out_of_range.xml new file mode 100644 index 0000000..7e35afd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_hour_out_of_range.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 25:25:10 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_invalid_negative_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_invalid_negative_offset.xml new file mode 100644 index 0000000..a4734da --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_invalid_negative_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 21:32:52-15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_invalid_offset_with_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_invalid_offset_with_seconds.xml new file mode 100644 index 0000000..9e9992d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_invalid_offset_with_seconds.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 21:32:52-02:00:12 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_invalid_positive_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_invalid_positive_offset.xml new file mode 100644 index 0000000..12ea8ea --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_invalid_positive_offset.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 21:32:52+15:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_minute_out_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_minute_out_of_range.xml new file mode 100644 index 0000000..e82799a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_minute_out_of_range.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 01:61:10 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_missing_padded_zeros.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_missing_padded_zeros.xml new file mode 100644 index 0000000..ec76bb2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_missing_padded_zeros.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 1:20:10 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_missing_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_missing_seconds.xml new file mode 100644 index 0000000..2097ad3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_missing_seconds.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 21:32 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_negative.xml new file mode 100644 index 0000000..0f9b216 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_negative.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + -10:00:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_second_out_of_range.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_second_out_of_range.xml new file mode 100644 index 0000000..1c8f88f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Time_second_out_of_range.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:time + 01:02:61 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_decimal.xml new file mode 100644 index 0000000..5706763 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_decimal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_empty.xml new file mode 100644 index 0000000..5a907de --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_free_form_text.xml new file mode 100644 index 0000000..786f0fe --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_mathematical_formula.xml new file mode 100644 index 0000000..7609e25 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_mathematical_formula.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_max_plus_one.xml new file mode 100644 index 0000000..96503e8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_max_plus_one.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + 256 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_negative.xml new file mode 100644 index 0000000..71aead1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_negative.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_scientific.xml new file mode 100644 index 0000000..ac86800 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_byte_scientific.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedByte + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_decimal.xml new file mode 100644 index 0000000..943ff86 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_decimal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_empty.xml new file mode 100644 index 0000000..8aaba38 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_free_form_text.xml new file mode 100644 index 0000000..564b85d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_mathematical_formula.xml new file mode 100644 index 0000000..cbb58aa --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_mathematical_formula.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_max_plus_one.xml new file mode 100644 index 0000000..4a75b18 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_max_plus_one.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + 4294967296 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_negative.xml new file mode 100644 index 0000000..ca03422 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_negative.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_scientific.xml new file mode 100644 index 0000000..74f1ede --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_int_scientific.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedInt + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_decimal.xml new file mode 100644 index 0000000..a8e9e56 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_decimal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_empty.xml new file mode 100644 index 0000000..98345b8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_free_form_text.xml new file mode 100644 index 0000000..0d2e075 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_mathematical_formula.xml new file mode 100644 index 0000000..8616f76 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_mathematical_formula.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_max_plus_one.xml new file mode 100644 index 0000000..2f7464a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_max_plus_one.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + 18446744073709551616 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_negative.xml new file mode 100644 index 0000000..977d10f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_negative.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_scientific.xml new file mode 100644 index 0000000..4ae5f08 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_long_scientific.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedLong + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_decimal.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_decimal.xml new file mode 100644 index 0000000..cd8fe9d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_decimal.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + 1.2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_empty.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_empty.xml new file mode 100644 index 0000000..f3f9d42 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_empty.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_free_form_text.xml new file mode 100644 index 0000000..708155f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_free_form_text.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_mathematical_formula.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_mathematical_formula.xml new file mode 100644 index 0000000..e93cb60 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_mathematical_formula.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + 2**5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_max_plus_one.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_max_plus_one.xml new file mode 100644 index 0000000..70a68f3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_max_plus_one.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + 65536 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_negative.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_negative.xml new file mode 100644 index 0000000..0b3d4b0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_negative.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_scientific.xml b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_scientific.xml new file mode 100644 index 0000000..3bd3d7e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/InvalidValueExample/qualifier/value/Unsigned_short_scientific.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:unsignedShort + 1e2 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/administrativeInformation/revision.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/administrativeInformation/revision.xml new file mode 100644 index 0000000..950f8dc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/administrativeInformation/revision.xml @@ -0,0 +1,72 @@ + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + 116 + 11612 + + ExternalReference + + + GlobalReference + urn:an-example:13:f3f732d5 + + + + 2022-04-01T24:00:00+00:00 + 2022-04-01T24:00:00Z + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/administrativeInformation/templateId.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/administrativeInformation/templateId.xml new file mode 100644 index 0000000..9e06556 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/administrativeInformation/templateId.xml @@ -0,0 +1,72 @@ + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + 116 + 116 + + ExternalReference + + + GlobalReference + urn:an-example:13:f3f732d5 + + + + 2022-04-01T24:00:00+00:00 + 2022-04-01T24:00:00Z + [\h$񒺟ìÖċŠ1¿1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/administrativeInformation/version.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/administrativeInformation/version.xml new file mode 100644 index 0000000..8368ea3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/administrativeInformation/version.xml @@ -0,0 +1,72 @@ + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + 11612 + 116 + + ExternalReference + + + GlobalReference + urn:an-example:13:f3f732d5 + + + + 2022-04-01T24:00:00+00:00 + 2022-04-01T24:00:00Z + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/annotatedRelationshipElement/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/annotatedRelationshipElement/category.xml new file mode 100644 index 0000000..6ada3df --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/annotatedRelationshipElement/category.xml @@ -0,0 +1,166 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/annotatedRelationshipElement/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/annotatedRelationshipElement/idShort.xml new file mode 100644 index 0000000..bf5f0fc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/annotatedRelationshipElement/idShort.xml @@ -0,0 +1,166 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/assetAdministrationShell/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/assetAdministrationShell/category.xml new file mode 100644 index 0000000..2f50e6d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/assetAdministrationShell/category.xml @@ -0,0 +1,123 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/assetAdministrationShell/id.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/assetAdministrationShell/id.xml new file mode 100644 index 0000000..21d9f20 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/assetAdministrationShell/id.xml @@ -0,0 +1,123 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/assetAdministrationShell/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/assetAdministrationShell/idShort.xml new file mode 100644 index 0000000..5711b5b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/assetAdministrationShell/idShort.xml @@ -0,0 +1,123 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/assetInformation/assetType.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/assetInformation/assetType.xml new file mode 100644 index 0000000..ddcaa06 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/assetInformation/assetType.xml @@ -0,0 +1,22 @@ + + Batch + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + Ûă<P󨱽²|dnœÞ®123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567 + + news:comp.infosystems.www.servers.unix + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/assetInformation/globalAssetId.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/assetInformation/globalAssetId.xml new file mode 100644 index 0000000..c3920ee --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/assetInformation/globalAssetId.xml @@ -0,0 +1,22 @@ + + Batch + 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + Ûă<P󨱽²|dnœÞ® + + news:comp.infosystems.www.servers.unix + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/basicEventElement/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/basicEventElement/category.xml new file mode 100644 index 0000000..2767cdd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/basicEventElement/category.xml @@ -0,0 +1,172 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/basicEventElement/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/basicEventElement/idShort.xml new file mode 100644 index 0000000..e1f2202 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/basicEventElement/idShort.xml @@ -0,0 +1,172 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/basicEventElement/messageTopic.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/basicEventElement/messageTopic.xml new file mode 100644 index 0000000..2b900e5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/basicEventElement/messageTopic.xml @@ -0,0 +1,172 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/blob/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/blob/category.xml new file mode 100644 index 0000000..ee0a4d4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/blob/category.xml @@ -0,0 +1,142 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/blob/contentType.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/blob/contentType.xml new file mode 100644 index 0000000..a001972 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/blob/contentType.xml @@ -0,0 +1,142 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + 15j/5j123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/blob/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/blob/idShort.xml new file mode 100644 index 0000000..3271506 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/blob/idShort.xml @@ -0,0 +1,142 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/capability/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/capability/category.xml new file mode 100644 index 0000000..892db9d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/capability/category.xml @@ -0,0 +1,140 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/capability/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/capability/idShort.xml new file mode 100644 index 0000000..52602c1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/capability/idShort.xml @@ -0,0 +1,140 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/conceptDescription/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/conceptDescription/category.xml new file mode 100644 index 0000000..7da6bc2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/conceptDescription/category.xml @@ -0,0 +1,113 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc1291c8 + öĖa􍣡™| + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc009eeb + Ûă<P󨱽²|dnœÞ® + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:06:66cbf3c6 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/conceptDescription/id.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/conceptDescription/id.xml new file mode 100644 index 0000000..0b232e9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/conceptDescription/id.xml @@ -0,0 +1,113 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc1291c8 + öĖa􍣡™| + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc009eeb + Ûă<P󨱽²|dnœÞ® + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:06:66cbf3c6 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/conceptDescription/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/conceptDescription/idShort.xml new file mode 100644 index 0000000..730ad6b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/conceptDescription/idShort.xml @@ -0,0 +1,113 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc1291c8 + öĖa􍣡™| + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc009eeb + Ûă<P󨱽²|dnœÞ® + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:06:66cbf3c6 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/dataSpecificationIec61360/value.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/dataSpecificationIec61360/value.xml new file mode 100644 index 0000000..d907da2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/dataSpecificationIec61360/value.xml @@ -0,0 +1,41 @@ + + + + en-JM-x-c7dddb5b + 6 + + + + + en-JM-x-db8b8a3d + öĖa􍣡™| + + + [\h$񒺟ìÖċŠ1¿ + + ExternalReference + + + GlobalReference + urn:example:01:c23a7921 + + + + <ă<P󨱽²|dnœÞ® + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + RATIONAL_MEASURE + + + en-JM-x-b7bc1552 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 0 + 򤑌M𪠇𛔊򂄲1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + + false + false + true + true + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/entity/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/entity/category.xml new file mode 100644 index 0000000..e1b1804 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/entity/category.xml @@ -0,0 +1,161 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/entity/globalAssetId.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/entity/globalAssetId.xml new file mode 100644 index 0000000..738b41b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/entity/globalAssetId.xml @@ -0,0 +1,161 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/entity/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/entity/idShort.xml new file mode 100644 index 0000000..fb10bcd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/entity/idShort.xml @@ -0,0 +1,161 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/eventPayload/topic.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/eventPayload/topic.xml new file mode 100644 index 0000000..916ae93 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/eventPayload/topic.xml @@ -0,0 +1,54 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ExternalReference + + + GlobalReference + urn:an-example:12:1ed44768 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + + ExternalReference + + + GlobalReference + urn:something:16:2204ae04 + + + + öĖa􍣡™|1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 + + ExternalReference + + + GlobalReference + urn:yet-another-company:01:0e4f465d + + + + 2022-04-01T24:00:00-00:00 + /TsF2AbyQb1dIa0= + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/extension/name.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/extension/name.xml new file mode 100644 index 0000000..4784ec9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/extension/name.xml @@ -0,0 +1,63 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Ûă<P󨱽²|dnœÞ®123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567 + xs:gDay + ---01 + + + ExternalReference + + + GlobalReference + urn:an-example:18:1d00b242 + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:00:b45040ec + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/file/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/file/category.xml new file mode 100644 index 0000000..21c77fc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/file/category.xml @@ -0,0 +1,142 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/file/contentType.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/file/contentType.xml new file mode 100644 index 0000000..fd8d908 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/file/contentType.xml @@ -0,0 +1,142 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/file/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/file/idShort.xml new file mode 100644 index 0000000..2766675 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/file/idShort.xml @@ -0,0 +1,142 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/file/value.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/file/value.xml new file mode 100644 index 0000000..0536057 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/file/value.xml @@ -0,0 +1,142 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012 + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/key/value.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/key/value.xml new file mode 100644 index 0000000..8663403 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/key/value.xml @@ -0,0 +1,4 @@ + + EventElement + 򤑌M𪠇𛔊򂄲1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/langStringDefinitionTypeIec61360/text.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/langStringDefinitionTypeIec61360/text.xml new file mode 100644 index 0000000..7b1dcd7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/langStringDefinitionTypeIec61360/text.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J512345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/langStringNameType/text.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/langStringNameType/text.xml new file mode 100644 index 0000000..e069be2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/langStringNameType/text.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J51234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/langStringPreferredNameTypeIec61360/text.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/langStringPreferredNameTypeIec61360/text.xml new file mode 100644 index 0000000..2247b68 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/langStringPreferredNameTypeIec61360/text.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J512345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/langStringShortNameTypeIec61360/text.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/langStringShortNameTypeIec61360/text.xml new file mode 100644 index 0000000..883c6af --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/langStringShortNameTypeIec61360/text.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J512345678901234567 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/langStringTextType/text.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/langStringTextType/text.xml new file mode 100644 index 0000000..6bef564 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/langStringTextType/text.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J512345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/multiLanguageProperty/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/multiLanguageProperty/category.xml new file mode 100644 index 0000000..28edefd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/multiLanguageProperty/category.xml @@ -0,0 +1,159 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/multiLanguageProperty/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/multiLanguageProperty/idShort.xml new file mode 100644 index 0000000..049292e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/multiLanguageProperty/idShort.xml @@ -0,0 +1,159 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/operation/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/operation/category.xml new file mode 100644 index 0000000..4cb17ac --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/operation/category.xml @@ -0,0 +1,189 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/operation/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/operation/idShort.xml new file mode 100644 index 0000000..d3c7572 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/operation/idShort.xml @@ -0,0 +1,189 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/property/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/property/category.xml new file mode 100644 index 0000000..7ecc055 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/property/category.xml @@ -0,0 +1,151 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/property/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/property/idShort.xml new file mode 100644 index 0000000..2eed000 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/property/idShort.xml @@ -0,0 +1,151 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/qualifier/type.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/qualifier/type.xml new file mode 100644 index 0000000..2c22f35 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/qualifier/type.xml @@ -0,0 +1,53 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + ValueQualifier + 612345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/range/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/range/category.xml new file mode 100644 index 0000000..90c7ba0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/range/category.xml @@ -0,0 +1,143 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/range/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/range/idShort.xml new file mode 100644 index 0000000..20216d6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/range/idShort.xml @@ -0,0 +1,143 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/referenceElement/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/referenceElement/category.xml new file mode 100644 index 0000000..ba1f476 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/referenceElement/category.xml @@ -0,0 +1,149 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:03:cb2f6043 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/referenceElement/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/referenceElement/idShort.xml new file mode 100644 index 0000000..09ca2cf --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/referenceElement/idShort.xml @@ -0,0 +1,149 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:03:cb2f6043 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/relationshipElement/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/relationshipElement/category.xml new file mode 100644 index 0000000..39d1966 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/relationshipElement/category.xml @@ -0,0 +1,158 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/relationshipElement/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/relationshipElement/idShort.xml new file mode 100644 index 0000000..38b2f1d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/relationshipElement/idShort.xml @@ -0,0 +1,158 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/resource/contentType.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/resource/contentType.xml new file mode 100644 index 0000000..4fdc652 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/resource/contentType.xml @@ -0,0 +1,4 @@ + + #; + 15j/5j123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/resource/path.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/resource/path.xml new file mode 100644 index 0000000..2af5b5c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/resource/path.xml @@ -0,0 +1,4 @@ + + #;1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567 + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/specificAssetId/name.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/specificAssetId/name.xml new file mode 100644 index 0000000..0a4fc2a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/specificAssetId/name.xml @@ -0,0 +1,51 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Ûă<P󨱽²|dnœÞ®12345678901234567890123456789012345678901234567890123 + 򤑌M𪠇𛔊򂄲 + + ExternalReference + + + GlobalReference + urn:an-example:01:3a080c99 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/specificAssetId/value.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/specificAssetId/value.xml new file mode 100644 index 0000000..d1b631f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/specificAssetId/value.xml @@ -0,0 +1,51 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Ûă<P󨱽²|dnœÞ® + 򤑌M𪠇𛔊򂄲1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + + ExternalReference + + + GlobalReference + urn:an-example:01:3a080c99 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodel/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodel/category.xml new file mode 100644 index 0000000..37ceb48 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodel/category.xml @@ -0,0 +1,152 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodel/id.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodel/id.xml new file mode 100644 index 0000000..3022231 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodel/id.xml @@ -0,0 +1,152 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodel/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodel/idShort.xml new file mode 100644 index 0000000..f37bdc1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodel/idShort.xml @@ -0,0 +1,152 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodelElementCollection/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodelElementCollection/category.xml new file mode 100644 index 0000000..4eda29b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodelElementCollection/category.xml @@ -0,0 +1,163 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + something11e03ee7 + + + somethinge32e9b9a + + ModelReference + + + Submodel + urn:another-example:14:b7e1a1d2 + + + Property + somethinga1b38be3 + + + + output + off + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodelElementCollection/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodelElementCollection/idShort.xml new file mode 100644 index 0000000..74cdb08 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodelElementCollection/idShort.xml @@ -0,0 +1,163 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456 + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + something11e03ee7 + + + somethinge32e9b9a + + ModelReference + + + Submodel + urn:another-example:14:b7e1a1d2 + + + Property + somethinga1b38be3 + + + + output + off + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodelElementList/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodelElementList/category.xml new file mode 100644 index 0000000..601eed8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodelElementList/category.xml @@ -0,0 +1,178 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodelElementList/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodelElementList/idShort.xml new file mode 100644 index 0000000..931be68 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/submodelElementList/idShort.xml @@ -0,0 +1,178 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901 + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/valueReferencePair/value.xml b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/valueReferencePair/value.xml new file mode 100644 index 0000000..98ba2dd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MaxLengthViolation/valueReferencePair/value.xml @@ -0,0 +1,12 @@ + + 򤑌M𪠇𛔊򂄲1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/administrativeInformation/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/administrativeInformation/embeddedDataSpecifications.xml new file mode 100644 index 0000000..0cdeb49 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/administrativeInformation/embeddedDataSpecifications.xml @@ -0,0 +1,17 @@ + + + 116 + 116 + + ExternalReference + + + GlobalReference + urn:an-example:13:f3f732d5 + + + + 2022-04-01T24:00:00+00:00 + 2022-04-01T24:00:00Z + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/administrativeInformation/revision.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/administrativeInformation/revision.xml new file mode 100644 index 0000000..670e351 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/administrativeInformation/revision.xml @@ -0,0 +1,72 @@ + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + 116 + + + ExternalReference + + + GlobalReference + urn:an-example:13:f3f732d5 + + + + 2022-04-01T24:00:00+00:00 + 2022-04-01T24:00:00Z + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/administrativeInformation/templateId.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/administrativeInformation/templateId.xml new file mode 100644 index 0000000..67fbfd9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/administrativeInformation/templateId.xml @@ -0,0 +1,72 @@ + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + 116 + 116 + + ExternalReference + + + GlobalReference + urn:an-example:13:f3f732d5 + + + + 2022-04-01T24:00:00+00:00 + 2022-04-01T24:00:00Z + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/administrativeInformation/version.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/administrativeInformation/version.xml new file mode 100644 index 0000000..4deb7b5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/administrativeInformation/version.xml @@ -0,0 +1,72 @@ + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + 116 + + ExternalReference + + + GlobalReference + urn:an-example:13:f3f732d5 + + + + 2022-04-01T24:00:00+00:00 + 2022-04-01T24:00:00Z + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/annotations.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/annotations.xml new file mode 100644 index 0000000..88ea15b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/annotations.xml @@ -0,0 +1,159 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/category.xml new file mode 100644 index 0000000..c434c76 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/category.xml @@ -0,0 +1,166 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/description.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/description.xml new file mode 100644 index 0000000..8ed0399 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/description.xml @@ -0,0 +1,157 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/displayName.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/displayName.xml new file mode 100644 index 0000000..cdb2564 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/displayName.xml @@ -0,0 +1,157 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/embeddedDataSpecifications.xml new file mode 100644 index 0000000..804d325 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/embeddedDataSpecifications.xml @@ -0,0 +1,111 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/extensions.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/extensions.xml new file mode 100644 index 0000000..ac08ac8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/extensions.xml @@ -0,0 +1,159 @@ + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/idShort.xml new file mode 100644 index 0000000..a398468 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/idShort.xml @@ -0,0 +1,166 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/qualifiers.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/qualifiers.xml new file mode 100644 index 0000000..6e18316 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/qualifiers.xml @@ -0,0 +1,153 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/supplementalSemanticIds.xml new file mode 100644 index 0000000..bd53ac2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/annotatedRelationshipElement/supplementalSemanticIds.xml @@ -0,0 +1,138 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/category.xml new file mode 100644 index 0000000..dc9df49 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/category.xml @@ -0,0 +1,123 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/description.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/description.xml new file mode 100644 index 0000000..b64e9d0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/description.xml @@ -0,0 +1,114 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/displayName.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/displayName.xml new file mode 100644 index 0000000..c210b16 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/displayName.xml @@ -0,0 +1,114 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/embeddedDataSpecifications.xml new file mode 100644 index 0000000..3dac518 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/embeddedDataSpecifications.xml @@ -0,0 +1,68 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/extensions.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/extensions.xml new file mode 100644 index 0000000..66984b3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/extensions.xml @@ -0,0 +1,116 @@ + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/id.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/id.xml new file mode 100644 index 0000000..df68ccc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/id.xml @@ -0,0 +1,123 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/idShort.xml new file mode 100644 index 0000000..24c916e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/idShort.xml @@ -0,0 +1,123 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/submodels.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/submodels.xml new file mode 100644 index 0000000..8215327 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetAdministrationShell/submodels.xml @@ -0,0 +1,104 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetInformation/assetType.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetInformation/assetType.xml new file mode 100644 index 0000000..1a12ecb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetInformation/assetType.xml @@ -0,0 +1,22 @@ + + Batch + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + + news:comp.infosystems.www.servers.unix + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetInformation/globalAssetId.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetInformation/globalAssetId.xml new file mode 100644 index 0000000..2e5d2cc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetInformation/globalAssetId.xml @@ -0,0 +1,22 @@ + + Batch + + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + Ûă<P󨱽²|dnœÞ® + + news:comp.infosystems.www.servers.unix + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetInformation/specificAssetIds.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetInformation/specificAssetIds.xml new file mode 100644 index 0000000..6f66f1a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/assetInformation/specificAssetIds.xml @@ -0,0 +1,9 @@ + + Batch + 0 + + Ûă<P󨱽²|dnœÞ® + + news:comp.infosystems.www.servers.unix + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/category.xml new file mode 100644 index 0000000..4926f55 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/category.xml @@ -0,0 +1,172 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/description.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/description.xml new file mode 100644 index 0000000..f1c289e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/description.xml @@ -0,0 +1,163 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/displayName.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/displayName.xml new file mode 100644 index 0000000..159795f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/displayName.xml @@ -0,0 +1,163 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/embeddedDataSpecifications.xml new file mode 100644 index 0000000..5b83a43 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/embeddedDataSpecifications.xml @@ -0,0 +1,117 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/extensions.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/extensions.xml new file mode 100644 index 0000000..2e14bd1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/extensions.xml @@ -0,0 +1,165 @@ + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/idShort.xml new file mode 100644 index 0000000..28a9ce0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/idShort.xml @@ -0,0 +1,172 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/messageTopic.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/messageTopic.xml new file mode 100644 index 0000000..cf6dfb9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/messageTopic.xml @@ -0,0 +1,172 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/qualifiers.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/qualifiers.xml new file mode 100644 index 0000000..867f1dc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/qualifiers.xml @@ -0,0 +1,159 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/supplementalSemanticIds.xml new file mode 100644 index 0000000..cb5a501 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/basicEventElement/supplementalSemanticIds.xml @@ -0,0 +1,144 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/category.xml new file mode 100644 index 0000000..f0a6cdb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/category.xml @@ -0,0 +1,142 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/contentType.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/contentType.xml new file mode 100644 index 0000000..e91eede --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/contentType.xml @@ -0,0 +1,142 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/description.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/description.xml new file mode 100644 index 0000000..87ab849 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/description.xml @@ -0,0 +1,133 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/displayName.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/displayName.xml new file mode 100644 index 0000000..80a8355 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/displayName.xml @@ -0,0 +1,133 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/embeddedDataSpecifications.xml new file mode 100644 index 0000000..5881f51 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/embeddedDataSpecifications.xml @@ -0,0 +1,87 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + RyaIxQ6R/Wrra8w= + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/extensions.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/extensions.xml new file mode 100644 index 0000000..c2c028a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/extensions.xml @@ -0,0 +1,135 @@ + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/idShort.xml new file mode 100644 index 0000000..0896696 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/idShort.xml @@ -0,0 +1,142 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/qualifiers.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/qualifiers.xml new file mode 100644 index 0000000..003b870 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/qualifiers.xml @@ -0,0 +1,129 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/supplementalSemanticIds.xml new file mode 100644 index 0000000..5df9723 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/blob/supplementalSemanticIds.xml @@ -0,0 +1,114 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/category.xml new file mode 100644 index 0000000..59d9f1c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/category.xml @@ -0,0 +1,140 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/description.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/description.xml new file mode 100644 index 0000000..aa12865 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/description.xml @@ -0,0 +1,131 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/displayName.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/displayName.xml new file mode 100644 index 0000000..40ac9a4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/displayName.xml @@ -0,0 +1,131 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/embeddedDataSpecifications.xml new file mode 100644 index 0000000..7eee7b4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/embeddedDataSpecifications.xml @@ -0,0 +1,85 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/extensions.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/extensions.xml new file mode 100644 index 0000000..ff455ad --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/extensions.xml @@ -0,0 +1,133 @@ + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/idShort.xml new file mode 100644 index 0000000..851553c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/idShort.xml @@ -0,0 +1,140 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/qualifiers.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/qualifiers.xml new file mode 100644 index 0000000..1a39520 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/qualifiers.xml @@ -0,0 +1,127 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/supplementalSemanticIds.xml new file mode 100644 index 0000000..69b7238 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/capability/supplementalSemanticIds.xml @@ -0,0 +1,112 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/category.xml new file mode 100644 index 0000000..1d21a35 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/category.xml @@ -0,0 +1,113 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc1291c8 + öĖa􍣡™| + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc009eeb + Ûă<P󨱽²|dnœÞ® + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:06:66cbf3c6 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/description.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/description.xml new file mode 100644 index 0000000..3b6631c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/description.xml @@ -0,0 +1,104 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc1291c8 + öĖa􍣡™| + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc009eeb + Ûă<P󨱽²|dnœÞ® + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:06:66cbf3c6 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/displayName.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/displayName.xml new file mode 100644 index 0000000..5df2097 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/displayName.xml @@ -0,0 +1,104 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc1291c8 + öĖa􍣡™| + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc009eeb + Ûă<P󨱽²|dnœÞ® + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:06:66cbf3c6 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/embeddedDataSpecifications.xml new file mode 100644 index 0000000..145fb3c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/embeddedDataSpecifications.xml @@ -0,0 +1,46 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:06:66cbf3c6 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/extensions.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/extensions.xml new file mode 100644 index 0000000..3b6c842 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/extensions.xml @@ -0,0 +1,106 @@ + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc1291c8 + öĖa􍣡™| + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc009eeb + Ûă<P󨱽²|dnœÞ® + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:06:66cbf3c6 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/id.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/id.xml new file mode 100644 index 0000000..0290642 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/id.xml @@ -0,0 +1,113 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc1291c8 + öĖa􍣡™| + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc009eeb + Ûă<P󨱽²|dnœÞ® + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:06:66cbf3c6 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/idShort.xml new file mode 100644 index 0000000..6e5534a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/idShort.xml @@ -0,0 +1,113 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc1291c8 + öĖa􍣡™| + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc009eeb + Ûă<P󨱽²|dnœÞ® + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:06:66cbf3c6 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/isCaseOf.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/isCaseOf.xml new file mode 100644 index 0000000..7c4efec --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/conceptDescription/isCaseOf.xml @@ -0,0 +1,103 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc1291c8 + öĖa􍣡™| + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc009eeb + Ûă<P󨱽²|dnœÞ® + + + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/definition.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/definition.xml new file mode 100644 index 0000000..e2ce935 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/definition.xml @@ -0,0 +1,36 @@ + + + + en-JM-x-c7dddb5b + 6 + + + + + en-JM-x-db8b8a3d + öĖa􍣡™| + + + [\h$񒺟ìÖċŠ1¿ + + ExternalReference + + + GlobalReference + urn:example:01:c23a7921 + + + + <ă<P󨱽²|dnœÞ® + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + RATIONAL_MEASURE + + 0 + 򤑌M𪠇𛔊򂄲 + + false + false + true + true + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/preferredName.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/preferredName.xml new file mode 100644 index 0000000..296dcb8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/preferredName.xml @@ -0,0 +1,36 @@ + + + + + en-JM-x-db8b8a3d + öĖa􍣡™| + + + [\h$񒺟ìÖċŠ1¿ + + ExternalReference + + + GlobalReference + urn:example:01:c23a7921 + + + + <ă<P󨱽²|dnœÞ® + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + RATIONAL_MEASURE + + + en-JM-x-b7bc1552 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 0 + 򤑌M𪠇𛔊򂄲 + + false + false + true + true + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/shortName.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/shortName.xml new file mode 100644 index 0000000..7784371 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/shortName.xml @@ -0,0 +1,36 @@ + + + + en-JM-x-c7dddb5b + 6 + + + + [\h$񒺟ìÖċŠ1¿ + + ExternalReference + + + GlobalReference + urn:example:01:c23a7921 + + + + <ă<P󨱽²|dnœÞ® + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + RATIONAL_MEASURE + + + en-JM-x-b7bc1552 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 0 + 򤑌M𪠇𛔊򂄲 + + false + false + true + true + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/sourceOfDefinition.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/sourceOfDefinition.xml new file mode 100644 index 0000000..c023aab --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/sourceOfDefinition.xml @@ -0,0 +1,41 @@ + + + + en-JM-x-c7dddb5b + 6 + + + + + en-JM-x-db8b8a3d + öĖa􍣡™| + + + [\h$񒺟ìÖċŠ1¿ + + ExternalReference + + + GlobalReference + urn:example:01:c23a7921 + + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + RATIONAL_MEASURE + + + en-JM-x-b7bc1552 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 0 + 򤑌M𪠇𛔊򂄲 + + false + false + true + true + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/symbol.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/symbol.xml new file mode 100644 index 0000000..b3ae743 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/symbol.xml @@ -0,0 +1,41 @@ + + + + en-JM-x-c7dddb5b + 6 + + + + + en-JM-x-db8b8a3d + öĖa􍣡™| + + + [\h$񒺟ìÖċŠ1¿ + + ExternalReference + + + GlobalReference + urn:example:01:c23a7921 + + + + <ă<P󨱽²|dnœÞ® + + RATIONAL_MEASURE + + + en-JM-x-b7bc1552 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 0 + 򤑌M𪠇𛔊򂄲 + + false + false + true + true + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/unit.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/unit.xml new file mode 100644 index 0000000..d00919c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/unit.xml @@ -0,0 +1,41 @@ + + + + en-JM-x-c7dddb5b + 6 + + + + + en-JM-x-db8b8a3d + öĖa􍣡™| + + + + + ExternalReference + + + GlobalReference + urn:example:01:c23a7921 + + + + <ă<P󨱽²|dnœÞ® + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + RATIONAL_MEASURE + + + en-JM-x-b7bc1552 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 0 + 򤑌M𪠇𛔊򂄲 + + false + false + true + true + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/value.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/value.xml new file mode 100644 index 0000000..b4511af --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/value.xml @@ -0,0 +1,41 @@ + + + + en-JM-x-c7dddb5b + 6 + + + + + en-JM-x-db8b8a3d + öĖa􍣡™| + + + [\h$񒺟ìÖċŠ1¿ + + ExternalReference + + + GlobalReference + urn:example:01:c23a7921 + + + + <ă<P󨱽²|dnœÞ® + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + RATIONAL_MEASURE + + + en-JM-x-b7bc1552 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 0 + + + false + false + true + true + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/valueFormat.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/valueFormat.xml new file mode 100644 index 0000000..1ee324d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/dataSpecificationIec61360/valueFormat.xml @@ -0,0 +1,41 @@ + + + + en-JM-x-c7dddb5b + 6 + + + + + en-JM-x-db8b8a3d + öĖa􍣡™| + + + [\h$񒺟ìÖċŠ1¿ + + ExternalReference + + + GlobalReference + urn:example:01:c23a7921 + + + + <ă<P󨱽²|dnœÞ® + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + RATIONAL_MEASURE + + + en-JM-x-b7bc1552 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + 򤑌M𪠇𛔊򂄲 + + false + false + true + true + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/category.xml new file mode 100644 index 0000000..9b54500 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/category.xml @@ -0,0 +1,161 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/description.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/description.xml new file mode 100644 index 0000000..f254e5d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/description.xml @@ -0,0 +1,152 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/displayName.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/displayName.xml new file mode 100644 index 0000000..e205b91 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/displayName.xml @@ -0,0 +1,152 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/embeddedDataSpecifications.xml new file mode 100644 index 0000000..d89b8fc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/embeddedDataSpecifications.xml @@ -0,0 +1,106 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/extensions.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/extensions.xml new file mode 100644 index 0000000..eaa5d85 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/extensions.xml @@ -0,0 +1,154 @@ + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/globalAssetId.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/globalAssetId.xml new file mode 100644 index 0000000..ab09615 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/globalAssetId.xml @@ -0,0 +1,161 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/idShort.xml new file mode 100644 index 0000000..a520a8d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/idShort.xml @@ -0,0 +1,161 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/qualifiers.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/qualifiers.xml new file mode 100644 index 0000000..767cf1d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/qualifiers.xml @@ -0,0 +1,148 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/specificAssetIds.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/specificAssetIds.xml new file mode 100644 index 0000000..283bebf --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/specificAssetIds.xml @@ -0,0 +1,148 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/statements.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/statements.xml new file mode 100644 index 0000000..fb87c2b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/statements.xml @@ -0,0 +1,157 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/supplementalSemanticIds.xml new file mode 100644 index 0000000..388ffde --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/entity/supplementalSemanticIds.xml @@ -0,0 +1,133 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/environment/assetAdministrationShells.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/environment/assetAdministrationShells.xml new file mode 100644 index 0000000..491eb0a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/environment/assetAdministrationShells.xml @@ -0,0 +1,13 @@ + + + + + 0 + + + + + 0 + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/environment/conceptDescriptions.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/environment/conceptDescriptions.xml new file mode 100644 index 0000000..ff20244 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/environment/conceptDescriptions.xml @@ -0,0 +1,24 @@ + + + + J5 + + Type + J5 + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + Instance + 򤑌M𪠇𛔊򂄲 + + + + + + 0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/environment/submodels.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/environment/submodels.xml new file mode 100644 index 0000000..c0c3240 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/environment/submodels.xml @@ -0,0 +1,24 @@ + + + + J5 + + Type + J5 + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + Instance + 򤑌M𪠇𛔊򂄲 + + + + + + + 0 + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/eventPayload/topic.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/eventPayload/topic.xml new file mode 100644 index 0000000..f3d5a01 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/eventPayload/topic.xml @@ -0,0 +1,54 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ExternalReference + + + GlobalReference + urn:an-example:12:1ed44768 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + + ExternalReference + + + GlobalReference + urn:something:16:2204ae04 + + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:01:0e4f465d + + + + 2022-04-01T24:00:00-00:00 + /TsF2AbyQb1dIa0= + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/extension/name.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/extension/name.xml new file mode 100644 index 0000000..7b8b409 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/extension/name.xml @@ -0,0 +1,63 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + xs:gDay + ---01 + + + ExternalReference + + + GlobalReference + urn:an-example:18:1d00b242 + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:00:b45040ec + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/extension/refersTo.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/extension/refersTo.xml new file mode 100644 index 0000000..bb70f4d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/extension/refersTo.xml @@ -0,0 +1,44 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---01 + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/extension/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/extension/supplementalSemanticIds.xml new file mode 100644 index 0000000..bfd4a0a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/extension/supplementalSemanticIds.xml @@ -0,0 +1,35 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---01 + + + ExternalReference + + + GlobalReference + urn:an-example:18:1d00b242 + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:00:b45040ec + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/category.xml new file mode 100644 index 0000000..db9cfb6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/category.xml @@ -0,0 +1,142 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/contentType.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/contentType.xml new file mode 100644 index 0000000..10601ff --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/contentType.xml @@ -0,0 +1,142 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/description.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/description.xml new file mode 100644 index 0000000..e7f0951 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/description.xml @@ -0,0 +1,133 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/displayName.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/displayName.xml new file mode 100644 index 0000000..3a91647 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/displayName.xml @@ -0,0 +1,133 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/embeddedDataSpecifications.xml new file mode 100644 index 0000000..4f0ef4e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/embeddedDataSpecifications.xml @@ -0,0 +1,87 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/extensions.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/extensions.xml new file mode 100644 index 0000000..0d87a76 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/extensions.xml @@ -0,0 +1,135 @@ + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/idShort.xml new file mode 100644 index 0000000..2d4c6ea --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/idShort.xml @@ -0,0 +1,142 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/qualifiers.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/qualifiers.xml new file mode 100644 index 0000000..bfb9ed9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/qualifiers.xml @@ -0,0 +1,129 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/supplementalSemanticIds.xml new file mode 100644 index 0000000..e0ee700 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/supplementalSemanticIds.xml @@ -0,0 +1,114 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/value.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/value.xml new file mode 100644 index 0000000..2a0f9fc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/file/value.xml @@ -0,0 +1,142 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/key/value.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/key/value.xml new file mode 100644 index 0000000..91272d8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/key/value.xml @@ -0,0 +1,4 @@ + + EventElement + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/langStringDefinitionTypeIec61360/text.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/langStringDefinitionTypeIec61360/text.xml new file mode 100644 index 0000000..399d335 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/langStringDefinitionTypeIec61360/text.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/langStringNameType/text.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/langStringNameType/text.xml new file mode 100644 index 0000000..e63f486 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/langStringNameType/text.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/langStringPreferredNameTypeIec61360/text.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/langStringPreferredNameTypeIec61360/text.xml new file mode 100644 index 0000000..1fd6f12 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/langStringPreferredNameTypeIec61360/text.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/langStringShortNameTypeIec61360/text.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/langStringShortNameTypeIec61360/text.xml new file mode 100644 index 0000000..8e28536 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/langStringShortNameTypeIec61360/text.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/langStringTextType/text.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/langStringTextType/text.xml new file mode 100644 index 0000000..5a3c052 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/langStringTextType/text.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/category.xml new file mode 100644 index 0000000..9c799b7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/category.xml @@ -0,0 +1,159 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/description.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/description.xml new file mode 100644 index 0000000..fecaee0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/description.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/displayName.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/displayName.xml new file mode 100644 index 0000000..e300c00 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/displayName.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/embeddedDataSpecifications.xml new file mode 100644 index 0000000..f40e6e8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/embeddedDataSpecifications.xml @@ -0,0 +1,104 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/extensions.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/extensions.xml new file mode 100644 index 0000000..3db7e25 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/extensions.xml @@ -0,0 +1,152 @@ + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/idShort.xml new file mode 100644 index 0000000..f75cfa2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/idShort.xml @@ -0,0 +1,159 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/qualifiers.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/qualifiers.xml new file mode 100644 index 0000000..ad36607 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/qualifiers.xml @@ -0,0 +1,146 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/supplementalSemanticIds.xml new file mode 100644 index 0000000..a4c4ba8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/supplementalSemanticIds.xml @@ -0,0 +1,131 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/value.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/value.xml new file mode 100644 index 0000000..4183f0e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/multiLanguageProperty/value.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/category.xml new file mode 100644 index 0000000..54b2afd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/category.xml @@ -0,0 +1,189 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/description.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/description.xml new file mode 100644 index 0000000..fb1e190 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/description.xml @@ -0,0 +1,180 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/displayName.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/displayName.xml new file mode 100644 index 0000000..abf0777 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/displayName.xml @@ -0,0 +1,180 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/embeddedDataSpecifications.xml new file mode 100644 index 0000000..c5f3376 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/embeddedDataSpecifications.xml @@ -0,0 +1,134 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/extensions.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/extensions.xml new file mode 100644 index 0000000..fac0db9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/extensions.xml @@ -0,0 +1,182 @@ + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/idShort.xml new file mode 100644 index 0000000..ed4cb0d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/idShort.xml @@ -0,0 +1,189 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/inoutputVariables.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/inoutputVariables.xml new file mode 100644 index 0000000..0dfcdbe --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/inoutputVariables.xml @@ -0,0 +1,166 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/inputVariables.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/inputVariables.xml new file mode 100644 index 0000000..231c866 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/inputVariables.xml @@ -0,0 +1,181 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/outputVariables.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/outputVariables.xml new file mode 100644 index 0000000..ad31bdb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/outputVariables.xml @@ -0,0 +1,174 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/qualifiers.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/qualifiers.xml new file mode 100644 index 0000000..a53a0cd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/qualifiers.xml @@ -0,0 +1,176 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/supplementalSemanticIds.xml new file mode 100644 index 0000000..b9bf4b0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/operation/supplementalSemanticIds.xml @@ -0,0 +1,161 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/category.xml new file mode 100644 index 0000000..cf96ac8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/category.xml @@ -0,0 +1,151 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/description.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/description.xml new file mode 100644 index 0000000..ee9001f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/description.xml @@ -0,0 +1,142 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/displayName.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/displayName.xml new file mode 100644 index 0000000..3d98be6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/displayName.xml @@ -0,0 +1,142 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/embeddedDataSpecifications.xml new file mode 100644 index 0000000..5e675a1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/embeddedDataSpecifications.xml @@ -0,0 +1,96 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/extensions.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/extensions.xml new file mode 100644 index 0000000..6135413 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/extensions.xml @@ -0,0 +1,144 @@ + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/idShort.xml new file mode 100644 index 0000000..5c6f788 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/idShort.xml @@ -0,0 +1,151 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/qualifiers.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/qualifiers.xml new file mode 100644 index 0000000..7c26cb0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/qualifiers.xml @@ -0,0 +1,138 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/supplementalSemanticIds.xml new file mode 100644 index 0000000..bb1936c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/property/supplementalSemanticIds.xml @@ -0,0 +1,123 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/qualifier/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/qualifier/supplementalSemanticIds.xml new file mode 100644 index 0000000..f43605d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/qualifier/supplementalSemanticIds.xml @@ -0,0 +1,25 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + ValueQualifier + 6 + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/qualifier/type.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/qualifier/type.xml new file mode 100644 index 0000000..c754e74 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/qualifier/type.xml @@ -0,0 +1,53 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + ValueQualifier + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/category.xml new file mode 100644 index 0000000..cafe1c9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/category.xml @@ -0,0 +1,143 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/description.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/description.xml new file mode 100644 index 0000000..2396973 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/description.xml @@ -0,0 +1,134 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/displayName.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/displayName.xml new file mode 100644 index 0000000..58d82d5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/displayName.xml @@ -0,0 +1,134 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/embeddedDataSpecifications.xml new file mode 100644 index 0000000..28fa3d2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/embeddedDataSpecifications.xml @@ -0,0 +1,88 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + xs:gDay + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/extensions.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/extensions.xml new file mode 100644 index 0000000..46e73cb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/extensions.xml @@ -0,0 +1,136 @@ + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/idShort.xml new file mode 100644 index 0000000..34a2994 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/idShort.xml @@ -0,0 +1,143 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/qualifiers.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/qualifiers.xml new file mode 100644 index 0000000..d6bd2b7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/qualifiers.xml @@ -0,0 +1,130 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/supplementalSemanticIds.xml new file mode 100644 index 0000000..a01be64 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/range/supplementalSemanticIds.xml @@ -0,0 +1,115 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/reference/keys.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/reference/keys.xml new file mode 100644 index 0000000..04acfa3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/reference/keys.xml @@ -0,0 +1,13 @@ + + ExternalReference + + ExternalReference + + + GlobalReference + urn:another-example:00:3fff168c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/category.xml new file mode 100644 index 0000000..f8b616d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/category.xml @@ -0,0 +1,149 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:03:cb2f6043 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/description.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/description.xml new file mode 100644 index 0000000..1a8b2c1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/description.xml @@ -0,0 +1,140 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:03:cb2f6043 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/displayName.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/displayName.xml new file mode 100644 index 0000000..183f185 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/displayName.xml @@ -0,0 +1,140 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:03:cb2f6043 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/embeddedDataSpecifications.xml new file mode 100644 index 0000000..ade751c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/embeddedDataSpecifications.xml @@ -0,0 +1,94 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:03:cb2f6043 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/extensions.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/extensions.xml new file mode 100644 index 0000000..37d4b70 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/extensions.xml @@ -0,0 +1,142 @@ + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:03:cb2f6043 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/idShort.xml new file mode 100644 index 0000000..bfda167 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/idShort.xml @@ -0,0 +1,149 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:03:cb2f6043 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/qualifiers.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/qualifiers.xml new file mode 100644 index 0000000..cb8297e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/qualifiers.xml @@ -0,0 +1,136 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:03:cb2f6043 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/supplementalSemanticIds.xml new file mode 100644 index 0000000..cb8269e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/referenceElement/supplementalSemanticIds.xml @@ -0,0 +1,121 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:03:cb2f6043 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/category.xml new file mode 100644 index 0000000..cbdc47b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/category.xml @@ -0,0 +1,158 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/description.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/description.xml new file mode 100644 index 0000000..2baaaa0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/description.xml @@ -0,0 +1,149 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/displayName.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/displayName.xml new file mode 100644 index 0000000..c229e11 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/displayName.xml @@ -0,0 +1,149 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/embeddedDataSpecifications.xml new file mode 100644 index 0000000..bf9afa3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/embeddedDataSpecifications.xml @@ -0,0 +1,103 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/extensions.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/extensions.xml new file mode 100644 index 0000000..c887bcd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/extensions.xml @@ -0,0 +1,151 @@ + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/idShort.xml new file mode 100644 index 0000000..9ec27d3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/idShort.xml @@ -0,0 +1,158 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/qualifiers.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/qualifiers.xml new file mode 100644 index 0000000..a46c6cb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/qualifiers.xml @@ -0,0 +1,145 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/supplementalSemanticIds.xml new file mode 100644 index 0000000..28ab1b9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/relationshipElement/supplementalSemanticIds.xml @@ -0,0 +1,130 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/resource/contentType.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/resource/contentType.xml new file mode 100644 index 0000000..eaa8fe9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/resource/contentType.xml @@ -0,0 +1,4 @@ + + #; + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/resource/path.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/resource/path.xml new file mode 100644 index 0000000..e4a954e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/resource/path.xml @@ -0,0 +1,4 @@ + + + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/specificAssetId/name.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/specificAssetId/name.xml new file mode 100644 index 0000000..59ffbd8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/specificAssetId/name.xml @@ -0,0 +1,51 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + 򤑌M𪠇𛔊򂄲 + + ExternalReference + + + GlobalReference + urn:an-example:01:3a080c99 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/specificAssetId/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/specificAssetId/supplementalSemanticIds.xml new file mode 100644 index 0000000..486f67f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/specificAssetId/supplementalSemanticIds.xml @@ -0,0 +1,23 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + Ûă<P󨱽²|dnœÞ® + 򤑌M𪠇𛔊򂄲 + + ExternalReference + + + GlobalReference + urn:an-example:01:3a080c99 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/specificAssetId/value.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/specificAssetId/value.xml new file mode 100644 index 0000000..565b38a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/specificAssetId/value.xml @@ -0,0 +1,51 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Ûă<P󨱽²|dnœÞ® + + + ExternalReference + + + GlobalReference + urn:an-example:01:3a080c99 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/category.xml new file mode 100644 index 0000000..a440c6d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/category.xml @@ -0,0 +1,152 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/description.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/description.xml new file mode 100644 index 0000000..522919e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/description.xml @@ -0,0 +1,143 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/displayName.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/displayName.xml new file mode 100644 index 0000000..025747a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/displayName.xml @@ -0,0 +1,143 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/embeddedDataSpecifications.xml new file mode 100644 index 0000000..93c0de2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/embeddedDataSpecifications.xml @@ -0,0 +1,97 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/extensions.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/extensions.xml new file mode 100644 index 0000000..58fc32f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/extensions.xml @@ -0,0 +1,145 @@ + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/id.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/id.xml new file mode 100644 index 0000000..f666f0d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/id.xml @@ -0,0 +1,152 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/idShort.xml new file mode 100644 index 0000000..0ac02b2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/idShort.xml @@ -0,0 +1,152 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/qualifiers.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/qualifiers.xml new file mode 100644 index 0000000..4410bea --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/qualifiers.xml @@ -0,0 +1,139 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/submodelElements.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/submodelElements.xml new file mode 100644 index 0000000..ab27356 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/submodelElements.xml @@ -0,0 +1,144 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/supplementalSemanticIds.xml new file mode 100644 index 0000000..5445b75 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodel/supplementalSemanticIds.xml @@ -0,0 +1,124 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/category.xml new file mode 100644 index 0000000..be10bc5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/category.xml @@ -0,0 +1,163 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + something11e03ee7 + + + somethinge32e9b9a + + ModelReference + + + Submodel + urn:another-example:14:b7e1a1d2 + + + Property + somethinga1b38be3 + + + + output + off + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/description.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/description.xml new file mode 100644 index 0000000..1619fb3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/description.xml @@ -0,0 +1,154 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + something11e03ee7 + + + somethinge32e9b9a + + ModelReference + + + Submodel + urn:another-example:14:b7e1a1d2 + + + Property + somethinga1b38be3 + + + + output + off + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/displayName.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/displayName.xml new file mode 100644 index 0000000..724fa0d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/displayName.xml @@ -0,0 +1,154 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + something11e03ee7 + + + somethinge32e9b9a + + ModelReference + + + Submodel + urn:another-example:14:b7e1a1d2 + + + Property + somethinga1b38be3 + + + + output + off + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/embeddedDataSpecifications.xml new file mode 100644 index 0000000..7897b10 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/embeddedDataSpecifications.xml @@ -0,0 +1,108 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + something11e03ee7 + + + somethinge32e9b9a + + ModelReference + + + Submodel + urn:another-example:14:b7e1a1d2 + + + Property + somethinga1b38be3 + + + + output + off + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/extensions.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/extensions.xml new file mode 100644 index 0000000..032670a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/extensions.xml @@ -0,0 +1,156 @@ + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + something11e03ee7 + + + somethinge32e9b9a + + ModelReference + + + Submodel + urn:another-example:14:b7e1a1d2 + + + Property + somethinga1b38be3 + + + + output + off + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/idShort.xml new file mode 100644 index 0000000..d36e8ea --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/idShort.xml @@ -0,0 +1,163 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + something11e03ee7 + + + somethinge32e9b9a + + ModelReference + + + Submodel + urn:another-example:14:b7e1a1d2 + + + Property + somethinga1b38be3 + + + + output + off + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/qualifiers.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/qualifiers.xml new file mode 100644 index 0000000..6766686 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/qualifiers.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + something11e03ee7 + + + somethinge32e9b9a + + ModelReference + + + Submodel + urn:another-example:14:b7e1a1d2 + + + Property + somethinga1b38be3 + + + + output + off + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/supplementalSemanticIds.xml new file mode 100644 index 0000000..154584c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/supplementalSemanticIds.xml @@ -0,0 +1,135 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + something11e03ee7 + + + somethinge32e9b9a + + ModelReference + + + Submodel + urn:another-example:14:b7e1a1d2 + + + Property + somethinga1b38be3 + + + + output + off + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/value.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/value.xml new file mode 100644 index 0000000..ba421ac --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementCollection/value.xml @@ -0,0 +1,141 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/category.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/category.xml new file mode 100644 index 0000000..674171c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/category.xml @@ -0,0 +1,178 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/description.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/description.xml new file mode 100644 index 0000000..36ecdfc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/description.xml @@ -0,0 +1,169 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/displayName.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/displayName.xml new file mode 100644 index 0000000..126aedd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/displayName.xml @@ -0,0 +1,169 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/embeddedDataSpecifications.xml new file mode 100644 index 0000000..d0113b6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/embeddedDataSpecifications.xml @@ -0,0 +1,123 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/extensions.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/extensions.xml new file mode 100644 index 0000000..f19796c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/extensions.xml @@ -0,0 +1,171 @@ + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/idShort.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/idShort.xml new file mode 100644 index 0000000..6cc9c2e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/idShort.xml @@ -0,0 +1,178 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/qualifiers.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/qualifiers.xml new file mode 100644 index 0000000..167bc68 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/qualifiers.xml @@ -0,0 +1,165 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/supplementalSemanticIds.xml new file mode 100644 index 0000000..77791ad --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/supplementalSemanticIds.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/value.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/value.xml new file mode 100644 index 0000000..78daba7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/submodelElementList/value.xml @@ -0,0 +1,153 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/valueList/valueReferencePairs.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/valueList/valueReferencePairs.xml new file mode 100644 index 0000000..ad76669 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/valueList/valueReferencePairs.xml @@ -0,0 +1,3 @@ + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/valueReferencePair/value.xml b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/valueReferencePair/value.xml new file mode 100644 index 0000000..9f9c27e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/MinLengthViolation/valueReferencePair/value.xml @@ -0,0 +1,12 @@ + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/date_time_with_UTC_and_suffix.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/date_time_with_UTC_and_suffix.xml new file mode 100644 index 0000000..d78063f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/date_time_with_UTC_and_suffix.xml @@ -0,0 +1,3 @@ + + 2022-04-01T01:02:03Z-unexpected-suffix + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/date_time_with_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/date_time_with_offset.xml new file mode 100644 index 0000000..2af7c9a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/date_time_with_offset.xml @@ -0,0 +1,3 @@ + + 2022-04-01T01:02:03+02:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/date_time_without_zone.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/date_time_without_zone.xml new file mode 100644 index 0000000..4064922 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/date_time_without_zone.xml @@ -0,0 +1,3 @@ + + 2022-04-01T01:02:03 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/empty.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/empty.xml new file mode 100644 index 0000000..171f643 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/empty.xml @@ -0,0 +1,3 @@ + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/invalid_february_29th.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/invalid_february_29th.xml new file mode 100644 index 0000000..5b7bb55 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/invalid_february_29th.xml @@ -0,0 +1,3 @@ + + 2026-02-29T01:02:03Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_02.xml new file mode 100644 index 0000000..3c0caf1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_02.xml @@ -0,0 +1,3 @@ + + <1𼨆򈷐Å\H󀨓 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_03.xml new file mode 100644 index 0000000..e42b8cf --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_03.xml @@ -0,0 +1,3 @@ + + 𢬣񂡼Í·ð˜²+š񁅿 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_04.xml new file mode 100644 index 0000000..2091d3d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_04.xml @@ -0,0 +1,3 @@ + + 񊒳ð…񇐯 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_05.xml new file mode 100644 index 0000000..176a362 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_05.xml @@ -0,0 +1,3 @@ + + 󢮾e𓕍—ñ> + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_06.xml new file mode 100644 index 0000000..9b729de --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_06.xml @@ -0,0 +1,3 @@ + + 􃶦𮝸 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_08.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_08.xml new file mode 100644 index 0000000..25f2f78 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_08.xml @@ -0,0 +1,3 @@ + + hh + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_09.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_09.xml new file mode 100644 index 0000000..ac41d33 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_09.xml @@ -0,0 +1,3 @@ + + E…𑄦𠧃Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_10.xml new file mode 100644 index 0000000..d6b502c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/negatively_fuzzed_10.xml @@ -0,0 +1,3 @@ + + 󉻽󉻽񻫾𛾨􉂌𓺶 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/only_date.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/only_date.xml new file mode 100644 index 0000000..4d80a50 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/only_date.xml @@ -0,0 +1,3 @@ + + 2022-04-01 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/only_date_with_time_zone.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/only_date_with_time_zone.xml new file mode 100644 index 0000000..61ade91 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/only_date_with_time_zone.xml @@ -0,0 +1,3 @@ + + 2022-04-01Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/without_minutes.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/without_minutes.xml new file mode 100644 index 0000000..a19bf15 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/without_minutes.xml @@ -0,0 +1,3 @@ + + 2022-04-01T01Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/without_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/without_seconds.xml new file mode 100644 index 0000000..851c30c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/createdAt/without_seconds.xml @@ -0,0 +1,3 @@ + + 2022-04-01T01:02Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/revision/dot.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/revision/dot.xml new file mode 100644 index 0000000..67984ae --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/revision/dot.xml @@ -0,0 +1,3 @@ + + 1.0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/revision/letter.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/revision/letter.xml new file mode 100644 index 0000000..b0efba4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/revision/letter.xml @@ -0,0 +1,3 @@ + + 1.0rc1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/revision/negative.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/revision/negative.xml new file mode 100644 index 0000000..14db8c5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/revision/negative.xml @@ -0,0 +1,3 @@ + + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/date_time_with_UTC_and_suffix.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/date_time_with_UTC_and_suffix.xml new file mode 100644 index 0000000..3d24e85 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/date_time_with_UTC_and_suffix.xml @@ -0,0 +1,3 @@ + + 2022-04-01T01:02:03Z-unexpected-suffix + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/date_time_with_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/date_time_with_offset.xml new file mode 100644 index 0000000..5fbb739 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/date_time_with_offset.xml @@ -0,0 +1,3 @@ + + 2022-04-01T01:02:03+02:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/date_time_without_zone.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/date_time_without_zone.xml new file mode 100644 index 0000000..ebd5a71 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/date_time_without_zone.xml @@ -0,0 +1,3 @@ + + 2022-04-01T01:02:03 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/empty.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/empty.xml new file mode 100644 index 0000000..3c84eab --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/empty.xml @@ -0,0 +1,3 @@ + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/invalid_february_29th.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/invalid_february_29th.xml new file mode 100644 index 0000000..b65de7e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/invalid_february_29th.xml @@ -0,0 +1,3 @@ + + 2026-02-29T01:02:03Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_02.xml new file mode 100644 index 0000000..ef965fe --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_02.xml @@ -0,0 +1,3 @@ + + <1𼨆򈷐Å\H󀨓 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_03.xml new file mode 100644 index 0000000..b458f32 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_03.xml @@ -0,0 +1,3 @@ + + 𢬣񂡼Í·ð˜²+š񁅿 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_04.xml new file mode 100644 index 0000000..b362728 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_04.xml @@ -0,0 +1,3 @@ + + 񊒳ð…񇐯 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_05.xml new file mode 100644 index 0000000..ff883b2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_05.xml @@ -0,0 +1,3 @@ + + 󢮾e𓕍—ñ> + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_06.xml new file mode 100644 index 0000000..ac7d9db --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_06.xml @@ -0,0 +1,3 @@ + + 􃶦𮝸 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_08.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_08.xml new file mode 100644 index 0000000..63ef012 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_08.xml @@ -0,0 +1,3 @@ + + hh + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_09.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_09.xml new file mode 100644 index 0000000..a0ad3bf --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_09.xml @@ -0,0 +1,3 @@ + + E…𑄦𠧃Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_10.xml new file mode 100644 index 0000000..c0ee9cc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/negatively_fuzzed_10.xml @@ -0,0 +1,3 @@ + + 󉻽󉻽񻫾𛾨􉂌𓺶 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/only_date.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/only_date.xml new file mode 100644 index 0000000..05a4f81 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/only_date.xml @@ -0,0 +1,3 @@ + + 2022-04-01 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/only_date_with_time_zone.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/only_date_with_time_zone.xml new file mode 100644 index 0000000..c3fc7eb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/only_date_with_time_zone.xml @@ -0,0 +1,3 @@ + + 2022-04-01Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/without_minutes.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/without_minutes.xml new file mode 100644 index 0000000..f8e435c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/without_minutes.xml @@ -0,0 +1,3 @@ + + 2022-04-01T01Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/without_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/without_seconds.xml new file mode 100644 index 0000000..46d2bbf --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/updatedAt/without_seconds.xml @@ -0,0 +1,3 @@ + + 2022-04-01T01:02Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/version/dot.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/version/dot.xml new file mode 100644 index 0000000..d9fdd9b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/version/dot.xml @@ -0,0 +1,3 @@ + + 1.0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/version/letter.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/version/letter.xml new file mode 100644 index 0000000..39e7ecb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/version/letter.xml @@ -0,0 +1,3 @@ + + 1.0rc1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/version/negative.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/version/negative.xml new file mode 100644 index 0000000..7ac9fe7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/administrativeInformation/version/negative.xml @@ -0,0 +1,3 @@ + + -1 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/annotatedRelationshipElement/idShort/negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/annotatedRelationshipElement/idShort/negatively_fuzzed_01.xml new file mode 100644 index 0000000..01aab86 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/annotatedRelationshipElement/idShort/negatively_fuzzed_01.xml @@ -0,0 +1,3 @@ + + 򚪾󰾫7 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/annotatedRelationshipElement/idShort/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/annotatedRelationshipElement/idShort/negatively_fuzzed_02.xml new file mode 100644 index 0000000..77db492 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/annotatedRelationshipElement/idShort/negatively_fuzzed_02.xml @@ -0,0 +1,3 @@ + + 15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/annotatedRelationshipElement/idShort/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/annotatedRelationshipElement/idShort/negatively_fuzzed_04.xml new file mode 100644 index 0000000..97e2849 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/annotatedRelationshipElement/idShort/negatively_fuzzed_04.xml @@ -0,0 +1,3 @@ + + ‡Y񐅽󍈪 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/annotatedRelationshipElement/idShort/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/annotatedRelationshipElement/idShort/negatively_fuzzed_05.xml new file mode 100644 index 0000000..82e4f8e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/annotatedRelationshipElement/idShort/negatively_fuzzed_05.xml @@ -0,0 +1,3 @@ + + 9䠄񓝝 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/annotatedRelationshipElement/idShort/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/annotatedRelationshipElement/idShort/negatively_fuzzed_06.xml new file mode 100644 index 0000000..8358f4b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/annotatedRelationshipElement/idShort/negatively_fuzzed_06.xml @@ -0,0 +1,3 @@ + + @ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/assetAdministrationShell/idShort/negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/assetAdministrationShell/idShort/negatively_fuzzed_01.xml new file mode 100644 index 0000000..ac92cfe --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/assetAdministrationShell/idShort/negatively_fuzzed_01.xml @@ -0,0 +1,8 @@ + + 򚪾󰾫7 + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/assetAdministrationShell/idShort/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/assetAdministrationShell/idShort/negatively_fuzzed_02.xml new file mode 100644 index 0000000..5fd48f8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/assetAdministrationShell/idShort/negatively_fuzzed_02.xml @@ -0,0 +1,8 @@ + + 15 + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/assetAdministrationShell/idShort/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/assetAdministrationShell/idShort/negatively_fuzzed_04.xml new file mode 100644 index 0000000..3e99293 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/assetAdministrationShell/idShort/negatively_fuzzed_04.xml @@ -0,0 +1,8 @@ + + ‡Y񐅽󍈪 + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/assetAdministrationShell/idShort/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/assetAdministrationShell/idShort/negatively_fuzzed_05.xml new file mode 100644 index 0000000..e3058e5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/assetAdministrationShell/idShort/negatively_fuzzed_05.xml @@ -0,0 +1,8 @@ + + 9䠄񓝝 + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/assetAdministrationShell/idShort/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/assetAdministrationShell/idShort/negatively_fuzzed_06.xml new file mode 100644 index 0000000..eb1073e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/assetAdministrationShell/idShort/negatively_fuzzed_06.xml @@ -0,0 +1,8 @@ + + @ + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/idShort/negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/idShort/negatively_fuzzed_01.xml new file mode 100644 index 0000000..5de6a8d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/idShort/negatively_fuzzed_01.xml @@ -0,0 +1,18 @@ + + 򚪾󰾫7 + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/idShort/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/idShort/negatively_fuzzed_02.xml new file mode 100644 index 0000000..92f4a69 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/idShort/negatively_fuzzed_02.xml @@ -0,0 +1,18 @@ + + 15 + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/idShort/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/idShort/negatively_fuzzed_04.xml new file mode 100644 index 0000000..c3d74f4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/idShort/negatively_fuzzed_04.xml @@ -0,0 +1,18 @@ + + ‡Y񐅽󍈪 + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/idShort/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/idShort/negatively_fuzzed_05.xml new file mode 100644 index 0000000..77f4151 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/idShort/negatively_fuzzed_05.xml @@ -0,0 +1,18 @@ + + 9䠄񓝝 + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/idShort/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/idShort/negatively_fuzzed_06.xml new file mode 100644 index 0000000..847dfc0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/idShort/negatively_fuzzed_06.xml @@ -0,0 +1,18 @@ + + @ + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/date_time_with_UTC_and_suffix.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/date_time_with_UTC_and_suffix.xml new file mode 100644 index 0000000..cc1891f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/date_time_with_UTC_and_suffix.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 2022-04-01T01:02:03Z-unexpected-suffix + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/date_time_with_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/date_time_with_offset.xml new file mode 100644 index 0000000..9a75cc2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/date_time_with_offset.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 2022-04-01T01:02:03+02:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/date_time_without_zone.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/date_time_without_zone.xml new file mode 100644 index 0000000..f45c584 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/date_time_without_zone.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 2022-04-01T01:02:03 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/empty.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/empty.xml new file mode 100644 index 0000000..f6692fc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/empty.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/invalid_february_29th.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/invalid_february_29th.xml new file mode 100644 index 0000000..7bdbf4a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/invalid_february_29th.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 2026-02-29T01:02:03Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_02.xml new file mode 100644 index 0000000..9a0a776 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_02.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + <1𼨆򈷐Å\H󀨓 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_03.xml new file mode 100644 index 0000000..dcbdb3a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_03.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 𢬣񂡼Í·ð˜²+š񁅿 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_04.xml new file mode 100644 index 0000000..30e78a7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_04.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 񊒳ð…񇐯 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_05.xml new file mode 100644 index 0000000..984db36 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_05.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 󢮾e𓕍—ñ> + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_06.xml new file mode 100644 index 0000000..4fd015d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_06.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 􃶦𮝸 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_08.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_08.xml new file mode 100644 index 0000000..8723628 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_08.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + hh + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_09.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_09.xml new file mode 100644 index 0000000..ae2488a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_09.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + E…𑄦𠧃Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_10.xml new file mode 100644 index 0000000..81b528a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/negatively_fuzzed_10.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 󉻽󉻽񻫾𛾨􉂌𓺶 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/only_date.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/only_date.xml new file mode 100644 index 0000000..613111e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/only_date.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 2022-04-01 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/only_date_with_time_zone.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/only_date_with_time_zone.xml new file mode 100644 index 0000000..8962d70 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/only_date_with_time_zone.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 2022-04-01Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/without_minutes.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/without_minutes.xml new file mode 100644 index 0000000..82130a0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/without_minutes.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 2022-04-01T01Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/without_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/without_seconds.xml new file mode 100644 index 0000000..b264965 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/lastUpdate/without_seconds.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 2022-04-01T01:02Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/empty.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/empty.xml new file mode 100644 index 0000000..61378c7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/empty.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/free_form_text.xml new file mode 100644 index 0000000..99ee715 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/free_form_text.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/integer.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/integer.xml new file mode 100644 index 0000000..19f6501 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/integer.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 1234 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/leading_P_missing.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/leading_P_missing.xml new file mode 100644 index 0000000..51066e4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/leading_P_missing.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 1Y + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/negative_years.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/negative_years.xml new file mode 100644 index 0000000..73d3446 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/negative_years.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + P-1Y + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/positive_year_negative_months.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/positive_year_negative_months.xml new file mode 100644 index 0000000..4ee02f3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/positive_year_negative_months.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + P1Y-1M + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/separator_T_missing.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/separator_T_missing.xml new file mode 100644 index 0000000..6d7027c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/separator_T_missing.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + P1S + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/the_order_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/the_order_matters.xml new file mode 100644 index 0000000..2ccf4d9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/maxInterval/the_order_matters.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + P1M2Y + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/empty.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/empty.xml new file mode 100644 index 0000000..ce88c53 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/empty.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/free_form_text.xml new file mode 100644 index 0000000..8f4087b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/free_form_text.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + some free form text + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/integer.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/integer.xml new file mode 100644 index 0000000..6c880fd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/integer.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 1234 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/leading_P_missing.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/leading_P_missing.xml new file mode 100644 index 0000000..1103af5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/leading_P_missing.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + 1Y + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/negative_years.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/negative_years.xml new file mode 100644 index 0000000..b65c339 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/negative_years.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + P-1Y + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/positive_year_negative_months.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/positive_year_negative_months.xml new file mode 100644 index 0000000..d5d5a28 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/positive_year_negative_months.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + P1Y-1M + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/separator_T_missing.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/separator_T_missing.xml new file mode 100644 index 0000000..1633113 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/separator_T_missing.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + P1S + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/the_order_matters.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/the_order_matters.xml new file mode 100644 index 0000000..9ccb94f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/basicEventElement/minInterval/the_order_matters.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + P1M2Y + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/empty.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/empty.xml new file mode 100644 index 0000000..9c7f68c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/empty.xml @@ -0,0 +1,3 @@ + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_03.xml new file mode 100644 index 0000000..4c13cb7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_03.xml @@ -0,0 +1,3 @@ + + 𡔹 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_04.xml new file mode 100644 index 0000000..829d49b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_04.xml @@ -0,0 +1,3 @@ + + ÐÐ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_05.xml new file mode 100644 index 0000000..83fc7ed --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_05.xml @@ -0,0 +1,3 @@ + + 󝵽§…°¢󃡚>3󸴷 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_06.xml new file mode 100644 index 0000000..ad42167 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_06.xml @@ -0,0 +1,3 @@ + + q•d + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_07.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_07.xml new file mode 100644 index 0000000..4cb0517 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_07.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_08.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_08.xml new file mode 100644 index 0000000..9c7f68c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_08.xml @@ -0,0 +1,3 @@ + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_09.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_09.xml new file mode 100644 index 0000000..a72d5ec --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_09.xml @@ -0,0 +1,3 @@ + + |ä + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_10.xml new file mode 100644 index 0000000..6abad91 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/negatively_fuzzed_10.xml @@ -0,0 +1,3 @@ + + 𜮰𜮰 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/number.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/number.xml new file mode 100644 index 0000000..f6c5cf9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/contentType/number.xml @@ -0,0 +1,3 @@ + + 1234 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/idShort/negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/idShort/negatively_fuzzed_01.xml new file mode 100644 index 0000000..bb0bf6d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/idShort/negatively_fuzzed_01.xml @@ -0,0 +1,3 @@ + + 򚪾󰾫7 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/idShort/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/idShort/negatively_fuzzed_02.xml new file mode 100644 index 0000000..aa2573b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/idShort/negatively_fuzzed_02.xml @@ -0,0 +1,3 @@ + + 15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/idShort/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/idShort/negatively_fuzzed_04.xml new file mode 100644 index 0000000..3e9d593 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/idShort/negatively_fuzzed_04.xml @@ -0,0 +1,3 @@ + + ‡Y񐅽󍈪 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/idShort/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/idShort/negatively_fuzzed_05.xml new file mode 100644 index 0000000..8be5e73 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/idShort/negatively_fuzzed_05.xml @@ -0,0 +1,3 @@ + + 9䠄񓝝 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/idShort/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/idShort/negatively_fuzzed_06.xml new file mode 100644 index 0000000..c949ca7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/blob/idShort/negatively_fuzzed_06.xml @@ -0,0 +1,3 @@ + + @ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/capability/idShort/negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/capability/idShort/negatively_fuzzed_01.xml new file mode 100644 index 0000000..3894017 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/capability/idShort/negatively_fuzzed_01.xml @@ -0,0 +1,3 @@ + + 򚪾󰾫7 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/capability/idShort/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/capability/idShort/negatively_fuzzed_02.xml new file mode 100644 index 0000000..5458fb2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/capability/idShort/negatively_fuzzed_02.xml @@ -0,0 +1,3 @@ + + 15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/capability/idShort/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/capability/idShort/negatively_fuzzed_04.xml new file mode 100644 index 0000000..a2fc343 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/capability/idShort/negatively_fuzzed_04.xml @@ -0,0 +1,3 @@ + + ‡Y񐅽󍈪 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/capability/idShort/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/capability/idShort/negatively_fuzzed_05.xml new file mode 100644 index 0000000..14328ea --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/capability/idShort/negatively_fuzzed_05.xml @@ -0,0 +1,3 @@ + + 9䠄񓝝 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/capability/idShort/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/capability/idShort/negatively_fuzzed_06.xml new file mode 100644 index 0000000..3ad0af3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/capability/idShort/negatively_fuzzed_06.xml @@ -0,0 +1,3 @@ + + @ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/conceptDescription/idShort/negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/conceptDescription/idShort/negatively_fuzzed_01.xml new file mode 100644 index 0000000..fbffa4c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/conceptDescription/idShort/negatively_fuzzed_01.xml @@ -0,0 +1,4 @@ + + 򚪾󰾫7 + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/conceptDescription/idShort/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/conceptDescription/idShort/negatively_fuzzed_02.xml new file mode 100644 index 0000000..f712588 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/conceptDescription/idShort/negatively_fuzzed_02.xml @@ -0,0 +1,4 @@ + + 15 + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/conceptDescription/idShort/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/conceptDescription/idShort/negatively_fuzzed_04.xml new file mode 100644 index 0000000..d16330e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/conceptDescription/idShort/negatively_fuzzed_04.xml @@ -0,0 +1,4 @@ + + ‡Y񐅽󍈪 + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/conceptDescription/idShort/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/conceptDescription/idShort/negatively_fuzzed_05.xml new file mode 100644 index 0000000..fc5a5e8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/conceptDescription/idShort/negatively_fuzzed_05.xml @@ -0,0 +1,4 @@ + + 9䠄񓝝 + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/conceptDescription/idShort/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/conceptDescription/idShort/negatively_fuzzed_06.xml new file mode 100644 index 0000000..eb26750 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/conceptDescription/idShort/negatively_fuzzed_06.xml @@ -0,0 +1,4 @@ + + @ + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/entity/idShort/negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/entity/idShort/negatively_fuzzed_01.xml new file mode 100644 index 0000000..6273783 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/entity/idShort/negatively_fuzzed_01.xml @@ -0,0 +1,3 @@ + + 򚪾󰾫7 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/entity/idShort/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/entity/idShort/negatively_fuzzed_02.xml new file mode 100644 index 0000000..079240e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/entity/idShort/negatively_fuzzed_02.xml @@ -0,0 +1,3 @@ + + 15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/entity/idShort/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/entity/idShort/negatively_fuzzed_04.xml new file mode 100644 index 0000000..829a90f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/entity/idShort/negatively_fuzzed_04.xml @@ -0,0 +1,3 @@ + + ‡Y񐅽󍈪 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/entity/idShort/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/entity/idShort/negatively_fuzzed_05.xml new file mode 100644 index 0000000..0472042 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/entity/idShort/negatively_fuzzed_05.xml @@ -0,0 +1,3 @@ + + 9䠄񓝝 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/entity/idShort/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/entity/idShort/negatively_fuzzed_06.xml new file mode 100644 index 0000000..2b643cd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/entity/idShort/negatively_fuzzed_06.xml @@ -0,0 +1,3 @@ + + @ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/date_time_with_UTC_and_suffix.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/date_time_with_UTC_and_suffix.xml new file mode 100644 index 0000000..51ec25e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/date_time_with_UTC_and_suffix.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 2022-04-01T01:02:03Z-unexpected-suffix + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/date_time_with_offset.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/date_time_with_offset.xml new file mode 100644 index 0000000..54a16c3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/date_time_with_offset.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 2022-04-01T01:02:03+02:00 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/date_time_without_zone.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/date_time_without_zone.xml new file mode 100644 index 0000000..dcd136c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/date_time_without_zone.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 2022-04-01T01:02:03 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/empty.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/empty.xml new file mode 100644 index 0000000..14f9913 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/empty.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/invalid_february_29th.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/invalid_february_29th.xml new file mode 100644 index 0000000..47df9f9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/invalid_february_29th.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 2026-02-29T01:02:03Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_02.xml new file mode 100644 index 0000000..df9dc84 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_02.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + <1𼨆򈷐Å\H󀨓 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_03.xml new file mode 100644 index 0000000..119bf09 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_03.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 𢬣񂡼Í·ð˜²+š񁅿 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_04.xml new file mode 100644 index 0000000..101fa42 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_04.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 񊒳ð…񇐯 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_05.xml new file mode 100644 index 0000000..34e4401 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_05.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 󢮾e𓕍—ñ> + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_06.xml new file mode 100644 index 0000000..c27504f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_06.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 􃶦𮝸 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_08.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_08.xml new file mode 100644 index 0000000..5488d42 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_08.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + hh + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_09.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_09.xml new file mode 100644 index 0000000..24120a9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_09.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + E…𑄦𠧃Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_10.xml new file mode 100644 index 0000000..b49c813 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/negatively_fuzzed_10.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 󉻽󉻽񻫾𛾨􉂌𓺶 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/only_date.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/only_date.xml new file mode 100644 index 0000000..8db9190 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/only_date.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 2022-04-01 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/only_date_with_time_zone.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/only_date_with_time_zone.xml new file mode 100644 index 0000000..726f8fd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/only_date_with_time_zone.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 2022-04-01Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/without_minutes.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/without_minutes.xml new file mode 100644 index 0000000..fb45e89 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/without_minutes.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 2022-04-01T01Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/without_seconds.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/without_seconds.xml new file mode 100644 index 0000000..c8daa44 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/eventPayload/timeStamp/without_seconds.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 2022-04-01T01:02Z + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/empty.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/empty.xml new file mode 100644 index 0000000..505e4a3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/empty.xml @@ -0,0 +1,3 @@ + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_03.xml new file mode 100644 index 0000000..eb28522 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_03.xml @@ -0,0 +1,3 @@ + + 𡔹 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_04.xml new file mode 100644 index 0000000..7cfddd0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_04.xml @@ -0,0 +1,3 @@ + + ÐÐ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_05.xml new file mode 100644 index 0000000..0659232 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_05.xml @@ -0,0 +1,3 @@ + + 󝵽§…°¢󃡚>3󸴷 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_06.xml new file mode 100644 index 0000000..1448852 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_06.xml @@ -0,0 +1,3 @@ + + q•d + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_07.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_07.xml new file mode 100644 index 0000000..01e648e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_07.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_08.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_08.xml new file mode 100644 index 0000000..505e4a3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_08.xml @@ -0,0 +1,3 @@ + + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_09.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_09.xml new file mode 100644 index 0000000..e657d66 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_09.xml @@ -0,0 +1,3 @@ + + |ä + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_10.xml new file mode 100644 index 0000000..0591565 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/negatively_fuzzed_10.xml @@ -0,0 +1,3 @@ + + 𜮰𜮰 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/number.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/number.xml new file mode 100644 index 0000000..a0b8192 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/contentType/number.xml @@ -0,0 +1,3 @@ + + 1234 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/idShort/negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/idShort/negatively_fuzzed_01.xml new file mode 100644 index 0000000..5ac6a6b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/idShort/negatively_fuzzed_01.xml @@ -0,0 +1,3 @@ + + 򚪾󰾫7 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/idShort/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/idShort/negatively_fuzzed_02.xml new file mode 100644 index 0000000..d45ab24 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/idShort/negatively_fuzzed_02.xml @@ -0,0 +1,3 @@ + + 15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/idShort/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/idShort/negatively_fuzzed_04.xml new file mode 100644 index 0000000..8fb89ef --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/idShort/negatively_fuzzed_04.xml @@ -0,0 +1,3 @@ + + ‡Y񐅽󍈪 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/idShort/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/idShort/negatively_fuzzed_05.xml new file mode 100644 index 0000000..a4befd8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/idShort/negatively_fuzzed_05.xml @@ -0,0 +1,3 @@ + + 9䠄񓝝 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/idShort/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/idShort/negatively_fuzzed_06.xml new file mode 100644 index 0000000..bc32c45 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/idShort/negatively_fuzzed_06.xml @@ -0,0 +1,3 @@ + + @ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_01.xml new file mode 100644 index 0000000..be9590b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_01.xml @@ -0,0 +1,3 @@ + + 񊾤 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_02.xml new file mode 100644 index 0000000..ed71b28 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_02.xml @@ -0,0 +1,3 @@ + + 󝺮ꨁ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_03.xml new file mode 100644 index 0000000..e8d2f0d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_03.xml @@ -0,0 +1,3 @@ + + çö + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_05.xml new file mode 100644 index 0000000..e115324 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_05.xml @@ -0,0 +1,3 @@ + + †䀣𖗅 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_06.xml new file mode 100644 index 0000000..300084e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_06.xml @@ -0,0 +1,3 @@ + + 󝺮ꨁ񩤊 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_07.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_07.xml new file mode 100644 index 0000000..30c98ef --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_07.xml @@ -0,0 +1,3 @@ + + ࠁࠁ𦊩 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_08.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_08.xml new file mode 100644 index 0000000..543f7c7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_08.xml @@ -0,0 +1,3 @@ + + PKâ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_09.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_09.xml new file mode 100644 index 0000000..8283483 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_09.xml @@ -0,0 +1,3 @@ + + ð"u + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_10.xml new file mode 100644 index 0000000..c158593 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_fuzzed_10.xml @@ -0,0 +1,3 @@ + + 00𐀇 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_made_up_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_made_up_01.xml new file mode 100644 index 0000000..a1a2ef0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_made_up_01.xml @@ -0,0 +1,3 @@ + + http://exa mple.org + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_made_up_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_made_up_02.xml new file mode 100644 index 0000000..09800c2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/file/value/negatively_made_up_02.xml @@ -0,0 +1,3 @@ + + ://example.org + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/empty.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/empty.xml new file mode 100644 index 0000000..f422c41 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/empty.xml @@ -0,0 +1,4 @@ + + + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/free_form_text.xml new file mode 100644 index 0000000..b3cb82d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/free_form_text.xml @@ -0,0 +1,4 @@ + + some free-form text + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_02.xml new file mode 100644 index 0000000..afc4bcb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_02.xml @@ -0,0 +1,4 @@ + + Ûg􅅖²򅘴e´򗞕 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_03.xml new file mode 100644 index 0000000..65a79be --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_03.xml @@ -0,0 +1,4 @@ + + 󉻽󉻽 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_04.xml new file mode 100644 index 0000000..13b75d5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_04.xml @@ -0,0 +1,4 @@ + + 0 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_05.xml new file mode 100644 index 0000000..5ac3a6b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_05.xml @@ -0,0 +1,4 @@ + + 􀬁7111 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_06.xml new file mode 100644 index 0000000..be18d71 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_06.xml @@ -0,0 +1,4 @@ + + 󯺏 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_07.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_07.xml new file mode 100644 index 0000000..2794f5b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_07.xml @@ -0,0 +1,4 @@ + + 󉻽 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_08.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_08.xml new file mode 100644 index 0000000..5d19da1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_08.xml @@ -0,0 +1,4 @@ + + øPí + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_09.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_09.xml new file mode 100644 index 0000000..578099a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringDefinitionTypeIec61360/language/negatively_fuzzed_09.xml @@ -0,0 +1,4 @@ + + pÜ򃯋®AÇ + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/empty.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/empty.xml new file mode 100644 index 0000000..69c0f81 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/empty.xml @@ -0,0 +1,4 @@ + + + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/free_form_text.xml new file mode 100644 index 0000000..09e529a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/free_form_text.xml @@ -0,0 +1,4 @@ + + some free-form text + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_02.xml new file mode 100644 index 0000000..b7612fb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_02.xml @@ -0,0 +1,4 @@ + + Ûg􅅖²򅘴e´򗞕 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_03.xml new file mode 100644 index 0000000..4074f4e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_03.xml @@ -0,0 +1,4 @@ + + 󉻽󉻽 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_04.xml new file mode 100644 index 0000000..22f6aa2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_04.xml @@ -0,0 +1,4 @@ + + 0 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_05.xml new file mode 100644 index 0000000..aa0defd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_05.xml @@ -0,0 +1,4 @@ + + 􀬁7111 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_06.xml new file mode 100644 index 0000000..08c254f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_06.xml @@ -0,0 +1,4 @@ + + 󯺏 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_07.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_07.xml new file mode 100644 index 0000000..ce62bf9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_07.xml @@ -0,0 +1,4 @@ + + 󉻽 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_08.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_08.xml new file mode 100644 index 0000000..dbe2996 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_08.xml @@ -0,0 +1,4 @@ + + øPí + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_09.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_09.xml new file mode 100644 index 0000000..fd5044a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringNameType/language/negatively_fuzzed_09.xml @@ -0,0 +1,4 @@ + + pÜ򃯋®AÇ + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/empty.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/empty.xml new file mode 100644 index 0000000..4ae5eda --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/empty.xml @@ -0,0 +1,4 @@ + + + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/free_form_text.xml new file mode 100644 index 0000000..3740d42 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/free_form_text.xml @@ -0,0 +1,4 @@ + + some free-form text + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_02.xml new file mode 100644 index 0000000..fdb7bf7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_02.xml @@ -0,0 +1,4 @@ + + Ûg􅅖²򅘴e´򗞕 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_03.xml new file mode 100644 index 0000000..9c8ecb4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_03.xml @@ -0,0 +1,4 @@ + + 󉻽󉻽 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_04.xml new file mode 100644 index 0000000..0789fb7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_04.xml @@ -0,0 +1,4 @@ + + 0 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_05.xml new file mode 100644 index 0000000..8954a82 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_05.xml @@ -0,0 +1,4 @@ + + 􀬁7111 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_06.xml new file mode 100644 index 0000000..5122714 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_06.xml @@ -0,0 +1,4 @@ + + 󯺏 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_07.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_07.xml new file mode 100644 index 0000000..12578f9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_07.xml @@ -0,0 +1,4 @@ + + 󉻽 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_08.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_08.xml new file mode 100644 index 0000000..9a79dea --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_08.xml @@ -0,0 +1,4 @@ + + øPí + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_09.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_09.xml new file mode 100644 index 0000000..bc4454d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringPreferredNameTypeIec61360/language/negatively_fuzzed_09.xml @@ -0,0 +1,4 @@ + + pÜ򃯋®AÇ + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/empty.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/empty.xml new file mode 100644 index 0000000..0f78802 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/empty.xml @@ -0,0 +1,4 @@ + + + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/free_form_text.xml new file mode 100644 index 0000000..45eb2a3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/free_form_text.xml @@ -0,0 +1,4 @@ + + some free-form text + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_02.xml new file mode 100644 index 0000000..2a36be1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_02.xml @@ -0,0 +1,4 @@ + + Ûg􅅖²򅘴e´򗞕 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_03.xml new file mode 100644 index 0000000..9b95e97 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_03.xml @@ -0,0 +1,4 @@ + + 󉻽󉻽 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_04.xml new file mode 100644 index 0000000..fffa15a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_04.xml @@ -0,0 +1,4 @@ + + 0 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_05.xml new file mode 100644 index 0000000..61e7405 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_05.xml @@ -0,0 +1,4 @@ + + 􀬁7111 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_06.xml new file mode 100644 index 0000000..5e0c7af --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_06.xml @@ -0,0 +1,4 @@ + + 󯺏 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_07.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_07.xml new file mode 100644 index 0000000..fe33160 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_07.xml @@ -0,0 +1,4 @@ + + 󉻽 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_08.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_08.xml new file mode 100644 index 0000000..ac3efd2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_08.xml @@ -0,0 +1,4 @@ + + øPí + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_09.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_09.xml new file mode 100644 index 0000000..70f3397 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringShortNameTypeIec61360/language/negatively_fuzzed_09.xml @@ -0,0 +1,4 @@ + + pÜ򃯋®AÇ + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/empty.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/empty.xml new file mode 100644 index 0000000..80ea136 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/empty.xml @@ -0,0 +1,4 @@ + + + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/free_form_text.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/free_form_text.xml new file mode 100644 index 0000000..fcb287a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/free_form_text.xml @@ -0,0 +1,4 @@ + + some free-form text + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_02.xml new file mode 100644 index 0000000..be75363 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_02.xml @@ -0,0 +1,4 @@ + + Ûg􅅖²򅘴e´򗞕 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_03.xml new file mode 100644 index 0000000..a91f3d4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_03.xml @@ -0,0 +1,4 @@ + + 󉻽󉻽 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_04.xml new file mode 100644 index 0000000..745c4e5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_04.xml @@ -0,0 +1,4 @@ + + 0 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_05.xml new file mode 100644 index 0000000..56ed579 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_05.xml @@ -0,0 +1,4 @@ + + 􀬁7111 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_06.xml new file mode 100644 index 0000000..4264865 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_06.xml @@ -0,0 +1,4 @@ + + 󯺏 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_07.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_07.xml new file mode 100644 index 0000000..0fbd88a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_07.xml @@ -0,0 +1,4 @@ + + 󉻽 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_08.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_08.xml new file mode 100644 index 0000000..c4d15bd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_08.xml @@ -0,0 +1,4 @@ + + øPí + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_09.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_09.xml new file mode 100644 index 0000000..e755b99 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/langStringTextType/language/negatively_fuzzed_09.xml @@ -0,0 +1,4 @@ + + pÜ򃯋®AÇ + J5 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/multiLanguageProperty/idShort/negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/multiLanguageProperty/idShort/negatively_fuzzed_01.xml new file mode 100644 index 0000000..0e60118 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/multiLanguageProperty/idShort/negatively_fuzzed_01.xml @@ -0,0 +1,3 @@ + + 򚪾󰾫7 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/multiLanguageProperty/idShort/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/multiLanguageProperty/idShort/negatively_fuzzed_02.xml new file mode 100644 index 0000000..afcabcf --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/multiLanguageProperty/idShort/negatively_fuzzed_02.xml @@ -0,0 +1,3 @@ + + 15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/multiLanguageProperty/idShort/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/multiLanguageProperty/idShort/negatively_fuzzed_04.xml new file mode 100644 index 0000000..2c20bed --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/multiLanguageProperty/idShort/negatively_fuzzed_04.xml @@ -0,0 +1,3 @@ + + ‡Y񐅽󍈪 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/multiLanguageProperty/idShort/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/multiLanguageProperty/idShort/negatively_fuzzed_05.xml new file mode 100644 index 0000000..48ea25b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/multiLanguageProperty/idShort/negatively_fuzzed_05.xml @@ -0,0 +1,3 @@ + + 9䠄񓝝 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/multiLanguageProperty/idShort/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/multiLanguageProperty/idShort/negatively_fuzzed_06.xml new file mode 100644 index 0000000..7bb74ed --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/multiLanguageProperty/idShort/negatively_fuzzed_06.xml @@ -0,0 +1,3 @@ + + @ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/operation/idShort/negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/operation/idShort/negatively_fuzzed_01.xml new file mode 100644 index 0000000..180612c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/operation/idShort/negatively_fuzzed_01.xml @@ -0,0 +1,3 @@ + + 򚪾󰾫7 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/operation/idShort/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/operation/idShort/negatively_fuzzed_02.xml new file mode 100644 index 0000000..2f7ec58 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/operation/idShort/negatively_fuzzed_02.xml @@ -0,0 +1,3 @@ + + 15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/operation/idShort/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/operation/idShort/negatively_fuzzed_04.xml new file mode 100644 index 0000000..d183465 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/operation/idShort/negatively_fuzzed_04.xml @@ -0,0 +1,3 @@ + + ‡Y񐅽󍈪 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/operation/idShort/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/operation/idShort/negatively_fuzzed_05.xml new file mode 100644 index 0000000..e313fce --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/operation/idShort/negatively_fuzzed_05.xml @@ -0,0 +1,3 @@ + + 9䠄񓝝 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/operation/idShort/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/operation/idShort/negatively_fuzzed_06.xml new file mode 100644 index 0000000..3a83fb8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/operation/idShort/negatively_fuzzed_06.xml @@ -0,0 +1,3 @@ + + @ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/property/idShort/negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/property/idShort/negatively_fuzzed_01.xml new file mode 100644 index 0000000..3832de1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/property/idShort/negatively_fuzzed_01.xml @@ -0,0 +1,4 @@ + + 򚪾󰾫7 + xs:gDay + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/property/idShort/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/property/idShort/negatively_fuzzed_02.xml new file mode 100644 index 0000000..bb2b6cd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/property/idShort/negatively_fuzzed_02.xml @@ -0,0 +1,4 @@ + + 15 + xs:gDay + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/property/idShort/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/property/idShort/negatively_fuzzed_04.xml new file mode 100644 index 0000000..090f710 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/property/idShort/negatively_fuzzed_04.xml @@ -0,0 +1,4 @@ + + ‡Y񐅽󍈪 + xs:gDay + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/property/idShort/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/property/idShort/negatively_fuzzed_05.xml new file mode 100644 index 0000000..8d06b3f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/property/idShort/negatively_fuzzed_05.xml @@ -0,0 +1,4 @@ + + 9䠄񓝝 + xs:gDay + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/property/idShort/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/property/idShort/negatively_fuzzed_06.xml new file mode 100644 index 0000000..697f3cb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/property/idShort/negatively_fuzzed_06.xml @@ -0,0 +1,4 @@ + + @ + xs:gDay + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/range/idShort/negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/range/idShort/negatively_fuzzed_01.xml new file mode 100644 index 0000000..6dabeae --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/range/idShort/negatively_fuzzed_01.xml @@ -0,0 +1,4 @@ + + 򚪾󰾫7 + xs:gDay + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/range/idShort/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/range/idShort/negatively_fuzzed_02.xml new file mode 100644 index 0000000..2aae948 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/range/idShort/negatively_fuzzed_02.xml @@ -0,0 +1,4 @@ + + 15 + xs:gDay + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/range/idShort/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/range/idShort/negatively_fuzzed_04.xml new file mode 100644 index 0000000..ed1bf8f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/range/idShort/negatively_fuzzed_04.xml @@ -0,0 +1,4 @@ + + ‡Y񐅽󍈪 + xs:gDay + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/range/idShort/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/range/idShort/negatively_fuzzed_05.xml new file mode 100644 index 0000000..2ad6434 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/range/idShort/negatively_fuzzed_05.xml @@ -0,0 +1,4 @@ + + 9䠄񓝝 + xs:gDay + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/range/idShort/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/range/idShort/negatively_fuzzed_06.xml new file mode 100644 index 0000000..c8499a5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/range/idShort/negatively_fuzzed_06.xml @@ -0,0 +1,4 @@ + + @ + xs:gDay + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/referenceElement/idShort/negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/referenceElement/idShort/negatively_fuzzed_01.xml new file mode 100644 index 0000000..6ec3641 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/referenceElement/idShort/negatively_fuzzed_01.xml @@ -0,0 +1,3 @@ + + 򚪾󰾫7 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/referenceElement/idShort/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/referenceElement/idShort/negatively_fuzzed_02.xml new file mode 100644 index 0000000..ced01f4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/referenceElement/idShort/negatively_fuzzed_02.xml @@ -0,0 +1,3 @@ + + 15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/referenceElement/idShort/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/referenceElement/idShort/negatively_fuzzed_04.xml new file mode 100644 index 0000000..a7f756d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/referenceElement/idShort/negatively_fuzzed_04.xml @@ -0,0 +1,3 @@ + + ‡Y񐅽󍈪 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/referenceElement/idShort/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/referenceElement/idShort/negatively_fuzzed_05.xml new file mode 100644 index 0000000..72a7abf --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/referenceElement/idShort/negatively_fuzzed_05.xml @@ -0,0 +1,3 @@ + + 9䠄񓝝 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/referenceElement/idShort/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/referenceElement/idShort/negatively_fuzzed_06.xml new file mode 100644 index 0000000..1f733f9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/referenceElement/idShort/negatively_fuzzed_06.xml @@ -0,0 +1,3 @@ + + @ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/relationshipElement/idShort/negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/relationshipElement/idShort/negatively_fuzzed_01.xml new file mode 100644 index 0000000..fb8c8f3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/relationshipElement/idShort/negatively_fuzzed_01.xml @@ -0,0 +1,3 @@ + + 򚪾󰾫7 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/relationshipElement/idShort/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/relationshipElement/idShort/negatively_fuzzed_02.xml new file mode 100644 index 0000000..9e1fa34 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/relationshipElement/idShort/negatively_fuzzed_02.xml @@ -0,0 +1,3 @@ + + 15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/relationshipElement/idShort/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/relationshipElement/idShort/negatively_fuzzed_04.xml new file mode 100644 index 0000000..fb52137 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/relationshipElement/idShort/negatively_fuzzed_04.xml @@ -0,0 +1,3 @@ + + ‡Y񐅽󍈪 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/relationshipElement/idShort/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/relationshipElement/idShort/negatively_fuzzed_05.xml new file mode 100644 index 0000000..717ab06 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/relationshipElement/idShort/negatively_fuzzed_05.xml @@ -0,0 +1,3 @@ + + 9䠄񓝝 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/relationshipElement/idShort/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/relationshipElement/idShort/negatively_fuzzed_06.xml new file mode 100644 index 0000000..0452f9f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/relationshipElement/idShort/negatively_fuzzed_06.xml @@ -0,0 +1,3 @@ + + @ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/empty.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/empty.xml new file mode 100644 index 0000000..eaa8fe9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/empty.xml @@ -0,0 +1,4 @@ + + #; + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_03.xml new file mode 100644 index 0000000..3a9f113 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_03.xml @@ -0,0 +1,4 @@ + + #; + 𡔹 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_04.xml new file mode 100644 index 0000000..ce35614 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_04.xml @@ -0,0 +1,4 @@ + + #; + ÐÐ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_05.xml new file mode 100644 index 0000000..f1338cf --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_05.xml @@ -0,0 +1,4 @@ + + #; + 󝵽§…°¢󃡚>3󸴷 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_06.xml new file mode 100644 index 0000000..eb283f8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_06.xml @@ -0,0 +1,4 @@ + + #; + q•d + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_07.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_07.xml new file mode 100644 index 0000000..38ccfd2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_07.xml @@ -0,0 +1,4 @@ + + #; + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_08.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_08.xml new file mode 100644 index 0000000..eaa8fe9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_08.xml @@ -0,0 +1,4 @@ + + #; + + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_09.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_09.xml new file mode 100644 index 0000000..2f7f0b8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_09.xml @@ -0,0 +1,4 @@ + + #; + |ä + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_10.xml new file mode 100644 index 0000000..b8f154a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/negatively_fuzzed_10.xml @@ -0,0 +1,4 @@ + + #; + 𜮰𜮰 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/number.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/number.xml new file mode 100644 index 0000000..4bcb94d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/contentType/number.xml @@ -0,0 +1,4 @@ + + #; + 1234 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_01.xml new file mode 100644 index 0000000..56a8ac4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_01.xml @@ -0,0 +1,3 @@ + + 񊾤 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_02.xml new file mode 100644 index 0000000..64881ea --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_02.xml @@ -0,0 +1,3 @@ + + 󝺮ꨁ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_03.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_03.xml new file mode 100644 index 0000000..c638af8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_03.xml @@ -0,0 +1,3 @@ + + çö + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_05.xml new file mode 100644 index 0000000..2d7673a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_05.xml @@ -0,0 +1,3 @@ + + †䀣𖗅 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_06.xml new file mode 100644 index 0000000..f7fd5ad --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_06.xml @@ -0,0 +1,3 @@ + + 󝺮ꨁ񩤊 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_07.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_07.xml new file mode 100644 index 0000000..a0e0098 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_07.xml @@ -0,0 +1,3 @@ + + ࠁࠁ𦊩 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_08.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_08.xml new file mode 100644 index 0000000..f6e405c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_08.xml @@ -0,0 +1,3 @@ + + PKâ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_09.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_09.xml new file mode 100644 index 0000000..e31127f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_09.xml @@ -0,0 +1,3 @@ + + ð"u + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_10.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_10.xml new file mode 100644 index 0000000..bf9a81e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_fuzzed_10.xml @@ -0,0 +1,3 @@ + + 00𐀇 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_made_up_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_made_up_01.xml new file mode 100644 index 0000000..1b0faf9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_made_up_01.xml @@ -0,0 +1,3 @@ + + http://exa mple.org + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_made_up_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_made_up_02.xml new file mode 100644 index 0000000..1bfd407 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/resource/path/negatively_made_up_02.xml @@ -0,0 +1,3 @@ + + ://example.org + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodel/idShort/negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodel/idShort/negatively_fuzzed_01.xml new file mode 100644 index 0000000..b47729b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodel/idShort/negatively_fuzzed_01.xml @@ -0,0 +1,4 @@ + + 򚪾󰾫7 + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodel/idShort/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodel/idShort/negatively_fuzzed_02.xml new file mode 100644 index 0000000..5db8165 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodel/idShort/negatively_fuzzed_02.xml @@ -0,0 +1,4 @@ + + 15 + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodel/idShort/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodel/idShort/negatively_fuzzed_04.xml new file mode 100644 index 0000000..368fc88 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodel/idShort/negatively_fuzzed_04.xml @@ -0,0 +1,4 @@ + + ‡Y񐅽󍈪 + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodel/idShort/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodel/idShort/negatively_fuzzed_05.xml new file mode 100644 index 0000000..ee68bf2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodel/idShort/negatively_fuzzed_05.xml @@ -0,0 +1,4 @@ + + 9䠄񓝝 + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodel/idShort/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodel/idShort/negatively_fuzzed_06.xml new file mode 100644 index 0000000..eb10356 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodel/idShort/negatively_fuzzed_06.xml @@ -0,0 +1,4 @@ + + @ + 0 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementCollection/idShort/negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementCollection/idShort/negatively_fuzzed_01.xml new file mode 100644 index 0000000..9458fd1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementCollection/idShort/negatively_fuzzed_01.xml @@ -0,0 +1,3 @@ + + 򚪾󰾫7 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementCollection/idShort/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementCollection/idShort/negatively_fuzzed_02.xml new file mode 100644 index 0000000..995a65d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementCollection/idShort/negatively_fuzzed_02.xml @@ -0,0 +1,3 @@ + + 15 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementCollection/idShort/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementCollection/idShort/negatively_fuzzed_04.xml new file mode 100644 index 0000000..ad8e9fb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementCollection/idShort/negatively_fuzzed_04.xml @@ -0,0 +1,3 @@ + + ‡Y񐅽󍈪 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementCollection/idShort/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementCollection/idShort/negatively_fuzzed_05.xml new file mode 100644 index 0000000..6f32300 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementCollection/idShort/negatively_fuzzed_05.xml @@ -0,0 +1,3 @@ + + 9䠄񓝝 + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementCollection/idShort/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementCollection/idShort/negatively_fuzzed_06.xml new file mode 100644 index 0000000..a264803 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementCollection/idShort/negatively_fuzzed_06.xml @@ -0,0 +1,3 @@ + + @ + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementList/idShort/negatively_fuzzed_01.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementList/idShort/negatively_fuzzed_01.xml new file mode 100644 index 0000000..8bf180c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementList/idShort/negatively_fuzzed_01.xml @@ -0,0 +1,4 @@ + + 򚪾󰾫7 + BasicEventElement + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementList/idShort/negatively_fuzzed_02.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementList/idShort/negatively_fuzzed_02.xml new file mode 100644 index 0000000..36c9635 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementList/idShort/negatively_fuzzed_02.xml @@ -0,0 +1,4 @@ + + 15 + BasicEventElement + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementList/idShort/negatively_fuzzed_04.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementList/idShort/negatively_fuzzed_04.xml new file mode 100644 index 0000000..2b958b0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementList/idShort/negatively_fuzzed_04.xml @@ -0,0 +1,4 @@ + + ‡Y񐅽󍈪 + BasicEventElement + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementList/idShort/negatively_fuzzed_05.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementList/idShort/negatively_fuzzed_05.xml new file mode 100644 index 0000000..fb5370b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementList/idShort/negatively_fuzzed_05.xml @@ -0,0 +1,4 @@ + + 9䠄񓝝 + BasicEventElement + diff --git a/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementList/idShort/negatively_fuzzed_06.xml b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementList/idShort/negatively_fuzzed_06.xml new file mode 100644 index 0000000..0b7e5b8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Invalid/PatternViolation/submodelElementList/idShort/negatively_fuzzed_06.xml @@ -0,0 +1,4 @@ + + @ + BasicEventElement + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/administrativeInformation/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/administrativeInformation/wrong.xml new file mode 100644 index 0000000..8c7634a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/administrativeInformation/wrong.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/annotatedRelationshipElement/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/annotatedRelationshipElement/wrong.xml new file mode 100644 index 0000000..8c7634a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/annotatedRelationshipElement/wrong.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/assetAdministrationShell/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/assetAdministrationShell/wrong.xml new file mode 100644 index 0000000..c1e3a7a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/assetAdministrationShell/wrong.xml @@ -0,0 +1,7 @@ + + 0 + + Batch + 6 + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/assetInformation/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/assetInformation/wrong.xml new file mode 100644 index 0000000..1da0300 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/assetInformation/wrong.xml @@ -0,0 +1,4 @@ + + Batch + 0 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/basicEventElement/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/basicEventElement/wrong.xml new file mode 100644 index 0000000..d3b2e99 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/basicEventElement/wrong.xml @@ -0,0 +1,17 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/blob/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/blob/wrong.xml new file mode 100644 index 0000000..8c7634a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/blob/wrong.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/capability/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/capability/wrong.xml new file mode 100644 index 0000000..8c7634a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/capability/wrong.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/conceptDescription/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/conceptDescription/wrong.xml new file mode 100644 index 0000000..37c1b1e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/conceptDescription/wrong.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/dataSpecificationIec61360/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/dataSpecificationIec61360/wrong.xml new file mode 100644 index 0000000..425c802 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/dataSpecificationIec61360/wrong.xml @@ -0,0 +1,8 @@ + + + + en-JM-x-c7dddb5b + 6 + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/embeddedDataSpecification/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/embeddedDataSpecification/wrong.xml new file mode 100644 index 0000000..254f776 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/embeddedDataSpecification/wrong.xml @@ -0,0 +1,21 @@ + + + ExternalReference + + + GlobalReference + urn:some-company:10:9ac9d1a6 + + + + + + + + en-JM-x-b435b532 + 0 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/entity/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/entity/wrong.xml new file mode 100644 index 0000000..8c7634a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/entity/wrong.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/environment/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/environment/wrong.xml new file mode 100644 index 0000000..8c7634a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/environment/wrong.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/eventPayload/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/eventPayload/wrong.xml new file mode 100644 index 0000000..559dce1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/eventPayload/wrong.xml @@ -0,0 +1,25 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 2022-04-01T24:00:00-00:00 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/extension/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/extension/wrong.xml new file mode 100644 index 0000000..2e1031f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/extension/wrong.xml @@ -0,0 +1,3 @@ + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/file/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/file/wrong.xml new file mode 100644 index 0000000..8c7634a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/file/wrong.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/key/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/key/wrong.xml new file mode 100644 index 0000000..88b87d2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/key/wrong.xml @@ -0,0 +1,4 @@ + + EventElement + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/langStringDefinitionTypeIec61360/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/langStringDefinitionTypeIec61360/wrong.xml new file mode 100644 index 0000000..38bf4ce --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/langStringDefinitionTypeIec61360/wrong.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/langStringNameType/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/langStringNameType/wrong.xml new file mode 100644 index 0000000..38bf4ce --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/langStringNameType/wrong.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/langStringPreferredNameTypeIec61360/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/langStringPreferredNameTypeIec61360/wrong.xml new file mode 100644 index 0000000..38bf4ce --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/langStringPreferredNameTypeIec61360/wrong.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/langStringShortNameTypeIec61360/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/langStringShortNameTypeIec61360/wrong.xml new file mode 100644 index 0000000..38bf4ce --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/langStringShortNameTypeIec61360/wrong.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/langStringTextType/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/langStringTextType/wrong.xml new file mode 100644 index 0000000..38bf4ce --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/langStringTextType/wrong.xml @@ -0,0 +1,4 @@ + + en-JM-x-8fafefb1 + J5 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/levelType/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/levelType/wrong.xml new file mode 100644 index 0000000..e831d40 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/levelType/wrong.xml @@ -0,0 +1,6 @@ + + false + false + false + true + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/multiLanguageProperty/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/multiLanguageProperty/wrong.xml new file mode 100644 index 0000000..8c7634a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/multiLanguageProperty/wrong.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/operation/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/operation/wrong.xml new file mode 100644 index 0000000..8c7634a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/operation/wrong.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/operationVariable/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/operationVariable/wrong.xml new file mode 100644 index 0000000..4e95f39 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/operationVariable/wrong.xml @@ -0,0 +1,8 @@ + + + + something1d0edd81 + Capability + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/property/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/property/wrong.xml new file mode 100644 index 0000000..59a277a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/property/wrong.xml @@ -0,0 +1,3 @@ + + xs:gDay + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/qualifier/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/qualifier/wrong.xml new file mode 100644 index 0000000..62ab823 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/qualifier/wrong.xml @@ -0,0 +1,4 @@ + + something_86027eb8 + xs:gDay + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/range/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/range/wrong.xml new file mode 100644 index 0000000..59a277a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/range/wrong.xml @@ -0,0 +1,3 @@ + + xs:gDay + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/reference/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/reference/wrong.xml new file mode 100644 index 0000000..35798f5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/reference/wrong.xml @@ -0,0 +1,9 @@ + + ExternalReference + + + GlobalReference + urn:example:10:6914e6d2 + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/referenceElement/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/referenceElement/wrong.xml new file mode 100644 index 0000000..8c7634a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/referenceElement/wrong.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/relationshipElement/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/relationshipElement/wrong.xml new file mode 100644 index 0000000..8c7634a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/relationshipElement/wrong.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/resource/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/resource/wrong.xml new file mode 100644 index 0000000..9821863 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/resource/wrong.xml @@ -0,0 +1,3 @@ + + #; + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/specificAssetId/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/specificAssetId/wrong.xml new file mode 100644 index 0000000..d223032 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/specificAssetId/wrong.xml @@ -0,0 +1,4 @@ + + Ûă<P󨱽²|dnœÞ® + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/submodel/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/submodel/wrong.xml new file mode 100644 index 0000000..37c1b1e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/submodel/wrong.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/submodelElementCollection/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/submodelElementCollection/wrong.xml new file mode 100644 index 0000000..8c7634a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/submodelElementCollection/wrong.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/submodelElementList/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/submodelElementList/wrong.xml new file mode 100644 index 0000000..4a6ca9e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/submodelElementList/wrong.xml @@ -0,0 +1,3 @@ + + BasicEventElement + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/valueList/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/valueList/wrong.xml new file mode 100644 index 0000000..be8f016 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/valueList/wrong.xml @@ -0,0 +1,7 @@ + + + + öĖa􍣡™| + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/valueReferencePair/wrong.xml b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/valueReferencePair/wrong.xml new file mode 100644 index 0000000..64c3290 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/InvalidClassName/valueReferencePair/wrong.xml @@ -0,0 +1,3 @@ + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/assetAdministrationShell/assetInformation.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/assetAdministrationShell/assetInformation.xml new file mode 100644 index 0000000..32cd8d6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/assetAdministrationShell/assetInformation.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/assetAdministrationShell/id.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/assetAdministrationShell/id.xml new file mode 100644 index 0000000..84f724c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/assetAdministrationShell/id.xml @@ -0,0 +1,6 @@ + + + Batch + 6 + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/assetInformation/assetKind.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/assetInformation/assetKind.xml new file mode 100644 index 0000000..5d72779 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/assetInformation/assetKind.xml @@ -0,0 +1,3 @@ + + 0 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/basicEventElement/direction.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/basicEventElement/direction.xml new file mode 100644 index 0000000..e331d34 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/basicEventElement/direction.xml @@ -0,0 +1,16 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + on + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/basicEventElement/observed.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/basicEventElement/observed.xml new file mode 100644 index 0000000..7f521a4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/basicEventElement/observed.xml @@ -0,0 +1,4 @@ + + input + on + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/basicEventElement/state.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/basicEventElement/state.xml new file mode 100644 index 0000000..da947b5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/basicEventElement/state.xml @@ -0,0 +1,16 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/conceptDescription/id.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/conceptDescription/id.xml new file mode 100644 index 0000000..ef65a83 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/conceptDescription/id.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/dataSpecificationIec61360/preferredName.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/dataSpecificationIec61360/preferredName.xml new file mode 100644 index 0000000..894cc6d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/dataSpecificationIec61360/preferredName.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/embeddedDataSpecification/dataSpecification.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/embeddedDataSpecification/dataSpecification.xml new file mode 100644 index 0000000..173429d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/embeddedDataSpecification/dataSpecification.xml @@ -0,0 +1,12 @@ + + + + + + en-JM-x-b435b532 + 0 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/embeddedDataSpecification/dataSpecificationContent.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/embeddedDataSpecification/dataSpecificationContent.xml new file mode 100644 index 0000000..ba02056 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/embeddedDataSpecification/dataSpecificationContent.xml @@ -0,0 +1,11 @@ + + + ExternalReference + + + GlobalReference + urn:some-company:10:9ac9d1a6 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/eventPayload/observableReference.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/eventPayload/observableReference.xml new file mode 100644 index 0000000..3bb79fe --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/eventPayload/observableReference.xml @@ -0,0 +1,16 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + 2022-04-01T24:00:00-00:00 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/eventPayload/source.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/eventPayload/source.xml new file mode 100644 index 0000000..a80288f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/eventPayload/source.xml @@ -0,0 +1,12 @@ + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 2022-04-01T24:00:00-00:00 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/eventPayload/timeStamp.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/eventPayload/timeStamp.xml new file mode 100644 index 0000000..353f9b1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/eventPayload/timeStamp.xml @@ -0,0 +1,24 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/extension/name.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/extension/name.xml new file mode 100644 index 0000000..430dc01 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/extension/name.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/key/type.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/key/type.xml new file mode 100644 index 0000000..53115f3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/key/type.xml @@ -0,0 +1,3 @@ + + <ă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/key/value.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/key/value.xml new file mode 100644 index 0000000..a51671f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/key/value.xml @@ -0,0 +1,3 @@ + + EventElement + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringDefinitionTypeIec61360/language.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringDefinitionTypeIec61360/language.xml new file mode 100644 index 0000000..8ea54d7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringDefinitionTypeIec61360/language.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringDefinitionTypeIec61360/text.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringDefinitionTypeIec61360/text.xml new file mode 100644 index 0000000..d2bfb47 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringDefinitionTypeIec61360/text.xml @@ -0,0 +1,3 @@ + + en-JM-x-8fafefb1 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringNameType/language.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringNameType/language.xml new file mode 100644 index 0000000..5d365b8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringNameType/language.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringNameType/text.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringNameType/text.xml new file mode 100644 index 0000000..c4d0bb9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringNameType/text.xml @@ -0,0 +1,3 @@ + + en-JM-x-8fafefb1 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringPreferredNameTypeIec61360/language.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringPreferredNameTypeIec61360/language.xml new file mode 100644 index 0000000..4ebc8a6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringPreferredNameTypeIec61360/language.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringPreferredNameTypeIec61360/text.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringPreferredNameTypeIec61360/text.xml new file mode 100644 index 0000000..6b2df67 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringPreferredNameTypeIec61360/text.xml @@ -0,0 +1,3 @@ + + en-JM-x-8fafefb1 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringShortNameTypeIec61360/language.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringShortNameTypeIec61360/language.xml new file mode 100644 index 0000000..e234c61 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringShortNameTypeIec61360/language.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringShortNameTypeIec61360/text.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringShortNameTypeIec61360/text.xml new file mode 100644 index 0000000..bacd690 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringShortNameTypeIec61360/text.xml @@ -0,0 +1,3 @@ + + en-JM-x-8fafefb1 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringTextType/language.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringTextType/language.xml new file mode 100644 index 0000000..1084da6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringTextType/language.xml @@ -0,0 +1,3 @@ + + J5 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringTextType/text.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringTextType/text.xml new file mode 100644 index 0000000..dfd10f8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/langStringTextType/text.xml @@ -0,0 +1,3 @@ + + en-JM-x-8fafefb1 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/levelType/max.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/levelType/max.xml new file mode 100644 index 0000000..ad87dc4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/levelType/max.xml @@ -0,0 +1,5 @@ + + false + false + false + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/levelType/min.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/levelType/min.xml new file mode 100644 index 0000000..c68cb6f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/levelType/min.xml @@ -0,0 +1,5 @@ + + false + false + true + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/levelType/nom.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/levelType/nom.xml new file mode 100644 index 0000000..0635cf7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/levelType/nom.xml @@ -0,0 +1,5 @@ + + false + false + true + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/levelType/typ.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/levelType/typ.xml new file mode 100644 index 0000000..7ac5414 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/levelType/typ.xml @@ -0,0 +1,5 @@ + + false + false + true + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/operationVariable/value.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/operationVariable/value.xml new file mode 100644 index 0000000..6e973d9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/operationVariable/value.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/property/valueType.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/property/valueType.xml new file mode 100644 index 0000000..fea2861 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/property/valueType.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/qualifier/type.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/qualifier/type.xml new file mode 100644 index 0000000..4ada74b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/qualifier/type.xml @@ -0,0 +1,3 @@ + + xs:gDay + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/qualifier/valueType.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/qualifier/valueType.xml new file mode 100644 index 0000000..8bd3522 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/qualifier/valueType.xml @@ -0,0 +1,3 @@ + + something_86027eb8 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/range/valueType.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/range/valueType.xml new file mode 100644 index 0000000..afa0586 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/range/valueType.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/reference/keys.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/reference/keys.xml new file mode 100644 index 0000000..0f301dc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/reference/keys.xml @@ -0,0 +1,3 @@ + + ExternalReference + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/reference/type.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/reference/type.xml new file mode 100644 index 0000000..5667303 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/reference/type.xml @@ -0,0 +1,8 @@ + + + + GlobalReference + urn:example:10:6914e6d2 + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/resource/path.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/resource/path.xml new file mode 100644 index 0000000..dd53abb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/resource/path.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/specificAssetId/name.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/specificAssetId/name.xml new file mode 100644 index 0000000..dfe36c4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/specificAssetId/name.xml @@ -0,0 +1,3 @@ + + 𠤢4𠤢 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/specificAssetId/value.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/specificAssetId/value.xml new file mode 100644 index 0000000..64bcf29 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/specificAssetId/value.xml @@ -0,0 +1,3 @@ + + Ûă<P󨱽²|dnœÞ® + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/submodel/id.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/submodel/id.xml new file mode 100644 index 0000000..3706935 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/submodel/id.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/submodelElementList/typeValueListElement.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/submodelElementList/typeValueListElement.xml new file mode 100644 index 0000000..585c367 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/submodelElementList/typeValueListElement.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/valueList/valueReferencePairs.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/valueList/valueReferencePairs.xml new file mode 100644 index 0000000..42ac32f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/valueList/valueReferencePairs.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/valueReferencePair/value.xml b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/valueReferencePair/value.xml new file mode 100644 index 0000000..f430e09 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/RequiredViolation/valueReferencePair/value.xml @@ -0,0 +1 @@ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/createdAt.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/createdAt.xml new file mode 100644 index 0000000..1dace6a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/createdAt.xml @@ -0,0 +1,80 @@ + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + 116 + 116 + + ExternalReference + + + GlobalReference + urn:an-example:13:f3f732d5 + + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + 2022-04-01T24:00:00Z + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/creator.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/creator.xml new file mode 100644 index 0000000..201ddba --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/creator.xml @@ -0,0 +1,64 @@ + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + 116 + 116 + Unexpected string value + 2022-04-01T24:00:00+00:00 + 2022-04-01T24:00:00Z + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/embeddedDataSpecifications.xml new file mode 100644 index 0000000..75a80dc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/embeddedDataSpecifications.xml @@ -0,0 +1,17 @@ + + Unexpected string value + 116 + 116 + + ExternalReference + + + GlobalReference + urn:an-example:13:f3f732d5 + + + + 2022-04-01T24:00:00+00:00 + 2022-04-01T24:00:00Z + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/revision.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/revision.xml new file mode 100644 index 0000000..0b1d85b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/revision.xml @@ -0,0 +1,80 @@ + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + 116 + + ExternalReference + + + GlobalReference + unexpected reference + + + + + ExternalReference + + + GlobalReference + urn:an-example:13:f3f732d5 + + + + 2022-04-01T24:00:00+00:00 + 2022-04-01T24:00:00Z + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/templateId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/templateId.xml new file mode 100644 index 0000000..8b94ccb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/templateId.xml @@ -0,0 +1,80 @@ + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + 116 + 116 + + ExternalReference + + + GlobalReference + urn:an-example:13:f3f732d5 + + + + 2022-04-01T24:00:00+00:00 + 2022-04-01T24:00:00Z + + ExternalReference + + + GlobalReference + unexpected reference + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/updatedAt.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/updatedAt.xml new file mode 100644 index 0000000..fcfb8f8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/updatedAt.xml @@ -0,0 +1,80 @@ + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + 116 + 116 + + ExternalReference + + + GlobalReference + urn:an-example:13:f3f732d5 + + + + 2022-04-01T24:00:00+00:00 + + ExternalReference + + + GlobalReference + unexpected reference + + + + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/version.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/version.xml new file mode 100644 index 0000000..0bc49e1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/administrativeInformation/version.xml @@ -0,0 +1,80 @@ + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + 116 + + ExternalReference + + + GlobalReference + urn:an-example:13:f3f732d5 + + + + 2022-04-01T24:00:00+00:00 + 2022-04-01T24:00:00Z + [\h$񒺟ìÖċŠ1¿ + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/annotations.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/annotations.xml new file mode 100644 index 0000000..8b766cb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/annotations.xml @@ -0,0 +1,159 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/category.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/category.xml new file mode 100644 index 0000000..3f8be2f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/category.xml @@ -0,0 +1,174 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/description.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/description.xml new file mode 100644 index 0000000..1cbe8f3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/description.xml @@ -0,0 +1,157 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/displayName.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/displayName.xml new file mode 100644 index 0000000..4c1c109 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/displayName.xml @@ -0,0 +1,157 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + Unexpected string value + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/embeddedDataSpecifications.xml new file mode 100644 index 0000000..dd87e23 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/embeddedDataSpecifications.xml @@ -0,0 +1,111 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/extensions.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/extensions.xml new file mode 100644 index 0000000..3e11ee2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/extensions.xml @@ -0,0 +1,159 @@ + + Unexpected string value + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/first.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/first.xml new file mode 100644 index 0000000..b470379 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/first.xml @@ -0,0 +1,158 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/idShort.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/idShort.xml new file mode 100644 index 0000000..7a7c9d9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/idShort.xml @@ -0,0 +1,174 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/qualifiers.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/qualifiers.xml new file mode 100644 index 0000000..5deaf1a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/qualifiers.xml @@ -0,0 +1,153 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Unexpected string value + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/second.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/second.xml new file mode 100644 index 0000000..a25d7a5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/second.xml @@ -0,0 +1,158 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + Unexpected string value + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/semanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/semanticId.xml new file mode 100644 index 0000000..4804ab5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/semanticId.xml @@ -0,0 +1,158 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + Unexpected string value + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/supplementalSemanticIds.xml new file mode 100644 index 0000000..6a2bf89 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/annotatedRelationshipElement/supplementalSemanticIds.xml @@ -0,0 +1,138 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + Unexpected string value + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + + + Jk0k1414Di + + + fULCVpULCVq + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/administration.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/administration.xml new file mode 100644 index 0000000..c9674ef --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/administration.xml @@ -0,0 +1,123 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + Unexpected string value + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/assetInformation.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/assetInformation.xml new file mode 100644 index 0000000..a2a99a4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/assetInformation.xml @@ -0,0 +1,120 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + Unexpected string value + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/category.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/category.xml new file mode 100644 index 0000000..29bffb6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/category.xml @@ -0,0 +1,131 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/derivedFrom.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/derivedFrom.xml new file mode 100644 index 0000000..f7a6f59 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/derivedFrom.xml @@ -0,0 +1,115 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + Unexpected string value + + NotApplicable + öĖa􍣡™| + + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/description.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/description.xml new file mode 100644 index 0000000..d4a4126 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/description.xml @@ -0,0 +1,114 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + Unexpected string value + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/displayName.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/displayName.xml new file mode 100644 index 0000000..70a6f78 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/displayName.xml @@ -0,0 +1,114 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + Unexpected string value + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/embeddedDataSpecifications.xml new file mode 100644 index 0000000..7262bac --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/embeddedDataSpecifications.xml @@ -0,0 +1,68 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Unexpected string value + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/extensions.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/extensions.xml new file mode 100644 index 0000000..da2c162 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/extensions.xml @@ -0,0 +1,116 @@ + + Unexpected string value + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/id.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/id.xml new file mode 100644 index 0000000..f342e66 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/id.xml @@ -0,0 +1,131 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/idShort.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/idShort.xml new file mode 100644 index 0000000..c0a28df --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/idShort.xml @@ -0,0 +1,131 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + + + ModelReference + + + Submodel + urn:some-company:10:b41a9a96 + + + + + ModelReference + + + Submodel + urn:some-company:08:ebc5356c + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/submodels.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/submodels.xml new file mode 100644 index 0000000..d5d6c45 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetAdministrationShell/submodels.xml @@ -0,0 +1,104 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + AssetAdministrationShell + urn:some-company:05:3dfe70e9 + + + + + NotApplicable + öĖa􍣡™| + + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetInformation/assetKind.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetInformation/assetKind.xml new file mode 100644 index 0000000..d8c7cec --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetInformation/assetKind.xml @@ -0,0 +1,30 @@ + + + ExternalReference + + + GlobalReference + unexpected reference + + + + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + Ûă<P󨱽²|dnœÞ® + + news:comp.infosystems.www.servers.unix + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetInformation/assetType.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetInformation/assetType.xml new file mode 100644 index 0000000..9f827a0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetInformation/assetType.xml @@ -0,0 +1,30 @@ + + Batch + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + + news:comp.infosystems.www.servers.unix + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetInformation/defaultThumbnail.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetInformation/defaultThumbnail.xml new file mode 100644 index 0000000..d683dcd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetInformation/defaultThumbnail.xml @@ -0,0 +1,20 @@ + + Batch + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + Ûă<P󨱽²|dnœÞ® + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetInformation/globalAssetId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetInformation/globalAssetId.xml new file mode 100644 index 0000000..e4f304f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetInformation/globalAssetId.xml @@ -0,0 +1,30 @@ + + Batch + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + Ûă<P󨱽²|dnœÞ® + + news:comp.infosystems.www.servers.unix + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetInformation/specificAssetIds.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetInformation/specificAssetIds.xml new file mode 100644 index 0000000..7768234 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/assetInformation/specificAssetIds.xml @@ -0,0 +1,9 @@ + + Batch + 0 + Unexpected string value + Ûă<P󨱽²|dnœÞ® + + news:comp.infosystems.www.servers.unix + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/category.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/category.xml new file mode 100644 index 0000000..f08c708 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/category.xml @@ -0,0 +1,180 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/description.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/description.xml new file mode 100644 index 0000000..9b5d3e2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/description.xml @@ -0,0 +1,163 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/direction.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/direction.xml new file mode 100644 index 0000000..acef158 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/direction.xml @@ -0,0 +1,180 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/displayName.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/displayName.xml new file mode 100644 index 0000000..79a9955 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/displayName.xml @@ -0,0 +1,163 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + Unexpected string value + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/embeddedDataSpecifications.xml new file mode 100644 index 0000000..3350884 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/embeddedDataSpecifications.xml @@ -0,0 +1,117 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + Unexpected string value + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/extensions.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/extensions.xml new file mode 100644 index 0000000..6ab0e2c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/extensions.xml @@ -0,0 +1,165 @@ + + Unexpected string value + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/idShort.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/idShort.xml new file mode 100644 index 0000000..f35dc23 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/idShort.xml @@ -0,0 +1,180 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/lastUpdate.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/lastUpdate.xml new file mode 100644 index 0000000..caf9222 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/lastUpdate.xml @@ -0,0 +1,180 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/maxInterval.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/maxInterval.xml new file mode 100644 index 0000000..9029c8c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/maxInterval.xml @@ -0,0 +1,180 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + + ExternalReference + + + GlobalReference + unexpected reference + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/messageBroker.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/messageBroker.xml new file mode 100644 index 0000000..4a4b9c7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/messageBroker.xml @@ -0,0 +1,160 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + Unexpected string value + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/messageTopic.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/messageTopic.xml new file mode 100644 index 0000000..25bb747 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/messageTopic.xml @@ -0,0 +1,180 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + + ExternalReference + + + GlobalReference + unexpected reference + + + + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/minInterval.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/minInterval.xml new file mode 100644 index 0000000..b66b3bd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/minInterval.xml @@ -0,0 +1,180 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + + ExternalReference + + + GlobalReference + unexpected reference + + + + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/observed.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/observed.xml new file mode 100644 index 0000000..39dd3f7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/observed.xml @@ -0,0 +1,160 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + Unexpected string value + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/qualifiers.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/qualifiers.xml new file mode 100644 index 0000000..aed2a72 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/qualifiers.xml @@ -0,0 +1,159 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Unexpected string value + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/semanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/semanticId.xml new file mode 100644 index 0000000..1f642e7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/semanticId.xml @@ -0,0 +1,164 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + Unexpected string value + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/state.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/state.xml new file mode 100644 index 0000000..dd22994 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/state.xml @@ -0,0 +1,180 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + + ExternalReference + + + GlobalReference + unexpected reference + + + + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/supplementalSemanticIds.xml new file mode 100644 index 0000000..f651645 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/basicEventElement/supplementalSemanticIds.xml @@ -0,0 +1,144 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + Unexpected string value + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + output + on + 𠤢4𠤢 + + ModelReference + + + Submodel + urn:example:13:931c2029 + + + Property + something839c2657 + + + + 0001-01-01T00:00:00Z + -P11DT142M + PT18688M + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/category.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/category.xml new file mode 100644 index 0000000..c8017a7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/category.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/contentType.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/contentType.xml new file mode 100644 index 0000000..888e446 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/contentType.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + + ExternalReference + + + GlobalReference + unexpected reference + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/description.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/description.xml new file mode 100644 index 0000000..9b6a207 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/description.xml @@ -0,0 +1,133 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/displayName.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/displayName.xml new file mode 100644 index 0000000..0dfc949 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/displayName.xml @@ -0,0 +1,133 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + Unexpected string value + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/embeddedDataSpecifications.xml new file mode 100644 index 0000000..945b9c7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/embeddedDataSpecifications.xml @@ -0,0 +1,87 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + Unexpected string value + RyaIxQ6R/Wrra8w= + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/extensions.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/extensions.xml new file mode 100644 index 0000000..67cdee8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/extensions.xml @@ -0,0 +1,135 @@ + + Unexpected string value + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/idShort.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/idShort.xml new file mode 100644 index 0000000..23aa539 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/idShort.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/qualifiers.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/qualifiers.xml new file mode 100644 index 0000000..5272179 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/qualifiers.xml @@ -0,0 +1,129 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Unexpected string value + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/semanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/semanticId.xml new file mode 100644 index 0000000..a463636 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/semanticId.xml @@ -0,0 +1,134 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + Unexpected string value + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/supplementalSemanticIds.xml new file mode 100644 index 0000000..1f41648 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/supplementalSemanticIds.xml @@ -0,0 +1,114 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + Unexpected string value + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + RyaIxQ6R/Wrra8w= + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/value.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/value.xml new file mode 100644 index 0000000..b217fd7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/blob/value.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/category.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/category.xml new file mode 100644 index 0000000..75479d7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/category.xml @@ -0,0 +1,148 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/description.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/description.xml new file mode 100644 index 0000000..207e3f6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/description.xml @@ -0,0 +1,131 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/displayName.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/displayName.xml new file mode 100644 index 0000000..e890e8d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/displayName.xml @@ -0,0 +1,131 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + Unexpected string value + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/embeddedDataSpecifications.xml new file mode 100644 index 0000000..a0068f3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/embeddedDataSpecifications.xml @@ -0,0 +1,85 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/extensions.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/extensions.xml new file mode 100644 index 0000000..86d6a81 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/extensions.xml @@ -0,0 +1,133 @@ + + Unexpected string value + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/idShort.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/idShort.xml new file mode 100644 index 0000000..2571f54 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/idShort.xml @@ -0,0 +1,148 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/qualifiers.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/qualifiers.xml new file mode 100644 index 0000000..6d10726 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/qualifiers.xml @@ -0,0 +1,127 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Unexpected string value + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/semanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/semanticId.xml new file mode 100644 index 0000000..504a8cb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/semanticId.xml @@ -0,0 +1,132 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + Unexpected string value + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/supplementalSemanticIds.xml new file mode 100644 index 0000000..daa9f5e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/capability/supplementalSemanticIds.xml @@ -0,0 +1,112 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + Unexpected string value + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/administration.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/administration.xml new file mode 100644 index 0000000..3926485 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/administration.xml @@ -0,0 +1,113 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + Unexpected string value + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc1291c8 + öĖa􍣡™| + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc009eeb + Ûă<P󨱽²|dnœÞ® + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:06:66cbf3c6 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/category.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/category.xml new file mode 100644 index 0000000..b83cedf --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/category.xml @@ -0,0 +1,121 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc1291c8 + öĖa􍣡™| + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc009eeb + Ûă<P󨱽²|dnœÞ® + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:06:66cbf3c6 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/description.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/description.xml new file mode 100644 index 0000000..2b819e8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/description.xml @@ -0,0 +1,104 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + Unexpected string value + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc1291c8 + öĖa􍣡™| + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc009eeb + Ûă<P󨱽²|dnœÞ® + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:06:66cbf3c6 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/displayName.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/displayName.xml new file mode 100644 index 0000000..1c96ced --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/displayName.xml @@ -0,0 +1,104 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + Unexpected string value + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc1291c8 + öĖa􍣡™| + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc009eeb + Ûă<P󨱽²|dnœÞ® + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:06:66cbf3c6 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/embeddedDataSpecifications.xml new file mode 100644 index 0000000..614909b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/embeddedDataSpecifications.xml @@ -0,0 +1,46 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Unexpected string value + + + ExternalReference + + + GlobalReference + urn:another-company:06:66cbf3c6 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/extensions.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/extensions.xml new file mode 100644 index 0000000..a8dfe0b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/extensions.xml @@ -0,0 +1,106 @@ + + Unexpected string value + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc1291c8 + öĖa􍣡™| + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc009eeb + Ûă<P󨱽²|dnœÞ® + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:06:66cbf3c6 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/id.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/id.xml new file mode 100644 index 0000000..7be1af9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/id.xml @@ -0,0 +1,121 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc1291c8 + öĖa􍣡™| + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc009eeb + Ûă<P󨱽²|dnœÞ® + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:06:66cbf3c6 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/idShort.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/idShort.xml new file mode 100644 index 0000000..883fe69 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/idShort.xml @@ -0,0 +1,121 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc1291c8 + öĖa􍣡™| + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc009eeb + Ûă<P󨱽²|dnœÞ® + + + + + + + + + ExternalReference + + + GlobalReference + urn:another-company:06:66cbf3c6 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/isCaseOf.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/isCaseOf.xml new file mode 100644 index 0000000..8c96dea --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/conceptDescription/isCaseOf.xml @@ -0,0 +1,103 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc1291c8 + öĖa􍣡™| + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + en-JM-x-bc009eeb + Ûă<P󨱽²|dnœÞ® + + + + + + + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/dataType.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/dataType.xml new file mode 100644 index 0000000..a1b2b33 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/dataType.xml @@ -0,0 +1,49 @@ + + + + en-JM-x-c7dddb5b + 6 + + + + + en-JM-x-db8b8a3d + öĖa􍣡™| + + + [\h$񒺟ìÖċŠ1¿ + + ExternalReference + + + GlobalReference + urn:example:01:c23a7921 + + + + <ă<P󨱽²|dnœÞ® + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + en-JM-x-b7bc1552 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 0 + 򤑌M𪠇𛔊򂄲 + + false + false + true + true + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/definition.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/definition.xml new file mode 100644 index 0000000..9b31cab --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/definition.xml @@ -0,0 +1,36 @@ + + + + en-JM-x-c7dddb5b + 6 + + + + + en-JM-x-db8b8a3d + öĖa􍣡™| + + + [\h$񒺟ìÖċŠ1¿ + + ExternalReference + + + GlobalReference + urn:example:01:c23a7921 + + + + <ă<P󨱽²|dnœÞ® + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + RATIONAL_MEASURE + Unexpected string value + 0 + 򤑌M𪠇𛔊򂄲 + + false + false + true + true + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/levelType.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/levelType.xml new file mode 100644 index 0000000..123f9d7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/levelType.xml @@ -0,0 +1,36 @@ + + + + en-JM-x-c7dddb5b + 6 + + + + + en-JM-x-db8b8a3d + öĖa􍣡™| + + + [\h$񒺟ìÖċŠ1¿ + + ExternalReference + + + GlobalReference + urn:example:01:c23a7921 + + + + <ă<P󨱽²|dnœÞ® + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + RATIONAL_MEASURE + + + en-JM-x-b7bc1552 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 0 + 򤑌M𪠇𛔊򂄲 + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/preferredName.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/preferredName.xml new file mode 100644 index 0000000..6875c60 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/preferredName.xml @@ -0,0 +1,36 @@ + + Unexpected string value + + + en-JM-x-db8b8a3d + öĖa􍣡™| + + + [\h$񒺟ìÖċŠ1¿ + + ExternalReference + + + GlobalReference + urn:example:01:c23a7921 + + + + <ă<P󨱽²|dnœÞ® + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + RATIONAL_MEASURE + + + en-JM-x-b7bc1552 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 0 + 򤑌M𪠇𛔊򂄲 + + false + false + true + true + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/shortName.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/shortName.xml new file mode 100644 index 0000000..e259c9a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/shortName.xml @@ -0,0 +1,36 @@ + + + + en-JM-x-c7dddb5b + 6 + + + Unexpected string value + [\h$񒺟ìÖċŠ1¿ + + ExternalReference + + + GlobalReference + urn:example:01:c23a7921 + + + + <ă<P󨱽²|dnœÞ® + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + RATIONAL_MEASURE + + + en-JM-x-b7bc1552 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 0 + 򤑌M𪠇𛔊򂄲 + + false + false + true + true + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/sourceOfDefinition.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/sourceOfDefinition.xml new file mode 100644 index 0000000..97f1dbe --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/sourceOfDefinition.xml @@ -0,0 +1,49 @@ + + + + en-JM-x-c7dddb5b + 6 + + + + + en-JM-x-db8b8a3d + öĖa􍣡™| + + + [\h$񒺟ìÖċŠ1¿ + + ExternalReference + + + GlobalReference + urn:example:01:c23a7921 + + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + RATIONAL_MEASURE + + + en-JM-x-b7bc1552 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 0 + 򤑌M𪠇𛔊򂄲 + + false + false + true + true + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/symbol.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/symbol.xml new file mode 100644 index 0000000..15c3df5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/symbol.xml @@ -0,0 +1,49 @@ + + + + en-JM-x-c7dddb5b + 6 + + + + + en-JM-x-db8b8a3d + öĖa􍣡™| + + + [\h$񒺟ìÖċŠ1¿ + + ExternalReference + + + GlobalReference + urn:example:01:c23a7921 + + + + <ă<P󨱽²|dnœÞ® + + ExternalReference + + + GlobalReference + unexpected reference + + + + RATIONAL_MEASURE + + + en-JM-x-b7bc1552 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 0 + 򤑌M𪠇𛔊򂄲 + + false + false + true + true + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/unit.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/unit.xml new file mode 100644 index 0000000..4ca6739 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/unit.xml @@ -0,0 +1,49 @@ + + + + en-JM-x-c7dddb5b + 6 + + + + + en-JM-x-db8b8a3d + öĖa􍣡™| + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + + ExternalReference + + + GlobalReference + urn:example:01:c23a7921 + + + + <ă<P󨱽²|dnœÞ® + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + RATIONAL_MEASURE + + + en-JM-x-b7bc1552 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 0 + 򤑌M𪠇𛔊򂄲 + + false + false + true + true + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/unitId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/unitId.xml new file mode 100644 index 0000000..a213d58 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/unitId.xml @@ -0,0 +1,33 @@ + + + + en-JM-x-c7dddb5b + 6 + + + + + en-JM-x-db8b8a3d + öĖa􍣡™| + + + [\h$񒺟ìÖċŠ1¿ + Unexpected string value + <ă<P󨱽²|dnœÞ® + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + RATIONAL_MEASURE + + + en-JM-x-b7bc1552 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 0 + 򤑌M𪠇𛔊򂄲 + + false + false + true + true + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/value.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/value.xml new file mode 100644 index 0000000..fa56ff8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/value.xml @@ -0,0 +1,49 @@ + + + + en-JM-x-c7dddb5b + 6 + + + + + en-JM-x-db8b8a3d + öĖa􍣡™| + + + [\h$񒺟ìÖċŠ1¿ + + ExternalReference + + + GlobalReference + urn:example:01:c23a7921 + + + + <ă<P󨱽²|dnœÞ® + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + RATIONAL_MEASURE + + + en-JM-x-b7bc1552 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 0 + + ExternalReference + + + GlobalReference + unexpected reference + + + + + false + false + true + true + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/valueFormat.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/valueFormat.xml new file mode 100644 index 0000000..d80fab6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/dataSpecificationIec61360/valueFormat.xml @@ -0,0 +1,49 @@ + + + + en-JM-x-c7dddb5b + 6 + + + + + en-JM-x-db8b8a3d + öĖa􍣡™| + + + [\h$񒺟ìÖċŠ1¿ + + ExternalReference + + + GlobalReference + urn:example:01:c23a7921 + + + + <ă<P󨱽²|dnœÞ® + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + RATIONAL_MEASURE + + + en-JM-x-b7bc1552 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + 򤑌M𪠇𛔊򂄲 + + false + false + true + true + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/embeddedDataSpecification/dataSpecification.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/embeddedDataSpecification/dataSpecification.xml new file mode 100644 index 0000000..841030e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/embeddedDataSpecification/dataSpecification.xml @@ -0,0 +1,17 @@ + + Unexpected string value + + + + + en-JM-x-719cdf87 + <ă<P󨱽²|dnœÞ® + + + en-JM-x-2ffc5cd0 + 𠤢4𠤢 + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/embeddedDataSpecification/dataSpecificationContent.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/embeddedDataSpecification/dataSpecificationContent.xml new file mode 100644 index 0000000..e1e9268 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/embeddedDataSpecification/dataSpecificationContent.xml @@ -0,0 +1,12 @@ + + + ExternalReference + + + GlobalReference + urn:some-company:10:9ac9d1a6 + + + + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/category.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/category.xml new file mode 100644 index 0000000..4c848b8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/category.xml @@ -0,0 +1,169 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/description.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/description.xml new file mode 100644 index 0000000..cecfb7f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/description.xml @@ -0,0 +1,152 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/displayName.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/displayName.xml new file mode 100644 index 0000000..492fcf1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/displayName.xml @@ -0,0 +1,152 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + Unexpected string value + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/embeddedDataSpecifications.xml new file mode 100644 index 0000000..6e86af0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/embeddedDataSpecifications.xml @@ -0,0 +1,106 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + Unexpected string value + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/entityType.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/entityType.xml new file mode 100644 index 0000000..c889899 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/entityType.xml @@ -0,0 +1,169 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/extensions.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/extensions.xml new file mode 100644 index 0000000..437172c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/extensions.xml @@ -0,0 +1,154 @@ + + Unexpected string value + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/globalAssetId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/globalAssetId.xml new file mode 100644 index 0000000..7632174 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/globalAssetId.xml @@ -0,0 +1,169 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/idShort.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/idShort.xml new file mode 100644 index 0000000..29ccf12 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/idShort.xml @@ -0,0 +1,169 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/qualifiers.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/qualifiers.xml new file mode 100644 index 0000000..9c4a717 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/qualifiers.xml @@ -0,0 +1,148 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Unexpected string value + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/semanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/semanticId.xml new file mode 100644 index 0000000..075df4f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/semanticId.xml @@ -0,0 +1,153 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + Unexpected string value + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/specificAssetIds.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/specificAssetIds.xml new file mode 100644 index 0000000..1d505cc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/specificAssetIds.xml @@ -0,0 +1,148 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/statements.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/statements.xml new file mode 100644 index 0000000..fed1ae7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/statements.xml @@ -0,0 +1,157 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + Unexpected string value + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/supplementalSemanticIds.xml new file mode 100644 index 0000000..13e7210 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/entity/supplementalSemanticIds.xml @@ -0,0 +1,133 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + Unexpected string value + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingc6aab7cd + + + CoManagedEntity + 0 + + + 𠤢4𠤢 + 𠤢4𠤢 + + + 0 + 0 + + + 6 + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/environment/assetAdministrationShells.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/environment/assetAdministrationShells.xml new file mode 100644 index 0000000..48e4ad3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/environment/assetAdministrationShells.xml @@ -0,0 +1,13 @@ + + Unexpected string value + + + 0 + + + + + 0 + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/environment/conceptDescriptions.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/environment/conceptDescriptions.xml new file mode 100644 index 0000000..3b69d15 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/environment/conceptDescriptions.xml @@ -0,0 +1,24 @@ + + + + J5 + + Type + J5 + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + Instance + 򤑌M𪠇𛔊򂄲 + + + + + + 0 + + + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/environment/submodels.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/environment/submodels.xml new file mode 100644 index 0000000..85ed2ac --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/environment/submodels.xml @@ -0,0 +1,24 @@ + + + + J5 + + Type + J5 + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + Instance + 򤑌M𪠇𛔊򂄲 + + + + Unexpected string value + + + 0 + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/observableReference.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/observableReference.xml new file mode 100644 index 0000000..2569ddd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/observableReference.xml @@ -0,0 +1,46 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ExternalReference + + + GlobalReference + urn:an-example:12:1ed44768 + + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:something:16:2204ae04 + + + + öĖa􍣡™| + + ExternalReference + + + GlobalReference + urn:yet-another-company:01:0e4f465d + + + + 2022-04-01T24:00:00-00:00 + /TsF2AbyQb1dIa0= + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/observableSemanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/observableSemanticId.xml new file mode 100644 index 0000000..3040e5c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/observableSemanticId.xml @@ -0,0 +1,46 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ExternalReference + + + GlobalReference + urn:an-example:12:1ed44768 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + Unexpected string value + öĖa􍣡™| + + ExternalReference + + + GlobalReference + urn:yet-another-company:01:0e4f465d + + + + 2022-04-01T24:00:00-00:00 + /TsF2AbyQb1dIa0= + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/payload.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/payload.xml new file mode 100644 index 0000000..bf0dc88 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/payload.xml @@ -0,0 +1,62 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ExternalReference + + + GlobalReference + urn:an-example:12:1ed44768 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + + ExternalReference + + + GlobalReference + urn:something:16:2204ae04 + + + + öĖa􍣡™| + + ExternalReference + + + GlobalReference + urn:yet-another-company:01:0e4f465d + + + + 2022-04-01T24:00:00-00:00 + + ExternalReference + + + GlobalReference + unexpected reference + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/source.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/source.xml new file mode 100644 index 0000000..194bdf1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/source.xml @@ -0,0 +1,42 @@ + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:an-example:12:1ed44768 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + + ExternalReference + + + GlobalReference + urn:something:16:2204ae04 + + + + öĖa􍣡™| + + ExternalReference + + + GlobalReference + urn:yet-another-company:01:0e4f465d + + + + 2022-04-01T24:00:00-00:00 + /TsF2AbyQb1dIa0= + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/sourceSemanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/sourceSemanticId.xml new file mode 100644 index 0000000..a3604d3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/sourceSemanticId.xml @@ -0,0 +1,46 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + Unexpected string value + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + + ExternalReference + + + GlobalReference + urn:something:16:2204ae04 + + + + öĖa􍣡™| + + ExternalReference + + + GlobalReference + urn:yet-another-company:01:0e4f465d + + + + 2022-04-01T24:00:00-00:00 + /TsF2AbyQb1dIa0= + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/subjectId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/subjectId.xml new file mode 100644 index 0000000..8295426 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/subjectId.xml @@ -0,0 +1,46 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ExternalReference + + + GlobalReference + urn:an-example:12:1ed44768 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + + ExternalReference + + + GlobalReference + urn:something:16:2204ae04 + + + + öĖa􍣡™| + Unexpected string value + 2022-04-01T24:00:00-00:00 + /TsF2AbyQb1dIa0= + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/timeStamp.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/timeStamp.xml new file mode 100644 index 0000000..5a320d4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/timeStamp.xml @@ -0,0 +1,62 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ExternalReference + + + GlobalReference + urn:an-example:12:1ed44768 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + + ExternalReference + + + GlobalReference + urn:something:16:2204ae04 + + + + öĖa􍣡™| + + ExternalReference + + + GlobalReference + urn:yet-another-company:01:0e4f465d + + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + /TsF2AbyQb1dIa0= + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/topic.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/topic.xml new file mode 100644 index 0000000..6c804ae --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/eventPayload/topic.xml @@ -0,0 +1,62 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ExternalReference + + + GlobalReference + urn:an-example:12:1ed44768 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + + ExternalReference + + + GlobalReference + urn:something:16:2204ae04 + + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:01:0e4f465d + + + + 2022-04-01T24:00:00-00:00 + /TsF2AbyQb1dIa0= + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/name.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/name.xml new file mode 100644 index 0000000..1126621 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/name.xml @@ -0,0 +1,71 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + xs:gDay + ---01 + + + ExternalReference + + + GlobalReference + urn:an-example:18:1d00b242 + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:00:b45040ec + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/refersTo.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/refersTo.xml new file mode 100644 index 0000000..ddb6b1c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/refersTo.xml @@ -0,0 +1,44 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---01 + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/semanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/semanticId.xml new file mode 100644 index 0000000..96bcbf5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/semanticId.xml @@ -0,0 +1,55 @@ + + Unexpected string value + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---01 + + + ExternalReference + + + GlobalReference + urn:an-example:18:1d00b242 + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:00:b45040ec + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/supplementalSemanticIds.xml new file mode 100644 index 0000000..4b835dd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/supplementalSemanticIds.xml @@ -0,0 +1,35 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + Unexpected string value + Ûă<P󨱽²|dnœÞ® + xs:gDay + ---01 + + + ExternalReference + + + GlobalReference + urn:an-example:18:1d00b242 + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:00:b45040ec + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/value.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/value.xml new file mode 100644 index 0000000..660632e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/value.xml @@ -0,0 +1,71 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Ûă<P󨱽²|dnœÞ® + xs:gDay + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + ExternalReference + + + GlobalReference + urn:an-example:18:1d00b242 + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:00:b45040ec + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/valueType.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/valueType.xml new file mode 100644 index 0000000..1b6c2ce --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/extension/valueType.xml @@ -0,0 +1,71 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Ûă<P󨱽²|dnœÞ® + + ExternalReference + + + GlobalReference + unexpected reference + + + + ---01 + + + ExternalReference + + + GlobalReference + urn:an-example:18:1d00b242 + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:00:b45040ec + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/category.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/category.xml new file mode 100644 index 0000000..38ec77b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/category.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/contentType.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/contentType.xml new file mode 100644 index 0000000..81f0931 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/contentType.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + + ExternalReference + + + GlobalReference + unexpected reference + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/description.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/description.xml new file mode 100644 index 0000000..55caea9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/description.xml @@ -0,0 +1,133 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/displayName.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/displayName.xml new file mode 100644 index 0000000..0302dc0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/displayName.xml @@ -0,0 +1,133 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + Unexpected string value + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/embeddedDataSpecifications.xml new file mode 100644 index 0000000..01b8176 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/embeddedDataSpecifications.xml @@ -0,0 +1,87 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + Unexpected string value + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/extensions.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/extensions.xml new file mode 100644 index 0000000..8d7d102 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/extensions.xml @@ -0,0 +1,135 @@ + + Unexpected string value + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/idShort.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/idShort.xml new file mode 100644 index 0000000..32b9733 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/idShort.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/qualifiers.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/qualifiers.xml new file mode 100644 index 0000000..1b803f2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/qualifiers.xml @@ -0,0 +1,129 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Unexpected string value + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/semanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/semanticId.xml new file mode 100644 index 0000000..f2fe50a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/semanticId.xml @@ -0,0 +1,134 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + Unexpected string value + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/supplementalSemanticIds.xml new file mode 100644 index 0000000..df9a4a4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/supplementalSemanticIds.xml @@ -0,0 +1,114 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + Unexpected string value + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + //bVfwa.f./%DC%60O@=;;%63;6%9b;l%E8Ib@$e::9%c0;w%0F;P%bD!v,$;@$;,=$%454-:R%2C%5E%4b2B=%eB%Da%0E%C4p%5c&;%de@%82%fB;v%bbw5q=%57%EE%1c;%e0%2A%af%1c0%eDm%5c%D2&;k*%12%5B;%A0&,:&$;:&%33;+,;%6c5;l%1D%35+%4a&%Fe+lk,+;C,~W=+=%3bn;;-p%3f%66R+%53;o%Bd$BIW%0d%Be%0E+l=I(k%Ac:,R%e6%9E%21%7f%54;;N%F3X@%8f%03%AE(=%9b:/;%F20;0L%27%4F;;%b0:9;%D5%31%1C;21u@%CE%fAE@$=#T%7D + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/value.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/value.xml new file mode 100644 index 0000000..ad8f907 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/file/value.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/key/type.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/key/type.xml new file mode 100644 index 0000000..799e768 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/key/type.xml @@ -0,0 +1,12 @@ + + + ExternalReference + + + GlobalReference + unexpected reference + + + + 򤑌M𪠇𛔊򂄲 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/key/value.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/key/value.xml new file mode 100644 index 0000000..8ee4a79 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/key/value.xml @@ -0,0 +1,12 @@ + + EventElement + + ExternalReference + + + GlobalReference + unexpected reference + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringDefinitionTypeIec61360/language.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringDefinitionTypeIec61360/language.xml new file mode 100644 index 0000000..5284502 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringDefinitionTypeIec61360/language.xml @@ -0,0 +1,12 @@ + + + ExternalReference + + + GlobalReference + unexpected reference + + + + J5 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringDefinitionTypeIec61360/text.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringDefinitionTypeIec61360/text.xml new file mode 100644 index 0000000..9913509 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringDefinitionTypeIec61360/text.xml @@ -0,0 +1,12 @@ + + en-JM-x-8fafefb1 + + ExternalReference + + + GlobalReference + unexpected reference + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringNameType/language.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringNameType/language.xml new file mode 100644 index 0000000..f186be5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringNameType/language.xml @@ -0,0 +1,12 @@ + + + ExternalReference + + + GlobalReference + unexpected reference + + + + J5 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringNameType/text.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringNameType/text.xml new file mode 100644 index 0000000..8213d09 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringNameType/text.xml @@ -0,0 +1,12 @@ + + en-JM-x-8fafefb1 + + ExternalReference + + + GlobalReference + unexpected reference + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringPreferredNameTypeIec61360/language.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringPreferredNameTypeIec61360/language.xml new file mode 100644 index 0000000..e81d060 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringPreferredNameTypeIec61360/language.xml @@ -0,0 +1,12 @@ + + + ExternalReference + + + GlobalReference + unexpected reference + + + + J5 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringPreferredNameTypeIec61360/text.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringPreferredNameTypeIec61360/text.xml new file mode 100644 index 0000000..9c3bd77 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringPreferredNameTypeIec61360/text.xml @@ -0,0 +1,12 @@ + + en-JM-x-8fafefb1 + + ExternalReference + + + GlobalReference + unexpected reference + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringShortNameTypeIec61360/language.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringShortNameTypeIec61360/language.xml new file mode 100644 index 0000000..8c71ba3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringShortNameTypeIec61360/language.xml @@ -0,0 +1,12 @@ + + + ExternalReference + + + GlobalReference + unexpected reference + + + + J5 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringShortNameTypeIec61360/text.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringShortNameTypeIec61360/text.xml new file mode 100644 index 0000000..1e14d86 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringShortNameTypeIec61360/text.xml @@ -0,0 +1,12 @@ + + en-JM-x-8fafefb1 + + ExternalReference + + + GlobalReference + unexpected reference + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringTextType/language.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringTextType/language.xml new file mode 100644 index 0000000..a683601 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringTextType/language.xml @@ -0,0 +1,12 @@ + + + ExternalReference + + + GlobalReference + unexpected reference + + + + J5 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringTextType/text.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringTextType/text.xml new file mode 100644 index 0000000..fa77fd9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/langStringTextType/text.xml @@ -0,0 +1,12 @@ + + en-JM-x-8fafefb1 + + ExternalReference + + + GlobalReference + unexpected reference + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/levelType/max.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/levelType/max.xml new file mode 100644 index 0000000..b5f6174 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/levelType/max.xml @@ -0,0 +1,14 @@ + + false + true + true + + ExternalReference + + + GlobalReference + unexpected reference + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/levelType/min.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/levelType/min.xml new file mode 100644 index 0000000..6bc54a1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/levelType/min.xml @@ -0,0 +1,14 @@ + + + ExternalReference + + + GlobalReference + unexpected reference + + + + true + true + true + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/levelType/nom.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/levelType/nom.xml new file mode 100644 index 0000000..db6934c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/levelType/nom.xml @@ -0,0 +1,14 @@ + + false + + ExternalReference + + + GlobalReference + unexpected reference + + + + true + true + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/levelType/typ.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/levelType/typ.xml new file mode 100644 index 0000000..bb0e32c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/levelType/typ.xml @@ -0,0 +1,14 @@ + + false + true + + ExternalReference + + + GlobalReference + unexpected reference + + + + true + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/category.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/category.xml new file mode 100644 index 0000000..2d16e4e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/category.xml @@ -0,0 +1,167 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/description.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/description.xml new file mode 100644 index 0000000..1ce9392 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/description.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/displayName.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/displayName.xml new file mode 100644 index 0000000..fda7e7f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/displayName.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + Unexpected string value + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/embeddedDataSpecifications.xml new file mode 100644 index 0000000..a706b52 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/embeddedDataSpecifications.xml @@ -0,0 +1,104 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + Unexpected string value + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/extensions.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/extensions.xml new file mode 100644 index 0000000..d639070 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/extensions.xml @@ -0,0 +1,152 @@ + + Unexpected string value + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/idShort.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/idShort.xml new file mode 100644 index 0000000..88151ad --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/idShort.xml @@ -0,0 +1,167 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/qualifiers.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/qualifiers.xml new file mode 100644 index 0000000..7218946 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/qualifiers.xml @@ -0,0 +1,146 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Unexpected string value + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/semanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/semanticId.xml new file mode 100644 index 0000000..9ea074d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/semanticId.xml @@ -0,0 +1,151 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + Unexpected string value + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/supplementalSemanticIds.xml new file mode 100644 index 0000000..4429c69 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/supplementalSemanticIds.xml @@ -0,0 +1,131 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + Unexpected string value + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/value.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/value.xml new file mode 100644 index 0000000..8d52b0f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/value.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/valueId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/valueId.xml new file mode 100644 index 0000000..47050b9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/multiLanguageProperty/valueId.xml @@ -0,0 +1,151 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + en-JM-x-2daaf0fe + J5 + + + en-JM-x-bef971b8 + <ă<P󨱽²|dnœÞ® + + + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/category.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/category.xml new file mode 100644 index 0000000..990bf7e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/category.xml @@ -0,0 +1,197 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/description.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/description.xml new file mode 100644 index 0000000..cca4929 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/description.xml @@ -0,0 +1,180 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/displayName.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/displayName.xml new file mode 100644 index 0000000..340205f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/displayName.xml @@ -0,0 +1,180 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + Unexpected string value + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/embeddedDataSpecifications.xml new file mode 100644 index 0000000..421537e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/embeddedDataSpecifications.xml @@ -0,0 +1,134 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + Unexpected string value + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/extensions.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/extensions.xml new file mode 100644 index 0000000..d6bb6a3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/extensions.xml @@ -0,0 +1,182 @@ + + Unexpected string value + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/idShort.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/idShort.xml new file mode 100644 index 0000000..52b3707 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/idShort.xml @@ -0,0 +1,197 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/inoutputVariables.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/inoutputVariables.xml new file mode 100644 index 0000000..51cc8ca --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/inoutputVariables.xml @@ -0,0 +1,166 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/inputVariables.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/inputVariables.xml new file mode 100644 index 0000000..d2645b0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/inputVariables.xml @@ -0,0 +1,181 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + Unexpected string value + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/outputVariables.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/outputVariables.xml new file mode 100644 index 0000000..c452e5f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/outputVariables.xml @@ -0,0 +1,174 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + Unexpected string value + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/qualifiers.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/qualifiers.xml new file mode 100644 index 0000000..ee36320 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/qualifiers.xml @@ -0,0 +1,176 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Unexpected string value + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/semanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/semanticId.xml new file mode 100644 index 0000000..f82e07b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/semanticId.xml @@ -0,0 +1,181 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + Unexpected string value + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/supplementalSemanticIds.xml new file mode 100644 index 0000000..8f25888 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operation/supplementalSemanticIds.xml @@ -0,0 +1,161 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + Unexpected string value + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + + + something0ce83fc0 + + + + + + + + + something7b7837d1 + + + + + + + somethingf21eb6bb + + + + + + + + + something732046d1 + SubmodelElementCollection + + + + + + + something68b52b82 + + + + + + + something0a93cb4d + + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operationVariable/value.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operationVariable/value.xml new file mode 100644 index 0000000..1a24702 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/operationVariable/value.xml @@ -0,0 +1,3 @@ + + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/category.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/category.xml new file mode 100644 index 0000000..5439b41 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/category.xml @@ -0,0 +1,159 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/description.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/description.xml new file mode 100644 index 0000000..058866d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/description.xml @@ -0,0 +1,142 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/displayName.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/displayName.xml new file mode 100644 index 0000000..44d1d1c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/displayName.xml @@ -0,0 +1,142 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + Unexpected string value + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/embeddedDataSpecifications.xml new file mode 100644 index 0000000..e642fc6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/embeddedDataSpecifications.xml @@ -0,0 +1,96 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + Unexpected string value + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/extensions.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/extensions.xml new file mode 100644 index 0000000..6f265b2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/extensions.xml @@ -0,0 +1,144 @@ + + Unexpected string value + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/idShort.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/idShort.xml new file mode 100644 index 0000000..a410c61 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/idShort.xml @@ -0,0 +1,159 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/qualifiers.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/qualifiers.xml new file mode 100644 index 0000000..91bf83e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/qualifiers.xml @@ -0,0 +1,138 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Unexpected string value + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/semanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/semanticId.xml new file mode 100644 index 0000000..d7528ac --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/semanticId.xml @@ -0,0 +1,143 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + Unexpected string value + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/supplementalSemanticIds.xml new file mode 100644 index 0000000..e0fa261 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/supplementalSemanticIds.xml @@ -0,0 +1,123 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + Unexpected string value + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/value.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/value.xml new file mode 100644 index 0000000..99216cc --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/value.xml @@ -0,0 +1,159 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + + ExternalReference + + + GlobalReference + unexpected reference + + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/valueId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/valueId.xml new file mode 100644 index 0000000..2c05122 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/valueId.xml @@ -0,0 +1,143 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01 + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/valueType.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/valueType.xml new file mode 100644 index 0000000..4f8d535 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/property/valueType.xml @@ -0,0 +1,159 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/kind.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/kind.xml new file mode 100644 index 0000000..28c1e7b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/kind.xml @@ -0,0 +1,61 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + 6 + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/semanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/semanticId.xml new file mode 100644 index 0000000..8d53b33 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/semanticId.xml @@ -0,0 +1,45 @@ + + Unexpected string value + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + ValueQualifier + 6 + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/supplementalSemanticIds.xml new file mode 100644 index 0000000..11c3a31 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/supplementalSemanticIds.xml @@ -0,0 +1,25 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + Unexpected string value + ValueQualifier + 6 + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/type.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/type.xml new file mode 100644 index 0000000..db25927 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/type.xml @@ -0,0 +1,61 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + ValueQualifier + + ExternalReference + + + GlobalReference + unexpected reference + + + + xs:gDay + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/value.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/value.xml new file mode 100644 index 0000000..c0fb83f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/value.xml @@ -0,0 +1,61 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + ValueQualifier + 6 + xs:gDay + + ExternalReference + + + GlobalReference + unexpected reference + + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/valueId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/valueId.xml new file mode 100644 index 0000000..17e02fe --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/valueId.xml @@ -0,0 +1,45 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + ValueQualifier + 6 + xs:gDay + ---01 + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/valueType.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/valueType.xml new file mode 100644 index 0000000..294386b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/qualifier/valueType.xml @@ -0,0 +1,61 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + ValueQualifier + 6 + + ExternalReference + + + GlobalReference + unexpected reference + + + + ---01 + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/category.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/category.xml new file mode 100644 index 0000000..8a975d8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/category.xml @@ -0,0 +1,151 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/description.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/description.xml new file mode 100644 index 0000000..d1725c2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/description.xml @@ -0,0 +1,134 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/displayName.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/displayName.xml new file mode 100644 index 0000000..a4cfa5c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/displayName.xml @@ -0,0 +1,134 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + Unexpected string value + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/embeddedDataSpecifications.xml new file mode 100644 index 0000000..eea3384 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/embeddedDataSpecifications.xml @@ -0,0 +1,88 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + Unexpected string value + xs:gDay + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/extensions.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/extensions.xml new file mode 100644 index 0000000..4c4cfe4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/extensions.xml @@ -0,0 +1,136 @@ + + Unexpected string value + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/idShort.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/idShort.xml new file mode 100644 index 0000000..96b5142 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/idShort.xml @@ -0,0 +1,151 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/max.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/max.xml new file mode 100644 index 0000000..3b72ead --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/max.xml @@ -0,0 +1,151 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01+02:00 + + ExternalReference + + + GlobalReference + unexpected reference + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/min.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/min.xml new file mode 100644 index 0000000..a1653c5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/min.xml @@ -0,0 +1,151 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + + ExternalReference + + + GlobalReference + unexpected reference + + + + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/qualifiers.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/qualifiers.xml new file mode 100644 index 0000000..ca7293d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/qualifiers.xml @@ -0,0 +1,130 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Unexpected string value + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/semanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/semanticId.xml new file mode 100644 index 0000000..b0c4172 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/semanticId.xml @@ -0,0 +1,135 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + Unexpected string value + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/supplementalSemanticIds.xml new file mode 100644 index 0000000..96fee2c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/supplementalSemanticIds.xml @@ -0,0 +1,115 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + Unexpected string value + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + xs:gDay + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/valueType.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/valueType.xml new file mode 100644 index 0000000..a9297a7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/range/valueType.xml @@ -0,0 +1,151 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + ---01+02:00 + ---15 + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/reference/keys.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/reference/keys.xml new file mode 100644 index 0000000..d5b759f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/reference/keys.xml @@ -0,0 +1,13 @@ + + ExternalReference + + ExternalReference + + + GlobalReference + urn:another-example:00:3fff168c + + + + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/reference/referredSemanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/reference/referredSemanticId.xml new file mode 100644 index 0000000..65ef34f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/reference/referredSemanticId.xml @@ -0,0 +1,10 @@ + + ExternalReference + Unexpected string value + + + GlobalReference + urn:example:10:6914e6d2 + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/reference/type.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/reference/type.xml new file mode 100644 index 0000000..05c4439 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/reference/type.xml @@ -0,0 +1,26 @@ + + + ExternalReference + + + GlobalReference + unexpected reference + + + + + ExternalReference + + + GlobalReference + urn:another-example:00:3fff168c + + + + + + GlobalReference + urn:example:10:6914e6d2 + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/category.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/category.xml new file mode 100644 index 0000000..98ed35e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/category.xml @@ -0,0 +1,157 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:03:cb2f6043 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/description.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/description.xml new file mode 100644 index 0000000..51027c7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/description.xml @@ -0,0 +1,140 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:03:cb2f6043 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/displayName.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/displayName.xml new file mode 100644 index 0000000..cd1bfb6 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/displayName.xml @@ -0,0 +1,140 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + Unexpected string value + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:03:cb2f6043 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/embeddedDataSpecifications.xml new file mode 100644 index 0000000..6eef0f7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/embeddedDataSpecifications.xml @@ -0,0 +1,94 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:yet-another-company:03:cb2f6043 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/extensions.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/extensions.xml new file mode 100644 index 0000000..4f38d0f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/extensions.xml @@ -0,0 +1,142 @@ + + Unexpected string value + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:03:cb2f6043 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/idShort.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/idShort.xml new file mode 100644 index 0000000..dfa19c0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/idShort.xml @@ -0,0 +1,157 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:03:cb2f6043 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/qualifiers.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/qualifiers.xml new file mode 100644 index 0000000..cfb1ce5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/qualifiers.xml @@ -0,0 +1,136 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Unexpected string value + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:03:cb2f6043 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/semanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/semanticId.xml new file mode 100644 index 0000000..bc645cf --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/semanticId.xml @@ -0,0 +1,141 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + Unexpected string value + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:03:cb2f6043 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/supplementalSemanticIds.xml new file mode 100644 index 0000000..80a13fb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/supplementalSemanticIds.xml @@ -0,0 +1,121 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + Unexpected string value + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:03:cb2f6043 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/value.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/value.xml new file mode 100644 index 0000000..bc5f974 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/referenceElement/value.xml @@ -0,0 +1,141 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/category.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/category.xml new file mode 100644 index 0000000..e84474d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/category.xml @@ -0,0 +1,166 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/description.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/description.xml new file mode 100644 index 0000000..0b7e2e8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/description.xml @@ -0,0 +1,149 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/displayName.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/displayName.xml new file mode 100644 index 0000000..d30421c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/displayName.xml @@ -0,0 +1,149 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + Unexpected string value + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/embeddedDataSpecifications.xml new file mode 100644 index 0000000..ae74bdb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/embeddedDataSpecifications.xml @@ -0,0 +1,103 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/extensions.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/extensions.xml new file mode 100644 index 0000000..4fa4878 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/extensions.xml @@ -0,0 +1,151 @@ + + Unexpected string value + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/first.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/first.xml new file mode 100644 index 0000000..f4bc3ac --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/first.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/idShort.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/idShort.xml new file mode 100644 index 0000000..93c358f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/idShort.xml @@ -0,0 +1,166 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/qualifiers.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/qualifiers.xml new file mode 100644 index 0000000..de0ab0b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/qualifiers.xml @@ -0,0 +1,145 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Unexpected string value + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/second.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/second.xml new file mode 100644 index 0000000..6d380f9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/second.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/semanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/semanticId.xml new file mode 100644 index 0000000..1989677 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/semanticId.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + Unexpected string value + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/supplementalSemanticIds.xml new file mode 100644 index 0000000..6261172 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/relationshipElement/supplementalSemanticIds.xml @@ -0,0 +1,130 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + Unexpected string value + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:07:f74c3f33 + + + + + ExternalReference + + + GlobalReference + urn:example:00:9301d0e0 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/resource/contentType.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/resource/contentType.xml new file mode 100644 index 0000000..705918c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/resource/contentType.xml @@ -0,0 +1,12 @@ + + #; + + ExternalReference + + + GlobalReference + unexpected reference + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/resource/path.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/resource/path.xml new file mode 100644 index 0000000..cc08faa --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/resource/path.xml @@ -0,0 +1,12 @@ + + + ExternalReference + + + GlobalReference + unexpected reference + + + + 15j/5j + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/specificAssetId/externalSubjectId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/specificAssetId/externalSubjectId.xml new file mode 100644 index 0000000..749df11 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/specificAssetId/externalSubjectId.xml @@ -0,0 +1,43 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Ûă<P󨱽²|dnœÞ® + 򤑌M𪠇𛔊򂄲 + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/specificAssetId/name.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/specificAssetId/name.xml new file mode 100644 index 0000000..48abe06 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/specificAssetId/name.xml @@ -0,0 +1,59 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + 򤑌M𪠇𛔊򂄲 + + ExternalReference + + + GlobalReference + urn:an-example:01:3a080c99 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/specificAssetId/semanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/specificAssetId/semanticId.xml new file mode 100644 index 0000000..88fbdda --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/specificAssetId/semanticId.xml @@ -0,0 +1,43 @@ + + Unexpected string value + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Ûă<P󨱽²|dnœÞ® + 򤑌M𪠇𛔊򂄲 + + ExternalReference + + + GlobalReference + urn:an-example:01:3a080c99 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/specificAssetId/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/specificAssetId/supplementalSemanticIds.xml new file mode 100644 index 0000000..a50cd0b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/specificAssetId/supplementalSemanticIds.xml @@ -0,0 +1,23 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + Unexpected string value + Ûă<P󨱽²|dnœÞ® + 򤑌M𪠇𛔊򂄲 + + ExternalReference + + + GlobalReference + urn:an-example:01:3a080c99 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/specificAssetId/value.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/specificAssetId/value.xml new file mode 100644 index 0000000..e3fb26b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/specificAssetId/value.xml @@ -0,0 +1,59 @@ + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Ûă<P󨱽²|dnœÞ® + + ExternalReference + + + GlobalReference + unexpected reference + + + + + ExternalReference + + + GlobalReference + urn:an-example:01:3a080c99 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/administration.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/administration.xml new file mode 100644 index 0000000..d7d73c7 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/administration.xml @@ -0,0 +1,152 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + Unexpected string value + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/category.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/category.xml new file mode 100644 index 0000000..b97e621 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/category.xml @@ -0,0 +1,160 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/description.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/description.xml new file mode 100644 index 0000000..559a7ba --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/description.xml @@ -0,0 +1,143 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + Unexpected string value + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/displayName.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/displayName.xml new file mode 100644 index 0000000..ca31e86 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/displayName.xml @@ -0,0 +1,143 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + Unexpected string value + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/embeddedDataSpecifications.xml new file mode 100644 index 0000000..9689de0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/embeddedDataSpecifications.xml @@ -0,0 +1,97 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + Unexpected string value + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/extensions.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/extensions.xml new file mode 100644 index 0000000..21cc35c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/extensions.xml @@ -0,0 +1,145 @@ + + Unexpected string value + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/id.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/id.xml new file mode 100644 index 0000000..c27b042 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/id.xml @@ -0,0 +1,160 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/idShort.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/idShort.xml new file mode 100644 index 0000000..bb98eeb --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/idShort.xml @@ -0,0 +1,160 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/kind.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/kind.xml new file mode 100644 index 0000000..14e77ff --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/kind.xml @@ -0,0 +1,160 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + + ExternalReference + + + GlobalReference + unexpected reference + + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/qualifiers.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/qualifiers.xml new file mode 100644 index 0000000..4b4d0a1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/qualifiers.xml @@ -0,0 +1,139 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Unexpected string value + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/semanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/semanticId.xml new file mode 100644 index 0000000..ca5dbee --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/semanticId.xml @@ -0,0 +1,144 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Instance + Unexpected string value + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/submodelElements.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/submodelElements.xml new file mode 100644 index 0000000..1d32283 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/submodelElements.xml @@ -0,0 +1,144 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/supplementalSemanticIds.xml new file mode 100644 index 0000000..35fd5d3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodel/supplementalSemanticIds.xml @@ -0,0 +1,124 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + 0 + Instance + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + Unexpected string value + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + somethingb873bd6b + xs:long + + + something8fecda82 + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/category.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/category.xml new file mode 100644 index 0000000..e67bd93 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/category.xml @@ -0,0 +1,171 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + something11e03ee7 + + + somethinge32e9b9a + + ModelReference + + + Submodel + urn:another-example:14:b7e1a1d2 + + + Property + somethinga1b38be3 + + + + output + off + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/description.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/description.xml new file mode 100644 index 0000000..9fef04b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/description.xml @@ -0,0 +1,154 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + something11e03ee7 + + + somethinge32e9b9a + + ModelReference + + + Submodel + urn:another-example:14:b7e1a1d2 + + + Property + somethinga1b38be3 + + + + output + off + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/displayName.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/displayName.xml new file mode 100644 index 0000000..b0c138d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/displayName.xml @@ -0,0 +1,154 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + Unexpected string value + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + something11e03ee7 + + + somethinge32e9b9a + + ModelReference + + + Submodel + urn:another-example:14:b7e1a1d2 + + + Property + somethinga1b38be3 + + + + output + off + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/embeddedDataSpecifications.xml new file mode 100644 index 0000000..23b2c4f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/embeddedDataSpecifications.xml @@ -0,0 +1,108 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + Unexpected string value + + + something11e03ee7 + + + somethinge32e9b9a + + ModelReference + + + Submodel + urn:another-example:14:b7e1a1d2 + + + Property + somethinga1b38be3 + + + + output + off + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/extensions.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/extensions.xml new file mode 100644 index 0000000..947d62e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/extensions.xml @@ -0,0 +1,156 @@ + + Unexpected string value + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + something11e03ee7 + + + somethinge32e9b9a + + ModelReference + + + Submodel + urn:another-example:14:b7e1a1d2 + + + Property + somethinga1b38be3 + + + + output + off + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/idShort.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/idShort.xml new file mode 100644 index 0000000..3f7aa82 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/idShort.xml @@ -0,0 +1,171 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + something11e03ee7 + + + somethinge32e9b9a + + ModelReference + + + Submodel + urn:another-example:14:b7e1a1d2 + + + Property + somethinga1b38be3 + + + + output + off + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/qualifiers.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/qualifiers.xml new file mode 100644 index 0000000..b3fc218 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/qualifiers.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Unexpected string value + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + something11e03ee7 + + + somethinge32e9b9a + + ModelReference + + + Submodel + urn:another-example:14:b7e1a1d2 + + + Property + somethinga1b38be3 + + + + output + off + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/semanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/semanticId.xml new file mode 100644 index 0000000..548a69c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/semanticId.xml @@ -0,0 +1,155 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + Unexpected string value + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + something11e03ee7 + + + somethinge32e9b9a + + ModelReference + + + Submodel + urn:another-example:14:b7e1a1d2 + + + Property + somethinga1b38be3 + + + + output + off + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/supplementalSemanticIds.xml new file mode 100644 index 0000000..55205d0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/supplementalSemanticIds.xml @@ -0,0 +1,135 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + Unexpected string value + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + + something11e03ee7 + + + somethinge32e9b9a + + ModelReference + + + Submodel + urn:another-example:14:b7e1a1d2 + + + Property + somethinga1b38be3 + + + + output + off + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/value.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/value.xml new file mode 100644 index 0000000..00240b5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementCollection/value.xml @@ -0,0 +1,141 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + a-_ + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/category.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/category.xml new file mode 100644 index 0000000..615e2a2 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/category.xml @@ -0,0 +1,186 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/description.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/description.xml new file mode 100644 index 0000000..36ed07d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/description.xml @@ -0,0 +1,169 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + Unexpected string value + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/displayName.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/displayName.xml new file mode 100644 index 0000000..db23aaa --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/displayName.xml @@ -0,0 +1,169 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList + Unexpected string value + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/embeddedDataSpecifications.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/embeddedDataSpecifications.xml new file mode 100644 index 0000000..a2d66ae --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/embeddedDataSpecifications.xml @@ -0,0 +1,123 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + Unexpected string value + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/extensions.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/extensions.xml new file mode 100644 index 0000000..9eb68c5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/extensions.xml @@ -0,0 +1,171 @@ + + Unexpected string value + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/idShort.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/idShort.xml new file mode 100644 index 0000000..2c154d5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/idShort.xml @@ -0,0 +1,186 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/orderRelevant.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/orderRelevant.xml new file mode 100644 index 0000000..7a5d108 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/orderRelevant.xml @@ -0,0 +1,186 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/qualifiers.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/qualifiers.xml new file mode 100644 index 0000000..ff6d956 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/qualifiers.xml @@ -0,0 +1,165 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + Unexpected string value + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/semanticId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/semanticId.xml new file mode 100644 index 0000000..1ad87a4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/semanticId.xml @@ -0,0 +1,170 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + Unexpected string value + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/semanticIdListElement.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/semanticIdListElement.xml new file mode 100644 index 0000000..33c39c0 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/semanticIdListElement.xml @@ -0,0 +1,170 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + Unexpected string value + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/supplementalSemanticIds.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/supplementalSemanticIds.xml new file mode 100644 index 0000000..62fcc52 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/supplementalSemanticIds.xml @@ -0,0 +1,150 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + Unexpected string value + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/typeValueListElement.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/typeValueListElement.xml new file mode 100644 index 0000000..41336e9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/typeValueListElement.xml @@ -0,0 +1,186 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + + ExternalReference + + + GlobalReference + unexpected reference + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/value.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/value.xml new file mode 100644 index 0000000..e4dab50 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/value.xml @@ -0,0 +1,153 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + xs:boolean + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/valueTypeListElement.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/valueTypeListElement.xml new file mode 100644 index 0000000..595689e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/submodelElementList/valueTypeListElement.xml @@ -0,0 +1,186 @@ + + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + + + 6 + + + 11ÕÑ𐻨´K􂬭e<󡗞¨ngA + someList + + + en-JM-x-99426152 + [\h$񒺟ìÖċŠ1¿ + + + en-JM-x-431996fc + <ă<P󨱽²|dnœÞ® + + + + + en-JM-x-7ca6ed73 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-588ccbcc + 𠤢4𠤢 + + + + ExternalReference + + + GlobalReference + urn:another-company:14:e9fb9bbe + + + + + + ExternalReference + + + GlobalReference + urn:another-example:14:967c1fae + + + + + ExternalReference + + + GlobalReference + urn:another-company:10:c92b4b06 + + + + + ExternalReference + + + GlobalReference + urn:another-example:06:1f165292 + + + + + + + something_22f3ec3a + xs:integer + + + something_1ad7ac81 + xs:double + + + something_c7954a19 + xs:long + + + + + + ExternalReference + + + GlobalReference + urn:another-company:03:97fadb7b + + + + + + + + en-JM-x-87ce29ed + J5 + + + en-JM-x-7c40ee17 + Ûă<P󨱽²|dnœÞ® + + + en-JM-x-f49c2ad1 + [\h$񒺟ìÖċŠ1¿ + + + + + + + + ExternalReference + + + GlobalReference + urn:an-example:10:3fc193a2 + + + + + + + + en-JM-x-e705ce52 + 0 + + + en-JM-x-27e497c3 + [\h$񒺟ìÖċŠ1¿ + + + + + + + false + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + Property + + ExternalReference + + + GlobalReference + unexpected reference + + + + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + + ExternalReference + + + GlobalReference + urn:yet-another-company:10:245e0e92 + + + + xs:boolean + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/valueList/valueReferencePairs.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/valueList/valueReferencePairs.xml new file mode 100644 index 0000000..fae434e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/valueList/valueReferencePairs.xml @@ -0,0 +1,3 @@ + + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/valueReferencePair/value.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/valueReferencePair/value.xml new file mode 100644 index 0000000..5f6daba --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/valueReferencePair/value.xml @@ -0,0 +1,20 @@ + + + ExternalReference + + + GlobalReference + unexpected reference + + + + + ExternalReference + + + GlobalReference + urn:something:02:6f744b32 + + + + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/valueReferencePair/valueId.xml b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/valueReferencePair/valueId.xml new file mode 100644 index 0000000..42f12c9 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/TypeViolation/valueReferencePair/valueId.xml @@ -0,0 +1,4 @@ + + 򤑌M𪠇𛔊򂄲 + Unexpected string value + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/administrativeInformation/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/administrativeInformation/instance.xml new file mode 100644 index 0000000..95cb566 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/administrativeInformation/instance.xml @@ -0,0 +1,3 @@ + + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/annotatedRelationshipElement/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/annotatedRelationshipElement/instance.xml new file mode 100644 index 0000000..5a22f96 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/annotatedRelationshipElement/instance.xml @@ -0,0 +1,3 @@ + + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/assetAdministrationShell/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/assetAdministrationShell/instance.xml new file mode 100644 index 0000000..cf4036f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/assetAdministrationShell/instance.xml @@ -0,0 +1,8 @@ + + 0 + + Batch + 6 + + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/assetInformation/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/assetInformation/instance.xml new file mode 100644 index 0000000..fdd6ce8 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/assetInformation/instance.xml @@ -0,0 +1,5 @@ + + Batch + 0 + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/basicEventElement/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/basicEventElement/instance.xml new file mode 100644 index 0000000..725c323 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/basicEventElement/instance.xml @@ -0,0 +1,18 @@ + + + ModelReference + + + Submodel + urn:yet-another-company:02:3262900a + + + Property + something0e5ec53f + + + + input + on + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/blob/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/blob/instance.xml new file mode 100644 index 0000000..74c553b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/blob/instance.xml @@ -0,0 +1,3 @@ + + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/capability/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/capability/instance.xml new file mode 100644 index 0000000..ffcbd93 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/capability/instance.xml @@ -0,0 +1,3 @@ + + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/conceptDescription/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/conceptDescription/instance.xml new file mode 100644 index 0000000..4644305 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/conceptDescription/instance.xml @@ -0,0 +1,4 @@ + + 0 + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/dataSpecificationIec61360/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/dataSpecificationIec61360/instance.xml new file mode 100644 index 0000000..673633d --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/dataSpecificationIec61360/instance.xml @@ -0,0 +1,9 @@ + + + + en-JM-x-c7dddb5b + 6 + + + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/embeddedDataSpecification/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/embeddedDataSpecification/instance.xml new file mode 100644 index 0000000..72d837e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/embeddedDataSpecification/instance.xml @@ -0,0 +1,22 @@ + + + ExternalReference + + + GlobalReference + urn:some-company:10:9ac9d1a6 + + + + + + + + en-JM-x-b435b532 + 0 + + + + + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/entity/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/entity/instance.xml new file mode 100644 index 0000000..f1d548a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/entity/instance.xml @@ -0,0 +1,3 @@ + + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/environment/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/environment/instance.xml new file mode 100644 index 0000000..c700645 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/environment/instance.xml @@ -0,0 +1,3 @@ + + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/eventPayload/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/eventPayload/instance.xml new file mode 100644 index 0000000..dc8a536 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/eventPayload/instance.xml @@ -0,0 +1,26 @@ + + + ModelReference + + + Submodel + urn:some-company:15:84fd2b1b + + + EventElement + something3a3b97e8 + + + + + ModelReference + + + Submodel + urn:something:13:06d93ead + + + + 2022-04-01T24:00:00-00:00 + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/extension/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/extension/instance.xml new file mode 100644 index 0000000..d29a279 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/extension/instance.xml @@ -0,0 +1,4 @@ + + Ûă<P󨱽²|dnœÞ® + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/file/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/file/instance.xml new file mode 100644 index 0000000..bcead6c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/file/instance.xml @@ -0,0 +1,3 @@ + + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/key/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/key/instance.xml new file mode 100644 index 0000000..9a48fbd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/key/instance.xml @@ -0,0 +1,5 @@ + + EventElement + <ă<P󨱽²|dnœÞ® + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/langStringDefinitionTypeIec61360/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/langStringDefinitionTypeIec61360/instance.xml new file mode 100644 index 0000000..a13b8dd --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/langStringDefinitionTypeIec61360/instance.xml @@ -0,0 +1,5 @@ + + en-JM-x-8fafefb1 + J5 + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/langStringNameType/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/langStringNameType/instance.xml new file mode 100644 index 0000000..299885c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/langStringNameType/instance.xml @@ -0,0 +1,5 @@ + + en-JM-x-8fafefb1 + J5 + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/langStringPreferredNameTypeIec61360/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/langStringPreferredNameTypeIec61360/instance.xml new file mode 100644 index 0000000..150196b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/langStringPreferredNameTypeIec61360/instance.xml @@ -0,0 +1,5 @@ + + en-JM-x-8fafefb1 + J5 + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/langStringShortNameTypeIec61360/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/langStringShortNameTypeIec61360/instance.xml new file mode 100644 index 0000000..66f3ff4 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/langStringShortNameTypeIec61360/instance.xml @@ -0,0 +1,5 @@ + + en-JM-x-8fafefb1 + J5 + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/langStringTextType/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/langStringTextType/instance.xml new file mode 100644 index 0000000..f090518 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/langStringTextType/instance.xml @@ -0,0 +1,5 @@ + + en-JM-x-8fafefb1 + J5 + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/levelType/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/levelType/instance.xml new file mode 100644 index 0000000..47dcb66 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/levelType/instance.xml @@ -0,0 +1,7 @@ + + false + false + false + true + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/multiLanguageProperty/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/multiLanguageProperty/instance.xml new file mode 100644 index 0000000..d99abe3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/multiLanguageProperty/instance.xml @@ -0,0 +1,3 @@ + + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/operation/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/operation/instance.xml new file mode 100644 index 0000000..08fa4aa --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/operation/instance.xml @@ -0,0 +1,3 @@ + + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/operationVariable/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/operationVariable/instance.xml new file mode 100644 index 0000000..c035887 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/operationVariable/instance.xml @@ -0,0 +1,9 @@ + + + + something1d0edd81 + Capability + + + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/property/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/property/instance.xml new file mode 100644 index 0000000..4cade83 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/property/instance.xml @@ -0,0 +1,4 @@ + + xs:gDay + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/qualifier/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/qualifier/instance.xml new file mode 100644 index 0000000..327e17b --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/qualifier/instance.xml @@ -0,0 +1,5 @@ + + something_86027eb8 + xs:gDay + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/range/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/range/instance.xml new file mode 100644 index 0000000..0573108 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/range/instance.xml @@ -0,0 +1,4 @@ + + xs:gDay + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/reference/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/reference/instance.xml new file mode 100644 index 0000000..953917e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/reference/instance.xml @@ -0,0 +1,10 @@ + + ExternalReference + + + GlobalReference + urn:example:10:6914e6d2 + + + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/referenceElement/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/referenceElement/instance.xml new file mode 100644 index 0000000..22a8bc5 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/referenceElement/instance.xml @@ -0,0 +1,3 @@ + + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/relationshipElement/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/relationshipElement/instance.xml new file mode 100644 index 0000000..5bd0ff3 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/relationshipElement/instance.xml @@ -0,0 +1,3 @@ + + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/resource/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/resource/instance.xml new file mode 100644 index 0000000..125871f --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/resource/instance.xml @@ -0,0 +1,4 @@ + + #; + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/specificAssetId/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/specificAssetId/instance.xml new file mode 100644 index 0000000..ba4f26a --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/specificAssetId/instance.xml @@ -0,0 +1,5 @@ + + Ûă<P󨱽²|dnœÞ® + 𠤢4𠤢 + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/submodel/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/submodel/instance.xml new file mode 100644 index 0000000..4e783d1 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/submodel/instance.xml @@ -0,0 +1,4 @@ + + 0 + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/submodelElementCollection/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/submodelElementCollection/instance.xml new file mode 100644 index 0000000..fddc0af --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/submodelElementCollection/instance.xml @@ -0,0 +1,3 @@ + + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/submodelElementList/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/submodelElementList/instance.xml new file mode 100644 index 0000000..d0eb713 --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/submodelElementList/instance.xml @@ -0,0 +1,4 @@ + + BasicEventElement + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/valueList/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/valueList/instance.xml new file mode 100644 index 0000000..c62be4c --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/valueList/instance.xml @@ -0,0 +1,8 @@ + + + + öĖa􍣡™| + + + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/valueReferencePair/instance.xml b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/valueReferencePair/instance.xml new file mode 100644 index 0000000..80d600e --- /dev/null +++ b/dev/test_data/Xml/Unexpected/Unserializable/UnexpectedAdditionalProperty/valueReferencePair/instance.xml @@ -0,0 +1,4 @@ + + 򤑌M𪠇𛔊򂄲 + UNEXPECTED-ADDITIONAL-PROPERTY + diff --git a/dev/test_data/descend_and_pass_through_visitor/administrativeInformation/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/administrativeInformation/maximal.xml.trace new file mode 100644 index 0000000..41505ec --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/administrativeInformation/maximal.xml.trace @@ -0,0 +1,16 @@ +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +Reference +Key + diff --git a/dev/test_data/descend_and_pass_through_visitor/annotatedRelationshipElement/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/annotatedRelationshipElement/maximal.xml.trace new file mode 100644 index 0000000..055f907 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/annotatedRelationshipElement/maximal.xml.trace @@ -0,0 +1,37 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Key +Reference +Key +Reference +Key +Reference +Key +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +Reference +Key +Reference +Key +Blob +File + diff --git a/dev/test_data/descend_and_pass_through_visitor/assetAdministrationShell/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/assetAdministrationShell/maximal.xml.trace new file mode 100644 index 0000000..49566cf --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/assetAdministrationShell/maximal.xml.trace @@ -0,0 +1,28 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +AdministrativeInformation +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +Reference +Key +AssetInformation +Reference +Key +Reference +Key + diff --git a/dev/test_data/descend_and_pass_through_visitor/assetInformation/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/assetInformation/maximal.xml.trace new file mode 100644 index 0000000..ac23581 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/assetInformation/maximal.xml.trace @@ -0,0 +1,5 @@ +SpecificAssetID +SpecificAssetID +SpecificAssetID +Resource + diff --git a/dev/test_data/descend_and_pass_through_visitor/basicEventElement/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/basicEventElement/maximal.xml.trace new file mode 100644 index 0000000..18cba7e --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/basicEventElement/maximal.xml.trace @@ -0,0 +1,37 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Key +Reference +Key +Reference +Key +Reference +Key +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +Reference +Key +Key +Reference +Key +Key + diff --git a/dev/test_data/descend_and_pass_through_visitor/blob/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/blob/maximal.xml.trace new file mode 100644 index 0000000..261a05e --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/blob/maximal.xml.trace @@ -0,0 +1,31 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Key +Reference +Key +Reference +Key +Reference +Key +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 + diff --git a/dev/test_data/descend_and_pass_through_visitor/capability/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/capability/maximal.xml.trace new file mode 100644 index 0000000..261a05e --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/capability/maximal.xml.trace @@ -0,0 +1,31 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Key +Reference +Key +Reference +Key +Reference +Key +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 + diff --git a/dev/test_data/descend_and_pass_through_visitor/conceptDescription/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/conceptDescription/maximal.xml.trace new file mode 100644 index 0000000..1bff1a1 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/conceptDescription/maximal.xml.trace @@ -0,0 +1,25 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +AdministrativeInformation +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringDefinitionTypeIEC61360 +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringDefinitionTypeIEC61360 +Reference +Key + diff --git a/dev/test_data/descend_and_pass_through_visitor/dataSpecificationIec61360/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/dataSpecificationIec61360/maximal.xml.trace new file mode 100644 index 0000000..a92e414 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/dataSpecificationIec61360/maximal.xml.trace @@ -0,0 +1,7 @@ +LangStringPreferredNameTypeIEC61360 +LangStringShortNameTypeIEC61360 +Reference +Key +LangStringDefinitionTypeIEC61360 +LevelType + diff --git a/dev/test_data/descend_and_pass_through_visitor/embeddedDataSpecification/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/embeddedDataSpecification/maximal.xml.trace new file mode 100644 index 0000000..c64e346 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/embeddedDataSpecification/maximal.xml.trace @@ -0,0 +1,6 @@ +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 + diff --git a/dev/test_data/descend_and_pass_through_visitor/entity/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/entity/maximal.xml.trace new file mode 100644 index 0000000..9b403ca --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/entity/maximal.xml.trace @@ -0,0 +1,35 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Key +Reference +Key +Reference +Key +Reference +Key +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +RelationshipElement +SpecificAssetID +SpecificAssetID +SpecificAssetID + diff --git a/dev/test_data/descend_and_pass_through_visitor/environment/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/environment/maximal.xml.trace new file mode 100644 index 0000000..14d62d3 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/environment/maximal.xml.trace @@ -0,0 +1,7 @@ +AssetAdministrationShell +AssetInformation +AssetAdministrationShell +AssetInformation +Submodel +ConceptDescription + diff --git a/dev/test_data/descend_and_pass_through_visitor/eventPayload/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/eventPayload/maximal.xml.trace new file mode 100644 index 0000000..d88646e --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/eventPayload/maximal.xml.trace @@ -0,0 +1,12 @@ +Reference +Key +Key +Reference +Key +Reference +Key +Reference +Key +Reference +Key + diff --git a/dev/test_data/descend_and_pass_through_visitor/extension/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/extension/maximal.xml.trace new file mode 100644 index 0000000..1bf6e07 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/extension/maximal.xml.trace @@ -0,0 +1,13 @@ +Reference +Key +Reference +Key +Reference +Key +Reference +Key +Reference +Key +Reference +Key + diff --git a/dev/test_data/descend_and_pass_through_visitor/file/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/file/maximal.xml.trace new file mode 100644 index 0000000..261a05e --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/file/maximal.xml.trace @@ -0,0 +1,31 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Key +Reference +Key +Reference +Key +Reference +Key +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 + diff --git a/dev/test_data/descend_and_pass_through_visitor/key/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/key/maximal.xml.trace new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/key/maximal.xml.trace @@ -0,0 +1 @@ + diff --git a/dev/test_data/descend_and_pass_through_visitor/langStringDefinitionTypeIec61360/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/langStringDefinitionTypeIec61360/maximal.xml.trace new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/langStringDefinitionTypeIec61360/maximal.xml.trace @@ -0,0 +1 @@ + diff --git a/dev/test_data/descend_and_pass_through_visitor/langStringNameType/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/langStringNameType/maximal.xml.trace new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/langStringNameType/maximal.xml.trace @@ -0,0 +1 @@ + diff --git a/dev/test_data/descend_and_pass_through_visitor/langStringPreferredNameTypeIec61360/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/langStringPreferredNameTypeIec61360/maximal.xml.trace new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/langStringPreferredNameTypeIec61360/maximal.xml.trace @@ -0,0 +1 @@ + diff --git a/dev/test_data/descend_and_pass_through_visitor/langStringShortNameTypeIec61360/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/langStringShortNameTypeIec61360/maximal.xml.trace new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/langStringShortNameTypeIec61360/maximal.xml.trace @@ -0,0 +1 @@ + diff --git a/dev/test_data/descend_and_pass_through_visitor/langStringTextType/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/langStringTextType/maximal.xml.trace new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/langStringTextType/maximal.xml.trace @@ -0,0 +1 @@ + diff --git a/dev/test_data/descend_and_pass_through_visitor/levelType/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/levelType/maximal.xml.trace new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/levelType/maximal.xml.trace @@ -0,0 +1 @@ + diff --git a/dev/test_data/descend_and_pass_through_visitor/multiLanguageProperty/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/multiLanguageProperty/maximal.xml.trace new file mode 100644 index 0000000..80a1d93 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/multiLanguageProperty/maximal.xml.trace @@ -0,0 +1,35 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Key +Reference +Key +Reference +Key +Reference +Key +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringTextType +LangStringTextType +Reference +Key + diff --git a/dev/test_data/descend_and_pass_through_visitor/operation/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/operation/maximal.xml.trace new file mode 100644 index 0000000..24304eb --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/operation/maximal.xml.trace @@ -0,0 +1,43 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Key +Reference +Key +Reference +Key +Reference +Key +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +OperationVariable +Entity +OperationVariable +Operation +OperationVariable +Operation +OperationVariable +SubmodelElementList +OperationVariable +Capability +OperationVariable +Capability + diff --git a/dev/test_data/descend_and_pass_through_visitor/operationVariable/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/operationVariable/maximal.xml.trace new file mode 100644 index 0000000..30fe3e5 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/operationVariable/maximal.xml.trace @@ -0,0 +1,2 @@ +SubmodelElementList + diff --git a/dev/test_data/descend_and_pass_through_visitor/property/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/property/maximal.xml.trace new file mode 100644 index 0000000..aa92f09 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/property/maximal.xml.trace @@ -0,0 +1,33 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Key +Reference +Key +Reference +Key +Reference +Key +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +Reference +Key + diff --git a/dev/test_data/descend_and_pass_through_visitor/qualifier/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/qualifier/maximal.xml.trace new file mode 100644 index 0000000..3266e3d --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/qualifier/maximal.xml.trace @@ -0,0 +1,11 @@ +Reference +Key +Reference +Key +Reference +Key +Reference +Key +Reference +Key + diff --git a/dev/test_data/descend_and_pass_through_visitor/range/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/range/maximal.xml.trace new file mode 100644 index 0000000..261a05e --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/range/maximal.xml.trace @@ -0,0 +1,31 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Key +Reference +Key +Reference +Key +Reference +Key +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 + diff --git a/dev/test_data/descend_and_pass_through_visitor/reference/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/reference/maximal.xml.trace new file mode 100644 index 0000000..93712a7 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/reference/maximal.xml.trace @@ -0,0 +1,4 @@ +Reference +Key +Key + diff --git a/dev/test_data/descend_and_pass_through_visitor/referenceElement/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/referenceElement/maximal.xml.trace new file mode 100644 index 0000000..aa92f09 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/referenceElement/maximal.xml.trace @@ -0,0 +1,33 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Key +Reference +Key +Reference +Key +Reference +Key +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +Reference +Key + diff --git a/dev/test_data/descend_and_pass_through_visitor/relationshipElement/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/relationshipElement/maximal.xml.trace new file mode 100644 index 0000000..4ea47f5 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/relationshipElement/maximal.xml.trace @@ -0,0 +1,35 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Key +Reference +Key +Reference +Key +Reference +Key +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +Reference +Key +Reference +Key + diff --git a/dev/test_data/descend_and_pass_through_visitor/resource/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/resource/maximal.xml.trace new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/resource/maximal.xml.trace @@ -0,0 +1 @@ + diff --git a/dev/test_data/descend_and_pass_through_visitor/specificAssetId/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/specificAssetId/maximal.xml.trace new file mode 100644 index 0000000..3266e3d --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/specificAssetId/maximal.xml.trace @@ -0,0 +1,11 @@ +Reference +Key +Reference +Key +Reference +Key +Reference +Key +Reference +Key + diff --git a/dev/test_data/descend_and_pass_through_visitor/submodel/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/submodel/maximal.xml.trace new file mode 100644 index 0000000..704176b --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/submodel/maximal.xml.trace @@ -0,0 +1,34 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +AdministrativeInformation +Reference +Key +Reference +Key +Reference +Key +Reference +Key +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +Property +AnnotatedRelationshipElement + diff --git a/dev/test_data/descend_and_pass_through_visitor/submodelElementCollection/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/submodelElementCollection/maximal.xml.trace new file mode 100644 index 0000000..9a6afc1 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/submodelElementCollection/maximal.xml.trace @@ -0,0 +1,36 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Key +Reference +Key +Reference +Key +Reference +Key +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +Operation +BasicEventElement +Reference +Key +Key + diff --git a/dev/test_data/descend_and_pass_through_visitor/submodelElementList/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/submodelElementList/maximal.xml.trace new file mode 100644 index 0000000..ce6f61c --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/submodelElementList/maximal.xml.trace @@ -0,0 +1,39 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Key +Reference +Key +Reference +Key +Reference +Key +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +EmbeddedDataSpecification +Reference +Key +DataSpecificationIEC61360 +LangStringPreferredNameTypeIEC61360 +LangStringPreferredNameTypeIEC61360 +Reference +Key +Property +Reference +Key +Property +Reference +Key + diff --git a/dev/test_data/descend_and_pass_through_visitor/valueList/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/valueList/maximal.xml.trace new file mode 100644 index 0000000..9dbf82b --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/valueList/maximal.xml.trace @@ -0,0 +1,2 @@ +ValueReferencePair + diff --git a/dev/test_data/descend_and_pass_through_visitor/valueReferencePair/maximal.xml.trace b/dev/test_data/descend_and_pass_through_visitor/valueReferencePair/maximal.xml.trace new file mode 100644 index 0000000..9913f93 --- /dev/null +++ b/dev/test_data/descend_and_pass_through_visitor/valueReferencePair/maximal.xml.trace @@ -0,0 +1,3 @@ +Reference +Key + diff --git a/dev/test_data/descend_once/administrativeInformation/maximal.xml.trace b/dev/test_data/descend_once/administrativeInformation/maximal.xml.trace new file mode 100644 index 0000000..2a9b86c --- /dev/null +++ b/dev/test_data/descend_once/administrativeInformation/maximal.xml.trace @@ -0,0 +1,4 @@ +EmbeddedDataSpecification +EmbeddedDataSpecification +Reference + diff --git a/dev/test_data/descend_once/annotatedRelationshipElement/maximal.xml.trace b/dev/test_data/descend_once/annotatedRelationshipElement/maximal.xml.trace new file mode 100644 index 0000000..60919b2 --- /dev/null +++ b/dev/test_data/descend_once/annotatedRelationshipElement/maximal.xml.trace @@ -0,0 +1,20 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Reference +Reference +Reference +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +EmbeddedDataSpecification +Reference +Reference +Blob +File + diff --git a/dev/test_data/descend_once/assetAdministrationShell/maximal.xml.trace b/dev/test_data/descend_once/assetAdministrationShell/maximal.xml.trace new file mode 100644 index 0000000..328353d --- /dev/null +++ b/dev/test_data/descend_once/assetAdministrationShell/maximal.xml.trace @@ -0,0 +1,14 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +AdministrativeInformation +EmbeddedDataSpecification +EmbeddedDataSpecification +Reference +AssetInformation +Reference +Reference + diff --git a/dev/test_data/descend_once/assetInformation/maximal.xml.trace b/dev/test_data/descend_once/assetInformation/maximal.xml.trace new file mode 100644 index 0000000..ac23581 --- /dev/null +++ b/dev/test_data/descend_once/assetInformation/maximal.xml.trace @@ -0,0 +1,5 @@ +SpecificAssetID +SpecificAssetID +SpecificAssetID +Resource + diff --git a/dev/test_data/descend_once/basicEventElement/maximal.xml.trace b/dev/test_data/descend_once/basicEventElement/maximal.xml.trace new file mode 100644 index 0000000..ae03413 --- /dev/null +++ b/dev/test_data/descend_once/basicEventElement/maximal.xml.trace @@ -0,0 +1,18 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Reference +Reference +Reference +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +EmbeddedDataSpecification +Reference +Reference + diff --git a/dev/test_data/descend_once/blob/maximal.xml.trace b/dev/test_data/descend_once/blob/maximal.xml.trace new file mode 100644 index 0000000..d1eda36 --- /dev/null +++ b/dev/test_data/descend_once/blob/maximal.xml.trace @@ -0,0 +1,16 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Reference +Reference +Reference +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +EmbeddedDataSpecification + diff --git a/dev/test_data/descend_once/capability/maximal.xml.trace b/dev/test_data/descend_once/capability/maximal.xml.trace new file mode 100644 index 0000000..d1eda36 --- /dev/null +++ b/dev/test_data/descend_once/capability/maximal.xml.trace @@ -0,0 +1,16 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Reference +Reference +Reference +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +EmbeddedDataSpecification + diff --git a/dev/test_data/descend_once/conceptDescription/maximal.xml.trace b/dev/test_data/descend_once/conceptDescription/maximal.xml.trace new file mode 100644 index 0000000..0d5d5ca --- /dev/null +++ b/dev/test_data/descend_once/conceptDescription/maximal.xml.trace @@ -0,0 +1,11 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +AdministrativeInformation +EmbeddedDataSpecification +EmbeddedDataSpecification +Reference + diff --git a/dev/test_data/descend_once/dataSpecificationIec61360/maximal.xml.trace b/dev/test_data/descend_once/dataSpecificationIec61360/maximal.xml.trace new file mode 100644 index 0000000..2a31f54 --- /dev/null +++ b/dev/test_data/descend_once/dataSpecificationIec61360/maximal.xml.trace @@ -0,0 +1,6 @@ +LangStringPreferredNameTypeIEC61360 +LangStringShortNameTypeIEC61360 +Reference +LangStringDefinitionTypeIEC61360 +LevelType + diff --git a/dev/test_data/descend_once/embeddedDataSpecification/maximal.xml.trace b/dev/test_data/descend_once/embeddedDataSpecification/maximal.xml.trace new file mode 100644 index 0000000..b82e7be --- /dev/null +++ b/dev/test_data/descend_once/embeddedDataSpecification/maximal.xml.trace @@ -0,0 +1,3 @@ +Reference +DataSpecificationIEC61360 + diff --git a/dev/test_data/descend_once/entity/maximal.xml.trace b/dev/test_data/descend_once/entity/maximal.xml.trace new file mode 100644 index 0000000..b17d4d8 --- /dev/null +++ b/dev/test_data/descend_once/entity/maximal.xml.trace @@ -0,0 +1,20 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Reference +Reference +Reference +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +EmbeddedDataSpecification +RelationshipElement +SpecificAssetID +SpecificAssetID +SpecificAssetID + diff --git a/dev/test_data/descend_once/environment/maximal.xml.trace b/dev/test_data/descend_once/environment/maximal.xml.trace new file mode 100644 index 0000000..6c6000b --- /dev/null +++ b/dev/test_data/descend_once/environment/maximal.xml.trace @@ -0,0 +1,5 @@ +AssetAdministrationShell +AssetAdministrationShell +Submodel +ConceptDescription + diff --git a/dev/test_data/descend_once/eventPayload/maximal.xml.trace b/dev/test_data/descend_once/eventPayload/maximal.xml.trace new file mode 100644 index 0000000..32de01e --- /dev/null +++ b/dev/test_data/descend_once/eventPayload/maximal.xml.trace @@ -0,0 +1,6 @@ +Reference +Reference +Reference +Reference +Reference + diff --git a/dev/test_data/descend_once/extension/maximal.xml.trace b/dev/test_data/descend_once/extension/maximal.xml.trace new file mode 100644 index 0000000..f21d076 --- /dev/null +++ b/dev/test_data/descend_once/extension/maximal.xml.trace @@ -0,0 +1,7 @@ +Reference +Reference +Reference +Reference +Reference +Reference + diff --git a/dev/test_data/descend_once/file/maximal.xml.trace b/dev/test_data/descend_once/file/maximal.xml.trace new file mode 100644 index 0000000..d1eda36 --- /dev/null +++ b/dev/test_data/descend_once/file/maximal.xml.trace @@ -0,0 +1,16 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Reference +Reference +Reference +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +EmbeddedDataSpecification + diff --git a/dev/test_data/descend_once/key/maximal.xml.trace b/dev/test_data/descend_once/key/maximal.xml.trace new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/dev/test_data/descend_once/key/maximal.xml.trace @@ -0,0 +1 @@ + diff --git a/dev/test_data/descend_once/langStringDefinitionTypeIec61360/maximal.xml.trace b/dev/test_data/descend_once/langStringDefinitionTypeIec61360/maximal.xml.trace new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/dev/test_data/descend_once/langStringDefinitionTypeIec61360/maximal.xml.trace @@ -0,0 +1 @@ + diff --git a/dev/test_data/descend_once/langStringNameType/maximal.xml.trace b/dev/test_data/descend_once/langStringNameType/maximal.xml.trace new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/dev/test_data/descend_once/langStringNameType/maximal.xml.trace @@ -0,0 +1 @@ + diff --git a/dev/test_data/descend_once/langStringPreferredNameTypeIec61360/maximal.xml.trace b/dev/test_data/descend_once/langStringPreferredNameTypeIec61360/maximal.xml.trace new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/dev/test_data/descend_once/langStringPreferredNameTypeIec61360/maximal.xml.trace @@ -0,0 +1 @@ + diff --git a/dev/test_data/descend_once/langStringShortNameTypeIec61360/maximal.xml.trace b/dev/test_data/descend_once/langStringShortNameTypeIec61360/maximal.xml.trace new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/dev/test_data/descend_once/langStringShortNameTypeIec61360/maximal.xml.trace @@ -0,0 +1 @@ + diff --git a/dev/test_data/descend_once/langStringTextType/maximal.xml.trace b/dev/test_data/descend_once/langStringTextType/maximal.xml.trace new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/dev/test_data/descend_once/langStringTextType/maximal.xml.trace @@ -0,0 +1 @@ + diff --git a/dev/test_data/descend_once/levelType/maximal.xml.trace b/dev/test_data/descend_once/levelType/maximal.xml.trace new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/dev/test_data/descend_once/levelType/maximal.xml.trace @@ -0,0 +1 @@ + diff --git a/dev/test_data/descend_once/multiLanguageProperty/maximal.xml.trace b/dev/test_data/descend_once/multiLanguageProperty/maximal.xml.trace new file mode 100644 index 0000000..373e886 --- /dev/null +++ b/dev/test_data/descend_once/multiLanguageProperty/maximal.xml.trace @@ -0,0 +1,19 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Reference +Reference +Reference +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +EmbeddedDataSpecification +LangStringTextType +LangStringTextType +Reference + diff --git a/dev/test_data/descend_once/operation/maximal.xml.trace b/dev/test_data/descend_once/operation/maximal.xml.trace new file mode 100644 index 0000000..095f073 --- /dev/null +++ b/dev/test_data/descend_once/operation/maximal.xml.trace @@ -0,0 +1,22 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Reference +Reference +Reference +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +EmbeddedDataSpecification +OperationVariable +OperationVariable +OperationVariable +OperationVariable +OperationVariable +OperationVariable + diff --git a/dev/test_data/descend_once/operationVariable/maximal.xml.trace b/dev/test_data/descend_once/operationVariable/maximal.xml.trace new file mode 100644 index 0000000..30fe3e5 --- /dev/null +++ b/dev/test_data/descend_once/operationVariable/maximal.xml.trace @@ -0,0 +1,2 @@ +SubmodelElementList + diff --git a/dev/test_data/descend_once/property/maximal.xml.trace b/dev/test_data/descend_once/property/maximal.xml.trace new file mode 100644 index 0000000..cc4a394 --- /dev/null +++ b/dev/test_data/descend_once/property/maximal.xml.trace @@ -0,0 +1,17 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Reference +Reference +Reference +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +EmbeddedDataSpecification +Reference + diff --git a/dev/test_data/descend_once/qualifier/maximal.xml.trace b/dev/test_data/descend_once/qualifier/maximal.xml.trace new file mode 100644 index 0000000..32de01e --- /dev/null +++ b/dev/test_data/descend_once/qualifier/maximal.xml.trace @@ -0,0 +1,6 @@ +Reference +Reference +Reference +Reference +Reference + diff --git a/dev/test_data/descend_once/range/maximal.xml.trace b/dev/test_data/descend_once/range/maximal.xml.trace new file mode 100644 index 0000000..d1eda36 --- /dev/null +++ b/dev/test_data/descend_once/range/maximal.xml.trace @@ -0,0 +1,16 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Reference +Reference +Reference +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +EmbeddedDataSpecification + diff --git a/dev/test_data/descend_once/reference/maximal.xml.trace b/dev/test_data/descend_once/reference/maximal.xml.trace new file mode 100644 index 0000000..9913f93 --- /dev/null +++ b/dev/test_data/descend_once/reference/maximal.xml.trace @@ -0,0 +1,3 @@ +Reference +Key + diff --git a/dev/test_data/descend_once/referenceElement/maximal.xml.trace b/dev/test_data/descend_once/referenceElement/maximal.xml.trace new file mode 100644 index 0000000..cc4a394 --- /dev/null +++ b/dev/test_data/descend_once/referenceElement/maximal.xml.trace @@ -0,0 +1,17 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Reference +Reference +Reference +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +EmbeddedDataSpecification +Reference + diff --git a/dev/test_data/descend_once/relationshipElement/maximal.xml.trace b/dev/test_data/descend_once/relationshipElement/maximal.xml.trace new file mode 100644 index 0000000..ae03413 --- /dev/null +++ b/dev/test_data/descend_once/relationshipElement/maximal.xml.trace @@ -0,0 +1,18 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Reference +Reference +Reference +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +EmbeddedDataSpecification +Reference +Reference + diff --git a/dev/test_data/descend_once/resource/maximal.xml.trace b/dev/test_data/descend_once/resource/maximal.xml.trace new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/dev/test_data/descend_once/resource/maximal.xml.trace @@ -0,0 +1 @@ + diff --git a/dev/test_data/descend_once/specificAssetId/maximal.xml.trace b/dev/test_data/descend_once/specificAssetId/maximal.xml.trace new file mode 100644 index 0000000..32de01e --- /dev/null +++ b/dev/test_data/descend_once/specificAssetId/maximal.xml.trace @@ -0,0 +1,6 @@ +Reference +Reference +Reference +Reference +Reference + diff --git a/dev/test_data/descend_once/submodel/maximal.xml.trace b/dev/test_data/descend_once/submodel/maximal.xml.trace new file mode 100644 index 0000000..eb6f9c6 --- /dev/null +++ b/dev/test_data/descend_once/submodel/maximal.xml.trace @@ -0,0 +1,19 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +AdministrativeInformation +Reference +Reference +Reference +Reference +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +EmbeddedDataSpecification +Property +AnnotatedRelationshipElement + diff --git a/dev/test_data/descend_once/submodelElementCollection/maximal.xml.trace b/dev/test_data/descend_once/submodelElementCollection/maximal.xml.trace new file mode 100644 index 0000000..6c5da60 --- /dev/null +++ b/dev/test_data/descend_once/submodelElementCollection/maximal.xml.trace @@ -0,0 +1,18 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Reference +Reference +Reference +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +EmbeddedDataSpecification +Operation +BasicEventElement + diff --git a/dev/test_data/descend_once/submodelElementList/maximal.xml.trace b/dev/test_data/descend_once/submodelElementList/maximal.xml.trace new file mode 100644 index 0000000..c4a1a8c --- /dev/null +++ b/dev/test_data/descend_once/submodelElementList/maximal.xml.trace @@ -0,0 +1,19 @@ +Extension +Extension +LangStringNameType +LangStringNameType +LangStringTextType +LangStringTextType +Reference +Reference +Reference +Reference +Qualifier +Qualifier +Qualifier +EmbeddedDataSpecification +EmbeddedDataSpecification +Reference +Property +Property + diff --git a/dev/test_data/descend_once/valueList/maximal.xml.trace b/dev/test_data/descend_once/valueList/maximal.xml.trace new file mode 100644 index 0000000..9dbf82b --- /dev/null +++ b/dev/test_data/descend_once/valueList/maximal.xml.trace @@ -0,0 +1,2 @@ +ValueReferencePair + diff --git a/dev/test_data/descend_once/valueReferencePair/maximal.xml.trace b/dev/test_data/descend_once/valueReferencePair/maximal.xml.trace new file mode 100644 index 0000000..7501d02 --- /dev/null +++ b/dev/test_data/descend_once/valueReferencePair/maximal.xml.trace @@ -0,0 +1,2 @@ +Reference + diff --git a/dev/test_data/source.json b/dev/test_data/source.json new file mode 100644 index 0000000..9563553 --- /dev/null +++ b/dev/test_data/source.json @@ -0,0 +1,4 @@ +{ + "version": "0.0.5rc1", + "url": "https://github.com/eclipse-aascw/aas-core-testdatagen/releases/download/0.0.5rc1/test_data_for_v3_2.zip" +} \ No newline at end of file diff --git a/dev/test_data/test_X_or_default/extension/on_maximal.xml/value_type_or_default.trace b/dev/test_data/test_X_or_default/extension/on_maximal.xml/value_type_or_default.trace new file mode 100644 index 0000000..0138200 --- /dev/null +++ b/dev/test_data/test_X_or_default/extension/on_maximal.xml/value_type_or_default.trace @@ -0,0 +1,2 @@ +DataTypeDefXSD.G_DAY + diff --git a/dev/test_data/test_X_or_default/extension/on_minimal.xml/value_type_or_default.trace b/dev/test_data/test_X_or_default/extension/on_minimal.xml/value_type_or_default.trace new file mode 100644 index 0000000..ced655c --- /dev/null +++ b/dev/test_data/test_X_or_default/extension/on_minimal.xml/value_type_or_default.trace @@ -0,0 +1,2 @@ +DataTypeDefXSD.STRING + diff --git a/dev/test_data/test_X_or_default/qualifier/on_maximal.xml/kind_or_default.trace b/dev/test_data/test_X_or_default/qualifier/on_maximal.xml/kind_or_default.trace new file mode 100644 index 0000000..bd07b4b --- /dev/null +++ b/dev/test_data/test_X_or_default/qualifier/on_maximal.xml/kind_or_default.trace @@ -0,0 +1,2 @@ +QualifierKind.VALUE_QUALIFIER + diff --git a/dev/test_data/test_X_or_default/qualifier/on_minimal.xml/kind_or_default.trace b/dev/test_data/test_X_or_default/qualifier/on_minimal.xml/kind_or_default.trace new file mode 100644 index 0000000..73bfde9 --- /dev/null +++ b/dev/test_data/test_X_or_default/qualifier/on_minimal.xml/kind_or_default.trace @@ -0,0 +1,2 @@ +QualifierKind.CONCEPT_QUALIFIER + diff --git a/dev/test_data/test_X_or_default/submodel/on_maximal.xml/kind_or_default.trace b/dev/test_data/test_X_or_default/submodel/on_maximal.xml/kind_or_default.trace new file mode 100644 index 0000000..0dd1919 --- /dev/null +++ b/dev/test_data/test_X_or_default/submodel/on_maximal.xml/kind_or_default.trace @@ -0,0 +1,2 @@ +ModellingKind.INSTANCE + diff --git a/dev/test_data/test_X_or_default/submodel/on_minimal.xml/kind_or_default.trace b/dev/test_data/test_X_or_default/submodel/on_minimal.xml/kind_or_default.trace new file mode 100644 index 0000000..0dd1919 --- /dev/null +++ b/dev/test_data/test_X_or_default/submodel/on_minimal.xml/kind_or_default.trace @@ -0,0 +1,2 @@ +ModellingKind.INSTANCE + diff --git a/dev/test_data/test_X_or_default/submodelElementList/on_maximal.xml/order_relevant_or_default.trace b/dev/test_data/test_X_or_default/submodelElementList/on_maximal.xml/order_relevant_or_default.trace new file mode 100644 index 0000000..e99367f --- /dev/null +++ b/dev/test_data/test_X_or_default/submodelElementList/on_maximal.xml/order_relevant_or_default.trace @@ -0,0 +1,2 @@ +False + diff --git a/dev/test_data/test_X_or_default/submodelElementList/on_minimal.xml/order_relevant_or_default.trace b/dev/test_data/test_X_or_default/submodelElementList/on_minimal.xml/order_relevant_or_default.trace new file mode 100644 index 0000000..87df551 --- /dev/null +++ b/dev/test_data/test_X_or_default/submodelElementList/on_minimal.xml/order_relevant_or_default.trace @@ -0,0 +1,2 @@ +True + diff --git a/dev/test_data/test_over_X_or_empty/administrativeInformation/on_maximal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/administrativeInformation/on_maximal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..ce26d0e --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/administrativeInformation/on_maximal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,5 @@ +[ + EmbeddedDataSpecification, + EmbeddedDataSpecification +] + diff --git a/dev/test_data/test_over_X_or_empty/administrativeInformation/on_minimal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/administrativeInformation/on_minimal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/administrativeInformation/on_minimal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_annotations_or_empty.trace b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_annotations_or_empty.trace new file mode 100644 index 0000000..2b553f5 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_annotations_or_empty.trace @@ -0,0 +1,5 @@ +[ + Blob, + File +] + diff --git a/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..80330e4 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_description_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringTextType, + LangStringTextType +] + diff --git a/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..9c16ce3 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_display_name_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringNameType, + LangStringNameType +] + diff --git a/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..ce26d0e --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,5 @@ +[ + EmbeddedDataSpecification, + EmbeddedDataSpecification +] + diff --git a/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..98e2d25 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_extensions_or_empty.trace @@ -0,0 +1,5 @@ +[ + Extension, + Extension +] + diff --git a/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..98a4d0d --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,6 @@ +[ + Qualifier, + Qualifier, + Qualifier +] + diff --git a/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..d7ee7b5 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,6 @@ +[ + Reference, + Reference, + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_annotations_or_empty.trace b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_annotations_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_annotations_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_description_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_display_name_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_extensions_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/annotatedRelationshipElement/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_maximal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_maximal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..80330e4 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_maximal.xml/over_description_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringTextType, + LangStringTextType +] + diff --git a/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_maximal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_maximal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..9c16ce3 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_maximal.xml/over_display_name_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringNameType, + LangStringNameType +] + diff --git a/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_maximal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_maximal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..ce26d0e --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_maximal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,5 @@ +[ + EmbeddedDataSpecification, + EmbeddedDataSpecification +] + diff --git a/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_maximal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_maximal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..98e2d25 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_maximal.xml/over_extensions_or_empty.trace @@ -0,0 +1,5 @@ +[ + Extension, + Extension +] + diff --git a/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_maximal.xml/over_submodels_or_empty.trace b/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_maximal.xml/over_submodels_or_empty.trace new file mode 100644 index 0000000..32153c3 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_maximal.xml/over_submodels_or_empty.trace @@ -0,0 +1,5 @@ +[ + Reference, + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_minimal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_minimal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_minimal.xml/over_description_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_minimal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_minimal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_minimal.xml/over_display_name_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_minimal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_minimal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_minimal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_minimal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_minimal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_minimal.xml/over_extensions_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_minimal.xml/over_submodels_or_empty.trace b/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_minimal.xml/over_submodels_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/assetAdministrationShell/on_minimal.xml/over_submodels_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/assetInformation/on_maximal.xml/over_specific_asset_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/assetInformation/on_maximal.xml/over_specific_asset_ids_or_empty.trace new file mode 100644 index 0000000..a6f5ea6 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/assetInformation/on_maximal.xml/over_specific_asset_ids_or_empty.trace @@ -0,0 +1,6 @@ +[ + SpecificAssetID, + SpecificAssetID, + SpecificAssetID +] + diff --git a/dev/test_data/test_over_X_or_empty/assetInformation/on_minimal.xml/over_specific_asset_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/assetInformation/on_minimal.xml/over_specific_asset_ids_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/assetInformation/on_minimal.xml/over_specific_asset_ids_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..80330e4 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_description_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringTextType, + LangStringTextType +] + diff --git a/dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..9c16ce3 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_display_name_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringNameType, + LangStringNameType +] + diff --git a/dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..ce26d0e --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,5 @@ +[ + EmbeddedDataSpecification, + EmbeddedDataSpecification +] + diff --git a/dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..98e2d25 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_extensions_or_empty.trace @@ -0,0 +1,5 @@ +[ + Extension, + Extension +] + diff --git a/dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..98a4d0d --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,6 @@ +[ + Qualifier, + Qualifier, + Qualifier +] + diff --git a/dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..d7ee7b5 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/basicEventElement/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,6 @@ +[ + Reference, + Reference, + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_description_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_display_name_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_extensions_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/basicEventElement/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..80330e4 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_description_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringTextType, + LangStringTextType +] + diff --git a/dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..9c16ce3 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_display_name_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringNameType, + LangStringNameType +] + diff --git a/dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..ce26d0e --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,5 @@ +[ + EmbeddedDataSpecification, + EmbeddedDataSpecification +] + diff --git a/dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..98e2d25 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_extensions_or_empty.trace @@ -0,0 +1,5 @@ +[ + Extension, + Extension +] + diff --git a/dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..98a4d0d --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,6 @@ +[ + Qualifier, + Qualifier, + Qualifier +] + diff --git a/dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..d7ee7b5 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/blob/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,6 @@ +[ + Reference, + Reference, + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_description_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_display_name_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_extensions_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/blob/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..80330e4 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_description_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringTextType, + LangStringTextType +] + diff --git a/dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..9c16ce3 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_display_name_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringNameType, + LangStringNameType +] + diff --git a/dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..ce26d0e --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,5 @@ +[ + EmbeddedDataSpecification, + EmbeddedDataSpecification +] + diff --git a/dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..98e2d25 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_extensions_or_empty.trace @@ -0,0 +1,5 @@ +[ + Extension, + Extension +] + diff --git a/dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..98a4d0d --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,6 @@ +[ + Qualifier, + Qualifier, + Qualifier +] + diff --git a/dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..d7ee7b5 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/capability/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,6 @@ +[ + Reference, + Reference, + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_description_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_display_name_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_extensions_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/capability/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/conceptDescription/on_maximal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/conceptDescription/on_maximal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..80330e4 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/conceptDescription/on_maximal.xml/over_description_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringTextType, + LangStringTextType +] + diff --git a/dev/test_data/test_over_X_or_empty/conceptDescription/on_maximal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/conceptDescription/on_maximal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..9c16ce3 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/conceptDescription/on_maximal.xml/over_display_name_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringNameType, + LangStringNameType +] + diff --git a/dev/test_data/test_over_X_or_empty/conceptDescription/on_maximal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/conceptDescription/on_maximal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..ce26d0e --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/conceptDescription/on_maximal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,5 @@ +[ + EmbeddedDataSpecification, + EmbeddedDataSpecification +] + diff --git a/dev/test_data/test_over_X_or_empty/conceptDescription/on_maximal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/conceptDescription/on_maximal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..98e2d25 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/conceptDescription/on_maximal.xml/over_extensions_or_empty.trace @@ -0,0 +1,5 @@ +[ + Extension, + Extension +] + diff --git a/dev/test_data/test_over_X_or_empty/conceptDescription/on_maximal.xml/over_is_case_of_or_empty.trace b/dev/test_data/test_over_X_or_empty/conceptDescription/on_maximal.xml/over_is_case_of_or_empty.trace new file mode 100644 index 0000000..fd62f1f --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/conceptDescription/on_maximal.xml/over_is_case_of_or_empty.trace @@ -0,0 +1,4 @@ +[ + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/conceptDescription/on_minimal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/conceptDescription/on_minimal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/conceptDescription/on_minimal.xml/over_description_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/conceptDescription/on_minimal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/conceptDescription/on_minimal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/conceptDescription/on_minimal.xml/over_display_name_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/conceptDescription/on_minimal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/conceptDescription/on_minimal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/conceptDescription/on_minimal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/conceptDescription/on_minimal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/conceptDescription/on_minimal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/conceptDescription/on_minimal.xml/over_extensions_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/conceptDescription/on_minimal.xml/over_is_case_of_or_empty.trace b/dev/test_data/test_over_X_or_empty/conceptDescription/on_minimal.xml/over_is_case_of_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/conceptDescription/on_minimal.xml/over_is_case_of_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/dataSpecificationIec61360/on_maximal.xml/over_definition_or_empty.trace b/dev/test_data/test_over_X_or_empty/dataSpecificationIec61360/on_maximal.xml/over_definition_or_empty.trace new file mode 100644 index 0000000..af3a0f9 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/dataSpecificationIec61360/on_maximal.xml/over_definition_or_empty.trace @@ -0,0 +1,4 @@ +[ + LangStringDefinitionTypeIEC61360 +] + diff --git a/dev/test_data/test_over_X_or_empty/dataSpecificationIec61360/on_maximal.xml/over_short_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/dataSpecificationIec61360/on_maximal.xml/over_short_name_or_empty.trace new file mode 100644 index 0000000..b8c45bb --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/dataSpecificationIec61360/on_maximal.xml/over_short_name_or_empty.trace @@ -0,0 +1,4 @@ +[ + LangStringShortNameTypeIEC61360 +] + diff --git a/dev/test_data/test_over_X_or_empty/dataSpecificationIec61360/on_minimal.xml/over_definition_or_empty.trace b/dev/test_data/test_over_X_or_empty/dataSpecificationIec61360/on_minimal.xml/over_definition_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/dataSpecificationIec61360/on_minimal.xml/over_definition_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/dataSpecificationIec61360/on_minimal.xml/over_short_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/dataSpecificationIec61360/on_minimal.xml/over_short_name_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/dataSpecificationIec61360/on_minimal.xml/over_short_name_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..80330e4 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_description_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringTextType, + LangStringTextType +] + diff --git a/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..9c16ce3 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_display_name_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringNameType, + LangStringNameType +] + diff --git a/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..ce26d0e --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,5 @@ +[ + EmbeddedDataSpecification, + EmbeddedDataSpecification +] + diff --git a/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..98e2d25 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_extensions_or_empty.trace @@ -0,0 +1,5 @@ +[ + Extension, + Extension +] + diff --git a/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..98a4d0d --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,6 @@ +[ + Qualifier, + Qualifier, + Qualifier +] + diff --git a/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_specific_asset_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_specific_asset_ids_or_empty.trace new file mode 100644 index 0000000..a6f5ea6 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_specific_asset_ids_or_empty.trace @@ -0,0 +1,6 @@ +[ + SpecificAssetID, + SpecificAssetID, + SpecificAssetID +] + diff --git a/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_statements_or_empty.trace b/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_statements_or_empty.trace new file mode 100644 index 0000000..7a4fd74 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_statements_or_empty.trace @@ -0,0 +1,4 @@ +[ + RelationshipElement +] + diff --git a/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..d7ee7b5 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/entity/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,6 @@ +[ + Reference, + Reference, + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_description_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_display_name_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_extensions_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_specific_asset_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_specific_asset_ids_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_specific_asset_ids_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_statements_or_empty.trace b/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_statements_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_statements_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/entity/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/environment/on_maximal.xml/over_asset_administration_shells_or_empty.trace b/dev/test_data/test_over_X_or_empty/environment/on_maximal.xml/over_asset_administration_shells_or_empty.trace new file mode 100644 index 0000000..c524c50 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/environment/on_maximal.xml/over_asset_administration_shells_or_empty.trace @@ -0,0 +1,5 @@ +[ + AssetAdministrationShell, + AssetAdministrationShell +] + diff --git a/dev/test_data/test_over_X_or_empty/environment/on_maximal.xml/over_concept_descriptions_or_empty.trace b/dev/test_data/test_over_X_or_empty/environment/on_maximal.xml/over_concept_descriptions_or_empty.trace new file mode 100644 index 0000000..ee82589 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/environment/on_maximal.xml/over_concept_descriptions_or_empty.trace @@ -0,0 +1,4 @@ +[ + ConceptDescription +] + diff --git a/dev/test_data/test_over_X_or_empty/environment/on_maximal.xml/over_submodels_or_empty.trace b/dev/test_data/test_over_X_or_empty/environment/on_maximal.xml/over_submodels_or_empty.trace new file mode 100644 index 0000000..299a7fc --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/environment/on_maximal.xml/over_submodels_or_empty.trace @@ -0,0 +1,4 @@ +[ + Submodel +] + diff --git a/dev/test_data/test_over_X_or_empty/environment/on_minimal.xml/over_asset_administration_shells_or_empty.trace b/dev/test_data/test_over_X_or_empty/environment/on_minimal.xml/over_asset_administration_shells_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/environment/on_minimal.xml/over_asset_administration_shells_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/environment/on_minimal.xml/over_concept_descriptions_or_empty.trace b/dev/test_data/test_over_X_or_empty/environment/on_minimal.xml/over_concept_descriptions_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/environment/on_minimal.xml/over_concept_descriptions_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/environment/on_minimal.xml/over_submodels_or_empty.trace b/dev/test_data/test_over_X_or_empty/environment/on_minimal.xml/over_submodels_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/environment/on_minimal.xml/over_submodels_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/extension/on_maximal.xml/over_refers_to_or_empty.trace b/dev/test_data/test_over_X_or_empty/extension/on_maximal.xml/over_refers_to_or_empty.trace new file mode 100644 index 0000000..32153c3 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/extension/on_maximal.xml/over_refers_to_or_empty.trace @@ -0,0 +1,5 @@ +[ + Reference, + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/extension/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/extension/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..d7ee7b5 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/extension/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,6 @@ +[ + Reference, + Reference, + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/extension/on_minimal.xml/over_refers_to_or_empty.trace b/dev/test_data/test_over_X_or_empty/extension/on_minimal.xml/over_refers_to_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/extension/on_minimal.xml/over_refers_to_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/extension/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/extension/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/extension/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..80330e4 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_description_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringTextType, + LangStringTextType +] + diff --git a/dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..9c16ce3 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_display_name_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringNameType, + LangStringNameType +] + diff --git a/dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..ce26d0e --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,5 @@ +[ + EmbeddedDataSpecification, + EmbeddedDataSpecification +] + diff --git a/dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..98e2d25 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_extensions_or_empty.trace @@ -0,0 +1,5 @@ +[ + Extension, + Extension +] + diff --git a/dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..98a4d0d --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,6 @@ +[ + Qualifier, + Qualifier, + Qualifier +] + diff --git a/dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..d7ee7b5 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/file/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,6 @@ +[ + Reference, + Reference, + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_description_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_display_name_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_extensions_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/file/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..80330e4 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_description_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringTextType, + LangStringTextType +] + diff --git a/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..9c16ce3 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_display_name_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringNameType, + LangStringNameType +] + diff --git a/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..ce26d0e --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,5 @@ +[ + EmbeddedDataSpecification, + EmbeddedDataSpecification +] + diff --git a/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..98e2d25 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_extensions_or_empty.trace @@ -0,0 +1,5 @@ +[ + Extension, + Extension +] + diff --git a/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..98a4d0d --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,6 @@ +[ + Qualifier, + Qualifier, + Qualifier +] + diff --git a/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..d7ee7b5 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,6 @@ +[ + Reference, + Reference, + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_value_or_empty.trace b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_value_or_empty.trace new file mode 100644 index 0000000..80330e4 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_maximal.xml/over_value_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringTextType, + LangStringTextType +] + diff --git a/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_description_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_display_name_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_extensions_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_value_or_empty.trace b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_value_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/multiLanguageProperty/on_minimal.xml/over_value_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..80330e4 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_description_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringTextType, + LangStringTextType +] + diff --git a/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..9c16ce3 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_display_name_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringNameType, + LangStringNameType +] + diff --git a/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..ce26d0e --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,5 @@ +[ + EmbeddedDataSpecification, + EmbeddedDataSpecification +] + diff --git a/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..98e2d25 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_extensions_or_empty.trace @@ -0,0 +1,5 @@ +[ + Extension, + Extension +] + diff --git a/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_inoutput_variables_or_empty.trace b/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_inoutput_variables_or_empty.trace new file mode 100644 index 0000000..fa85aad --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_inoutput_variables_or_empty.trace @@ -0,0 +1,6 @@ +[ + OperationVariable, + OperationVariable, + OperationVariable +] + diff --git a/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_input_variables_or_empty.trace b/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_input_variables_or_empty.trace new file mode 100644 index 0000000..b0c1797 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_input_variables_or_empty.trace @@ -0,0 +1,4 @@ +[ + OperationVariable +] + diff --git a/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_output_variables_or_empty.trace b/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_output_variables_or_empty.trace new file mode 100644 index 0000000..063743e --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_output_variables_or_empty.trace @@ -0,0 +1,5 @@ +[ + OperationVariable, + OperationVariable +] + diff --git a/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..98a4d0d --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,6 @@ +[ + Qualifier, + Qualifier, + Qualifier +] + diff --git a/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..d7ee7b5 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/operation/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,6 @@ +[ + Reference, + Reference, + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_description_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_display_name_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_extensions_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_inoutput_variables_or_empty.trace b/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_inoutput_variables_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_inoutput_variables_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_input_variables_or_empty.trace b/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_input_variables_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_input_variables_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_output_variables_or_empty.trace b/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_output_variables_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_output_variables_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/operation/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..80330e4 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_description_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringTextType, + LangStringTextType +] + diff --git a/dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..9c16ce3 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_display_name_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringNameType, + LangStringNameType +] + diff --git a/dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..ce26d0e --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,5 @@ +[ + EmbeddedDataSpecification, + EmbeddedDataSpecification +] + diff --git a/dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..98e2d25 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_extensions_or_empty.trace @@ -0,0 +1,5 @@ +[ + Extension, + Extension +] + diff --git a/dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..98a4d0d --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,6 @@ +[ + Qualifier, + Qualifier, + Qualifier +] + diff --git a/dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..d7ee7b5 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/property/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,6 @@ +[ + Reference, + Reference, + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_description_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_display_name_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_extensions_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/property/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/qualifier/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/qualifier/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..d7ee7b5 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/qualifier/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,6 @@ +[ + Reference, + Reference, + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/qualifier/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/qualifier/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/qualifier/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..80330e4 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_description_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringTextType, + LangStringTextType +] + diff --git a/dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..9c16ce3 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_display_name_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringNameType, + LangStringNameType +] + diff --git a/dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..ce26d0e --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,5 @@ +[ + EmbeddedDataSpecification, + EmbeddedDataSpecification +] + diff --git a/dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..98e2d25 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_extensions_or_empty.trace @@ -0,0 +1,5 @@ +[ + Extension, + Extension +] + diff --git a/dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..98a4d0d --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,6 @@ +[ + Qualifier, + Qualifier, + Qualifier +] + diff --git a/dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..d7ee7b5 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/range/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,6 @@ +[ + Reference, + Reference, + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_description_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_display_name_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_extensions_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/range/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..80330e4 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_description_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringTextType, + LangStringTextType +] + diff --git a/dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..9c16ce3 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_display_name_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringNameType, + LangStringNameType +] + diff --git a/dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..ce26d0e --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,5 @@ +[ + EmbeddedDataSpecification, + EmbeddedDataSpecification +] + diff --git a/dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..98e2d25 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_extensions_or_empty.trace @@ -0,0 +1,5 @@ +[ + Extension, + Extension +] + diff --git a/dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..98a4d0d --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,6 @@ +[ + Qualifier, + Qualifier, + Qualifier +] + diff --git a/dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..d7ee7b5 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/referenceElement/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,6 @@ +[ + Reference, + Reference, + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_description_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_display_name_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_extensions_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/referenceElement/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..80330e4 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_description_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringTextType, + LangStringTextType +] + diff --git a/dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..9c16ce3 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_display_name_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringNameType, + LangStringNameType +] + diff --git a/dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..ce26d0e --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,5 @@ +[ + EmbeddedDataSpecification, + EmbeddedDataSpecification +] + diff --git a/dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..98e2d25 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_extensions_or_empty.trace @@ -0,0 +1,5 @@ +[ + Extension, + Extension +] + diff --git a/dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..98a4d0d --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,6 @@ +[ + Qualifier, + Qualifier, + Qualifier +] + diff --git a/dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..d7ee7b5 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/relationshipElement/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,6 @@ +[ + Reference, + Reference, + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_description_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_display_name_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_extensions_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/relationshipElement/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/specificAssetId/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/specificAssetId/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..d7ee7b5 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/specificAssetId/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,6 @@ +[ + Reference, + Reference, + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/specificAssetId/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/specificAssetId/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/specificAssetId/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..80330e4 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_description_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringTextType, + LangStringTextType +] + diff --git a/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..9c16ce3 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_display_name_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringNameType, + LangStringNameType +] + diff --git a/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..ce26d0e --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,5 @@ +[ + EmbeddedDataSpecification, + EmbeddedDataSpecification +] + diff --git a/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..98e2d25 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_extensions_or_empty.trace @@ -0,0 +1,5 @@ +[ + Extension, + Extension +] + diff --git a/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..98a4d0d --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,6 @@ +[ + Qualifier, + Qualifier, + Qualifier +] + diff --git a/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_submodel_elements_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_submodel_elements_or_empty.trace new file mode 100644 index 0000000..eed14c7 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_submodel_elements_or_empty.trace @@ -0,0 +1,5 @@ +[ + Property, + AnnotatedRelationshipElement +] + diff --git a/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..d7ee7b5 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodel/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,6 @@ +[ + Reference, + Reference, + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_description_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_display_name_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_extensions_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_submodel_elements_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_submodel_elements_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_submodel_elements_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodel/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..80330e4 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_description_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringTextType, + LangStringTextType +] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..9c16ce3 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_display_name_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringNameType, + LangStringNameType +] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..ce26d0e --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,5 @@ +[ + EmbeddedDataSpecification, + EmbeddedDataSpecification +] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..98e2d25 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_extensions_or_empty.trace @@ -0,0 +1,5 @@ +[ + Extension, + Extension +] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..98a4d0d --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,6 @@ +[ + Qualifier, + Qualifier, + Qualifier +] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..d7ee7b5 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,6 @@ +[ + Reference, + Reference, + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_value_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_value_or_empty.trace new file mode 100644 index 0000000..84deb39 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_maximal.xml/over_value_or_empty.trace @@ -0,0 +1,5 @@ +[ + Operation, + BasicEventElement +] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_description_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_display_name_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_extensions_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_value_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_value_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementCollection/on_minimal.xml/over_value_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..80330e4 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_description_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringTextType, + LangStringTextType +] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..9c16ce3 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_display_name_or_empty.trace @@ -0,0 +1,5 @@ +[ + LangStringNameType, + LangStringNameType +] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..ce26d0e --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,5 @@ +[ + EmbeddedDataSpecification, + EmbeddedDataSpecification +] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..98e2d25 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_extensions_or_empty.trace @@ -0,0 +1,5 @@ +[ + Extension, + Extension +] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..98a4d0d --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,6 @@ +[ + Qualifier, + Qualifier, + Qualifier +] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..d7ee7b5 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,6 @@ +[ + Reference, + Reference, + Reference +] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_value_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_value_or_empty.trace new file mode 100644 index 0000000..7abfc68 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementList/on_maximal.xml/over_value_or_empty.trace @@ -0,0 +1,5 @@ +[ + Property, + Property +] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_description_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_description_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_description_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_display_name_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_display_name_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_display_name_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_embedded_data_specifications_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_embedded_data_specifications_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_embedded_data_specifications_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_extensions_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_extensions_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_extensions_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_qualifiers_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_qualifiers_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_qualifiers_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_supplemental_semantic_ids_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_value_or_empty.trace b/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_value_or_empty.trace new file mode 100644 index 0000000..7dd4387 --- /dev/null +++ b/dev/test_data/test_over_X_or_empty/submodelElementList/on_minimal.xml/over_value_or_empty.trace @@ -0,0 +1,2 @@ +[] + diff --git a/dev/tests/__init__.py b/dev/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/dev/tests/common.py b/dev/tests/common.py new file mode 100644 index 0000000..beeccfc --- /dev/null +++ b/dev/tests/common.py @@ -0,0 +1,147 @@ +"""Provide functionality used across the tests.""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import base64 +import collections.abc +import difflib +import enum +import io +import json +import os +import pathlib +import textwrap +from typing import Union, Sequence + + +import aas_core3_2.common as our_common +import aas_core3_2.types as our_types + +_REPO_ROOT = pathlib.Path(os.path.realpath(__file__)).parent.parent.parent + + +#: Path to the directory which contains input and golden files +TEST_DATA_DIR = _REPO_ROOT / "dev" / "test_data" + + +#: If set, the golden files in the tests should be re-recorded instead +#: of checked against. +RECORD_MODE = os.environ.get("AAS_CORE3_2_TESTS_RECORD_MODE", "").lower() in ( + "1", + "on", + "true", +) + + +def record_or_check(path: pathlib.Path, got: str) -> None: + """ + Re-record or check that :paramref:`got` content matches the content of + :paramref:`path`. + + If :py:attr:`~RECORD_MODE` is set, the content of :paramref:`path` will be + simply overwritten with :paramref:`got` content, and no checks are performed. + + :param path: to the golden file + :param got: obtained content + :raise: :py:class:`AssertionError` if the contents do not match + """ + if RECORD_MODE: + path.parent.mkdir(exist_ok=True, parents=True) + path.write_text(got, encoding="utf-8") + else: + if not path.exists(): + raise FileNotFoundError( + f"The golden file could not be found: {path}; did you record it?" + ) + + expected = path.read_text(encoding="utf-8") + if expected != got: + writer = io.StringIO() + + diff = difflib.ndiff( + expected.splitlines(keepends=True), got.splitlines(keepends=True) + ) + + diff_text = "".join(diff) + writer.write(f"""\ +The obtained content and the content of {path} do not match: +{diff_text}""") + + raise AssertionError(writer.getvalue()) + + +#: Represent a value which can be traced, including the nested sequences +Traceable = Union[ + bool, + int, + float, + str, + bytes, + enum.Enum, + our_types.Class, + Sequence["Traceable"], +] + + +def trace(that: Traceable) -> str: + """ + Generate a segment in a trace of an iteration. + + :param that: to be traced + :return: segment in the descent trace + """ + if isinstance(that, our_types.Class): + return that.__class__.__name__ + elif isinstance(that, (bool, int, float, str, enum.Enum)): + return str(that) + elif isinstance(that, bytes): + return base64.b64encode(that).decode("ascii") + elif isinstance(that, collections.abc.Sequence): + if len(that) == 0: + return "[]" + writer = io.StringIO() + writer.write("[\n") + for i, item in enumerate(that): + writer.write(textwrap.indent(trace(item), " ")) + + if i < len(that) - 1: + writer.write(",\n") + else: + writer.write("\n") + + writer.write("]") + return writer.getvalue() + else: + our_common.assert_never(that) + + +def trace_json(that: our_types.JsonValue) -> str: + """ + Trace the JSON-able value as its JSON text. + + We sort the keys so that the trace does not depend on their order. + + :param that: to be traced + :return: JSON text of :paramref:`that` + """ + return json.dumps(that, sort_keys=True) + + +def trace_log_as_text_file_content(log: Sequence[str]) -> str: + """ + Convert the trace log to a text to be stored in a file. + + :param log: to be converted to text + :return: content of the file, including the new-line at the end + """ + writer = io.StringIO() + for entry in log: + writer.write(f"{entry}\n") + writer.write("\n") + return writer.getvalue() + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/dev/tests/common_jsonization.py b/dev/tests/common_jsonization.py new file mode 100644 index 0000000..afd3bb5 --- /dev/null +++ b/dev/tests/common_jsonization.py @@ -0,0 +1,454 @@ +"""Provide common functionality for JSON de/serialization in tests.""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import collections.abc +import json +import pathlib +import sys +from typing import Callable, Iterator, Mapping, Type + +if sys.version_info >= (3, 8): + from typing import Final +else: + from typing_extensions import Final + + +import aas_core3_2.common as our_common +import aas_core3_2.jsonization as our_jsonization +import aas_core3_2.types as our_types + + +class Difference: + """Represent a single difference between two JSON-ables.""" + + #: Human-readable description of the difference + message: Final[str] + + #: Path in the expected JSON-able value which is different from + #: the obtained JSON-able value + path: Final[our_jsonization.Path] + + def __init__(self, message: str) -> None: + """Initialize with the given message and empty path.""" + self.message = message + self.path = our_jsonization.Path() + + def __str__(self) -> str: + return f"#{self.path}: {self.message}" + + +def check_equal( + expected: our_jsonization.Jsonable, + got: our_jsonization.Jsonable, +) -> Iterator[Difference]: + """ + Compare recursively two JSON-able values for equality. + + :param expected: expected JSON-able value + :param got: obtained JSON-able value + :yield: differences + """ + if isinstance(expected, (bool, int, float, str, bytes)): + if type(expected) is not type(got): + yield Difference(f"Expected {type(expected)}, but got {type(got)}") + + if expected != got: + yield Difference(f"Expected {expected!r}, but got {got!r}") + elif isinstance(expected, collections.abc.Sequence): + if not isinstance(got, collections.abc.Sequence): + yield Difference(f"Expected a sequence, but got {type(got)}") + else: + if len(expected) != len(got): + yield Difference( + f"Expected a sequence of {len(expected)} item(s), " + f"but got {len(got)} item(s)" + ) + + for i, (expected_item, got_item) in enumerate(zip(expected, got)): + for difference in check_equal(expected_item, got_item): + difference.path._prepend(our_jsonization.IndexSegment(expected, i)) + yield difference + + elif isinstance(expected, collections.abc.Mapping): + if not isinstance(got, collections.abc.Mapping): + yield Difference(f"Expected a mapping, but got {type(got)}") + else: + if not all(isinstance(key, str) for key in expected): + raise ValueError( + f"Expected all keys in the expected JSON-able value to be strings, " + f"but got: {list(expected.keys())}" + ) + + if not all(isinstance(key, str) for key in got): + yield Difference( + f"Expected all keys in a mapping to be strings, " + f"but got: {list(got.keys())}" + ) + + expected_key_set = set(expected.keys()) + got_key_set = set(got.keys()) + + expected_got_diff = expected_key_set.difference(got_key_set) + if expected_got_diff: + yield Difference(f"Expected key(s) {sorted(expected_got_diff)} missing") + + got_expected_diff = got_key_set.difference(expected_key_set) + if got_expected_diff: + yield Difference(f"Unexpected key(s) {sorted(got_expected_diff)}") + + for key, expected_value in expected.items(): + got_value = got[key] + + for difference in check_equal(expected_value, got_value): + difference.path._prepend( + our_jsonization.PropertySegment(expected, key) + ) + yield difference + else: + our_common.assert_never(expected) + + +_MODEL_TYPE_TO_FROM_JSONABLE: Mapping[ + str, Callable[[our_jsonization.Jsonable], our_types.Class] +] = { + "AdministrativeInformation": our_jsonization.administrative_information_from_jsonable, + "AndExpression": our_jsonization.and_expression_from_jsonable, + "AnnotatedRelationshipElement": our_jsonization.annotated_relationship_element_from_jsonable, + "AnnotatedRelationshipElementMetadata": our_jsonization.annotated_relationship_element_metadata_from_jsonable, + "AnnotatedRelationshipElementValue": our_jsonization.annotated_relationship_element_value_from_jsonable, + "AssetAdministrationShell": our_jsonization.asset_administration_shell_from_jsonable, + "AssetAdministrationShellDescriptor": our_jsonization.asset_administration_shell_descriptor_from_jsonable, + "AssetAdministrationShellMetadata": our_jsonization.asset_administration_shell_metadata_from_jsonable, + "AssetAdministrationShellRecentChange": our_jsonization.asset_administration_shell_recent_change_from_jsonable, + "AssetInformation": our_jsonization.asset_information_from_jsonable, + "AssetLink": our_jsonization.asset_link_from_jsonable, + "AttributeOperand": our_jsonization.attribute_operand_from_jsonable, + "BaseOperationResult": our_jsonization.base_operation_result_from_jsonable, + "BasicEventElement": our_jsonization.basic_event_element_from_jsonable, + "BasicEventElementMetadata": our_jsonization.basic_event_element_metadata_from_jsonable, + "BasicEventElementValue": our_jsonization.basic_event_element_value_from_jsonable, + "Blob": our_jsonization.blob_from_jsonable, + "BlobMetadata": our_jsonization.blob_metadata_from_jsonable, + "BlobValue": our_jsonization.blob_value_from_jsonable, + "BooleanCast": our_jsonization.boolean_cast_from_jsonable, + "BooleanLiteral": our_jsonization.boolean_literal_from_jsonable, + "Capability": our_jsonization.capability_from_jsonable, + "CapabilityMetadata": our_jsonization.capability_metadata_from_jsonable, + "ClaimAttribute": our_jsonization.claim_attribute_from_jsonable, + "ConceptDescription": our_jsonization.concept_description_from_jsonable, + "ConceptDescriptionRecentChange": our_jsonization.concept_description_recent_change_from_jsonable, + "ContainsComparison": our_jsonization.contains_comparison_from_jsonable, + "DataSpecificationIec61360": our_jsonization.data_specification_iec_61360_from_jsonable, + "DataSpecificationUom": our_jsonization.data_specification_uom_from_jsonable, + "DateTimeAttributeItem": our_jsonization.date_time_attribute_item_from_jsonable, + "DateTimeAttributeOperand": our_jsonization.date_time_attribute_operand_from_jsonable, + "DateTimeCast": our_jsonization.date_time_cast_from_jsonable, + "DateTimeLiteral": our_jsonization.date_time_literal_from_jsonable, + "DayOfMonth": our_jsonization.day_of_month_from_jsonable, + "DayOfWeek": our_jsonization.day_of_week_from_jsonable, + "DefinitionTypeUom": our_jsonization.definition_type_uom_from_jsonable, + "EmbeddedDataSpecification": our_jsonization.embedded_data_specification_from_jsonable, + "Endpoint": our_jsonization.endpoint_from_jsonable, + "EndsWithComparison": our_jsonization.ends_with_comparison_from_jsonable, + "Entity": our_jsonization.entity_from_jsonable, + "EntityMetadata": our_jsonization.entity_metadata_from_jsonable, + "EntityValue": our_jsonization.entity_value_from_jsonable, + "Environment": our_jsonization.environment_from_jsonable, + "EqualComparison": our_jsonization.equal_comparison_from_jsonable, + "EventPayload": our_jsonization.event_payload_from_jsonable, + "Extension": our_jsonization.extension_from_jsonable, + "FieldOperand": our_jsonization.field_operand_from_jsonable, + "File": our_jsonization.file_from_jsonable, + "FileMetadata": our_jsonization.file_metadata_from_jsonable, + "FileValue": our_jsonization.file_value_from_jsonable, + "GetAllAssetAdministrationShellsRecentChangesResult": our_jsonization.get_all_asset_administration_shells_recent_changes_result_from_jsonable, + "GetAllConceptDescriptionsRecentChangesResult": our_jsonization.get_all_concept_descriptions_recent_changes_result_from_jsonable, + "GetAllSubmodelsRecentChangesResult": our_jsonization.get_all_submodels_recent_changes_result_from_jsonable, + "GetAssetAdministrationShellDescriptorsResult": our_jsonization.get_asset_administration_shell_descriptors_result_from_jsonable, + "GetAssetAdministrationShellsMetadataResult": our_jsonization.get_asset_administration_shells_metadata_result_from_jsonable, + "GetAssetAdministrationShellsResult": our_jsonization.get_asset_administration_shells_result_from_jsonable, + "GetConceptDescriptionsResult": our_jsonization.get_concept_descriptions_result_from_jsonable, + "GetPackageDescriptionsResult": our_jsonization.get_package_descriptions_result_from_jsonable, + "GetPathItemsResult": our_jsonization.get_path_items_result_from_jsonable, + "GetReferencesResult": our_jsonization.get_references_result_from_jsonable, + "GetSubmodelDescriptorsResult": our_jsonization.get_submodel_descriptors_result_from_jsonable, + "GetSubmodelElementsMetadataResult": our_jsonization.get_submodel_elements_metadata_result_from_jsonable, + "GetSubmodelElementsResult": our_jsonization.get_submodel_elements_result_from_jsonable, + "GetSubmodelElementsValueResult": our_jsonization.get_submodel_elements_value_result_from_jsonable, + "GetSubmodelsMetadataResult": our_jsonization.get_submodels_metadata_result_from_jsonable, + "GetSubmodelsResult": our_jsonization.get_submodels_result_from_jsonable, + "GetSubmodelsValueResult": our_jsonization.get_submodels_value_result_from_jsonable, + "GlobalAttribute": our_jsonization.global_attribute_from_jsonable, + "GreaterThanComparison": our_jsonization.greater_than_comparison_from_jsonable, + "GreaterThanOrEqualComparison": our_jsonization.greater_than_or_equal_comparison_from_jsonable, + "HexCast": our_jsonization.hex_cast_from_jsonable, + "HexLiteral": our_jsonization.hex_literal_from_jsonable, + "Key": our_jsonization.key_from_jsonable, + "LangStringDefinitionTypeIec61360": our_jsonization.lang_string_definition_type_iec_61360_from_jsonable, + "LangStringNameType": our_jsonization.lang_string_name_type_from_jsonable, + "LangStringPreferredNameTypeIec61360": our_jsonization.lang_string_preferred_name_type_iec_61360_from_jsonable, + "LangStringShortNameTypeIec61360": our_jsonization.lang_string_short_name_type_iec_61360_from_jsonable, + "LangStringTextType": our_jsonization.lang_string_text_type_from_jsonable, + "LangStringUom": our_jsonization.lang_string_uom_from_jsonable, + "LessThanComparison": our_jsonization.less_than_comparison_from_jsonable, + "LessThanOrEqualComparison": our_jsonization.less_than_or_equal_comparison_from_jsonable, + "LevelType": our_jsonization.level_type_from_jsonable, + "MatchClause": our_jsonization.match_clause_from_jsonable, + "Message": our_jsonization.message_from_jsonable, + "Month": our_jsonization.month_from_jsonable, + "MultiLanguageProperty": our_jsonization.multi_language_property_from_jsonable, + "MultiLanguagePropertyMetadata": our_jsonization.multi_language_property_metadata_from_jsonable, + "NotEqualComparison": our_jsonization.not_equal_comparison_from_jsonable, + "NotExpression": our_jsonization.not_expression_from_jsonable, + "NumberCast": our_jsonization.number_cast_from_jsonable, + "NumberLiteral": our_jsonization.number_literal_from_jsonable, + "Operation": our_jsonization.operation_from_jsonable, + "OperationHandle": our_jsonization.operation_handle_from_jsonable, + "OperationMetadata": our_jsonization.operation_metadata_from_jsonable, + "OperationRequest": our_jsonization.operation_request_from_jsonable, + "OperationRequestAsync": our_jsonization.operation_request_async_from_jsonable, + "OperationRequestAsyncValueOnly": our_jsonization.operation_request_async_value_only_from_jsonable, + "OperationRequestValueOnly": our_jsonization.operation_request_value_only_from_jsonable, + "OperationResult": our_jsonization.operation_result_from_jsonable, + "OperationResultValueOnly": our_jsonization.operation_result_value_only_from_jsonable, + "OperationVariable": our_jsonization.operation_variable_from_jsonable, + "OrExpression": our_jsonization.or_expression_from_jsonable, + "PackageDescription": our_jsonization.package_description_from_jsonable, + "PagedResult": our_jsonization.paged_result_from_jsonable, + "PagingMetadata": our_jsonization.paging_metadata_from_jsonable, + "Property": our_jsonization.property_from_jsonable, + "PropertyMetadata": our_jsonization.property_metadata_from_jsonable, + "ProtocolInformation": our_jsonization.protocol_information_from_jsonable, + "Qualifier": our_jsonization.qualifier_from_jsonable, + "Query": our_jsonization.query_from_jsonable, + "QueryFilter": our_jsonization.query_filter_from_jsonable, + "Range": our_jsonization.range_from_jsonable, + "RangeMetadata": our_jsonization.range_metadata_from_jsonable, + "RangeValue": our_jsonization.range_value_from_jsonable, + "Reference": our_jsonization.reference_from_jsonable, + "ReferenceAttribute": our_jsonization.reference_attribute_from_jsonable, + "ReferenceElement": our_jsonization.reference_element_from_jsonable, + "ReferenceElementMetadata": our_jsonization.reference_element_metadata_from_jsonable, + "ReferenceElementValue": our_jsonization.reference_element_value_from_jsonable, + "RegexComparison": our_jsonization.regex_comparison_from_jsonable, + "RelationshipElement": our_jsonization.relationship_element_from_jsonable, + "RelationshipElementMetadata": our_jsonization.relationship_element_metadata_from_jsonable, + "RelationshipElementValue": our_jsonization.relationship_element_value_from_jsonable, + "Resource": our_jsonization.resource_from_jsonable, + "Result": our_jsonization.result_from_jsonable, + "SecurityAttributeObject": our_jsonization.security_attribute_object_from_jsonable, + "ServiceDescription": our_jsonization.service_description_from_jsonable, + "SpecificAssetId": our_jsonization.specific_asset_id_from_jsonable, + "StartsWithComparison": our_jsonization.starts_with_comparison_from_jsonable, + "StringCast": our_jsonization.string_cast_from_jsonable, + "StringLiteral": our_jsonization.string_literal_from_jsonable, + "Submodel": our_jsonization.submodel_from_jsonable, + "SubmodelDescriptor": our_jsonization.submodel_descriptor_from_jsonable, + "SubmodelElementCollection": our_jsonization.submodel_element_collection_from_jsonable, + "SubmodelElementCollectionMetadata": our_jsonization.submodel_element_collection_metadata_from_jsonable, + "SubmodelElementList": our_jsonization.submodel_element_list_from_jsonable, + "SubmodelElementListMetadata": our_jsonization.submodel_element_list_metadata_from_jsonable, + "SubmodelMetadata": our_jsonization.submodel_metadata_from_jsonable, + "SubmodelRecentChange": our_jsonization.submodel_recent_change_from_jsonable, + "TimeCast": our_jsonization.time_cast_from_jsonable, + "TimeLiteral": our_jsonization.time_literal_from_jsonable, + "ValueList": our_jsonization.value_list_from_jsonable, + "ValueReferencePair": our_jsonization.value_reference_pair_from_jsonable, + "Year": our_jsonization.year_from_jsonable, +} + + +_MODEL_TYPE_TO_CLASS: Mapping[str, Type[our_types.Class]] = { + "AdministrativeInformation": our_types.AdministrativeInformation, + "AndExpression": our_types.AndExpression, + "AnnotatedRelationshipElement": our_types.AnnotatedRelationshipElement, + "AnnotatedRelationshipElementMetadata": our_types.AnnotatedRelationshipElementMetadata, + "AnnotatedRelationshipElementValue": our_types.AnnotatedRelationshipElementValue, + "AssetAdministrationShell": our_types.AssetAdministrationShell, + "AssetAdministrationShellDescriptor": our_types.AssetAdministrationShellDescriptor, + "AssetAdministrationShellMetadata": our_types.AssetAdministrationShellMetadata, + "AssetAdministrationShellRecentChange": our_types.AssetAdministrationShellRecentChange, + "AssetInformation": our_types.AssetInformation, + "AssetLink": our_types.AssetLink, + "AttributeOperand": our_types.AttributeOperand, + "BaseOperationResult": our_types.BaseOperationResult, + "BasicEventElement": our_types.BasicEventElement, + "BasicEventElementMetadata": our_types.BasicEventElementMetadata, + "BasicEventElementValue": our_types.BasicEventElementValue, + "Blob": our_types.Blob, + "BlobMetadata": our_types.BlobMetadata, + "BlobValue": our_types.BlobValue, + "BooleanCast": our_types.BooleanCast, + "BooleanLiteral": our_types.BooleanLiteral, + "Capability": our_types.Capability, + "CapabilityMetadata": our_types.CapabilityMetadata, + "ClaimAttribute": our_types.ClaimAttribute, + "ConceptDescription": our_types.ConceptDescription, + "ConceptDescriptionRecentChange": our_types.ConceptDescriptionRecentChange, + "ContainsComparison": our_types.ContainsComparison, + "DataSpecificationIec61360": our_types.DataSpecificationIEC61360, + "DataSpecificationUom": our_types.DataSpecificationUom, + "DateTimeAttributeItem": our_types.DateTimeAttributeItem, + "DateTimeAttributeOperand": our_types.DateTimeAttributeOperand, + "DateTimeCast": our_types.DateTimeCast, + "DateTimeLiteral": our_types.DateTimeLiteral, + "DayOfMonth": our_types.DayOfMonth, + "DayOfWeek": our_types.DayOfWeek, + "DefinitionTypeUom": our_types.DefinitionTypeUom, + "EmbeddedDataSpecification": our_types.EmbeddedDataSpecification, + "Endpoint": our_types.Endpoint, + "EndsWithComparison": our_types.EndsWithComparison, + "Entity": our_types.Entity, + "EntityMetadata": our_types.EntityMetadata, + "EntityValue": our_types.EntityValue, + "Environment": our_types.Environment, + "EqualComparison": our_types.EqualComparison, + "EventPayload": our_types.EventPayload, + "Extension": our_types.Extension, + "FieldOperand": our_types.FieldOperand, + "File": our_types.File, + "FileMetadata": our_types.FileMetadata, + "FileValue": our_types.FileValue, + "GetAllAssetAdministrationShellsRecentChangesResult": our_types.GetAllAssetAdministrationShellsRecentChangesResult, + "GetAllConceptDescriptionsRecentChangesResult": our_types.GetAllConceptDescriptionsRecentChangesResult, + "GetAllSubmodelsRecentChangesResult": our_types.GetAllSubmodelsRecentChangesResult, + "GetAssetAdministrationShellDescriptorsResult": our_types.GetAssetAdministrationShellDescriptorsResult, + "GetAssetAdministrationShellsMetadataResult": our_types.GetAssetAdministrationShellsMetadataResult, + "GetAssetAdministrationShellsResult": our_types.GetAssetAdministrationShellsResult, + "GetConceptDescriptionsResult": our_types.GetConceptDescriptionsResult, + "GetPackageDescriptionsResult": our_types.GetPackageDescriptionsResult, + "GetPathItemsResult": our_types.GetPathItemsResult, + "GetReferencesResult": our_types.GetReferencesResult, + "GetSubmodelDescriptorsResult": our_types.GetSubmodelDescriptorsResult, + "GetSubmodelElementsMetadataResult": our_types.GetSubmodelElementsMetadataResult, + "GetSubmodelElementsResult": our_types.GetSubmodelElementsResult, + "GetSubmodelElementsValueResult": our_types.GetSubmodelElementsValueResult, + "GetSubmodelsMetadataResult": our_types.GetSubmodelsMetadataResult, + "GetSubmodelsResult": our_types.GetSubmodelsResult, + "GetSubmodelsValueResult": our_types.GetSubmodelsValueResult, + "GlobalAttribute": our_types.GlobalAttribute, + "GreaterThanComparison": our_types.GreaterThanComparison, + "GreaterThanOrEqualComparison": our_types.GreaterThanOrEqualComparison, + "HexCast": our_types.HexCast, + "HexLiteral": our_types.HexLiteral, + "Key": our_types.Key, + "LangStringDefinitionTypeIec61360": our_types.LangStringDefinitionTypeIEC61360, + "LangStringNameType": our_types.LangStringNameType, + "LangStringPreferredNameTypeIec61360": our_types.LangStringPreferredNameTypeIEC61360, + "LangStringShortNameTypeIec61360": our_types.LangStringShortNameTypeIEC61360, + "LangStringTextType": our_types.LangStringTextType, + "LangStringUom": our_types.LangStringUom, + "LessThanComparison": our_types.LessThanComparison, + "LessThanOrEqualComparison": our_types.LessThanOrEqualComparison, + "LevelType": our_types.LevelType, + "MatchClause": our_types.MatchClause, + "Message": our_types.Message, + "Month": our_types.Month, + "MultiLanguageProperty": our_types.MultiLanguageProperty, + "MultiLanguagePropertyMetadata": our_types.MultiLanguagePropertyMetadata, + "NotEqualComparison": our_types.NotEqualComparison, + "NotExpression": our_types.NotExpression, + "NumberCast": our_types.NumberCast, + "NumberLiteral": our_types.NumberLiteral, + "Operation": our_types.Operation, + "OperationHandle": our_types.OperationHandle, + "OperationMetadata": our_types.OperationMetadata, + "OperationRequest": our_types.OperationRequest, + "OperationRequestAsync": our_types.OperationRequestAsync, + "OperationRequestAsyncValueOnly": our_types.OperationRequestAsyncValueOnly, + "OperationRequestValueOnly": our_types.OperationRequestValueOnly, + "OperationResult": our_types.OperationResult, + "OperationResultValueOnly": our_types.OperationResultValueOnly, + "OperationVariable": our_types.OperationVariable, + "OrExpression": our_types.OrExpression, + "PackageDescription": our_types.PackageDescription, + "PagedResult": our_types.PagedResult, + "PagingMetadata": our_types.PagingMetadata, + "Property": our_types.Property, + "PropertyMetadata": our_types.PropertyMetadata, + "ProtocolInformation": our_types.ProtocolInformation, + "Qualifier": our_types.Qualifier, + "Query": our_types.Query, + "QueryFilter": our_types.QueryFilter, + "Range": our_types.Range, + "RangeMetadata": our_types.RangeMetadata, + "RangeValue": our_types.RangeValue, + "Reference": our_types.Reference, + "ReferenceAttribute": our_types.ReferenceAttribute, + "ReferenceElement": our_types.ReferenceElement, + "ReferenceElementMetadata": our_types.ReferenceElementMetadata, + "ReferenceElementValue": our_types.ReferenceElementValue, + "RegexComparison": our_types.RegexComparison, + "RelationshipElement": our_types.RelationshipElement, + "RelationshipElementMetadata": our_types.RelationshipElementMetadata, + "RelationshipElementValue": our_types.RelationshipElementValue, + "Resource": our_types.Resource, + "Result": our_types.Result, + "SecurityAttributeObject": our_types.SecurityAttributeObject, + "ServiceDescription": our_types.ServiceDescription, + "SpecificAssetId": our_types.SpecificAssetID, + "StartsWithComparison": our_types.StartsWithComparison, + "StringCast": our_types.StringCast, + "StringLiteral": our_types.StringLiteral, + "Submodel": our_types.Submodel, + "SubmodelDescriptor": our_types.SubmodelDescriptor, + "SubmodelElementCollection": our_types.SubmodelElementCollection, + "SubmodelElementCollectionMetadata": our_types.SubmodelElementCollectionMetadata, + "SubmodelElementList": our_types.SubmodelElementList, + "SubmodelElementListMetadata": our_types.SubmodelElementListMetadata, + "SubmodelMetadata": our_types.SubmodelMetadata, + "SubmodelRecentChange": our_types.SubmodelRecentChange, + "TimeCast": our_types.TimeCast, + "TimeLiteral": our_types.TimeLiteral, + "ValueList": our_types.ValueList, + "ValueReferencePair": our_types.ValueReferencePair, + "Year": our_types.Year, +} + + +def must_load(path: pathlib.Path, model_type: str) -> our_types.Class: + """ + Load an instance from ``path``. + + The class of the instance must correspond to the ``model_type``. + """ + try: + jsonable = json.loads(path.read_text(encoding="utf-8")) + except Exception as exception: + raise RuntimeError(f"Failed to read from {path}") from exception + + from_jsonable = _MODEL_TYPE_TO_FROM_JSONABLE.get(model_type) + if from_jsonable is None: + raise AssertionError( + "The model type is not mapped to " + f"the from_jsonable function: {model_type!r}" + ) + + try: + instance = from_jsonable(jsonable) + except Exception as exception: + raise RuntimeError( + "Failed to parse the instance " f"with model type {model_type} from {path}" + ) from exception + + cls = _MODEL_TYPE_TO_CLASS.get(model_type) + if cls is None: + raise AssertionError( + "The model type is not mapped to the class: {model_type!r}" + ) + + if not isinstance(instance, cls): + raise RuntimeError( + f"Expected an instance with model type {model_type!r}, " + f"corresponding to class {cls}, " + f"but got an instance {instance}" + ) + + return instance + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/dev/tests/common_xmlization.py b/dev/tests/common_xmlization.py new file mode 100644 index 0000000..809e509 --- /dev/null +++ b/dev/tests/common_xmlization.py @@ -0,0 +1,181 @@ +"""Provide common functionality for XML de/serialization in tests.""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import io +import pathlib +import sys +from typing import Iterator, Optional +import xml.etree.ElementTree as ET + +if sys.version_info >= (3, 8): + from typing import Final +else: + from typing_extensions import Final + + +import aas_core3_2.types as our_types +import aas_core3_2.xmlization as our_xmlization + + +class Difference: + """Represent a single difference between two XML documents.""" + + #: Human-readable description of the difference + message: Final[str] + + #: Path to the expected XML element which is different from + #: the obtained XML element + path: Final[our_xmlization.Path] + + def __init__(self, message: str) -> None: + """Initialize with the given message and empty path.""" + self.message = message + self.path = our_xmlization.Path() + + def __str__(self) -> str: + return f"#{self.path}: {self.message}" + + +def remove_redundant_whitespace(element: ET.Element) -> None: + """ + Remove the whitespace which will be ignored in the XML parsing. + + :param element: to remove the whitespace from + """ + if len(element) > 0: + if element.text is not None and len(element.text.strip()) == 0: + element.text = None + + for child in element: + if child.tail is not None and len(child.tail.strip()) == 0: + child.tail = None + + remove_redundant_whitespace(child) + + +def check_equal( + expected: ET.Element, + got: ET.Element, +) -> Iterator[Difference]: + """ + Compare recursively two XML elements for equality. + + Make sure you called :py:function:`.remove_redundant_whitespace` + so that your comparison does not trip over trivial whitespace. + + :param expected: expected XML element + :param got: obtained XML element + :yield: differences + """ + # NOTE (mristin): + # We need to ignore the white-space before the children as it is ignored + # by the XML parser. + + stop_recursion = False + if expected.text is not None and got.text is None: + stop_recursion = True + yield Difference(f"Expected text {expected.text!r}, but got none") + + if expected.text is None and got.text is not None: + stop_recursion = True + yield Difference(f"Expected no text, but got {got.text!r}") + + if expected.tail is not None and got.tail is None: + stop_recursion = True + yield Difference(f"Expected tail {expected.tail!r}, but got none") + + if expected.tail is None and got.tail is not None: + stop_recursion = True + yield Difference(f"Expected no tail, but got {got.tail!r}") + + if expected.text is not None and got.text is not None and expected.text != got.text: + stop_recursion = True + yield Difference(f"Expected text {expected.text!r}, but got {got.text!r}") + + if expected.tail is not None and got.tail is not None and expected.tail != got.tail: + stop_recursion = True + yield Difference(f"Expected tail {expected.tail!r}, but got {got.tail!r}") + + if expected.tag != got.tag: + stop_recursion = True + yield Difference(f"Expected tail {expected.tag!r}, but got {got.tag!r}") + + expected_children = list(expected) + got_children = list(got) + + if len(expected_children) != len(got_children): + stop_recursion = True + yield Difference( + f"Expected {len(expected_children)} child element(s), " + f"but got {len(got_children)} child element(s)" + ) + + children_tag_unique = len({child.tag for child in expected_children}) == len( + expected_children + ) + + if stop_recursion: + return + + for i, (expected_child, got_child) in enumerate( + zip(expected_children, got_children) + ): + for difference in check_equal(expected_child, got_child): + if children_tag_unique: + difference.path._prepend(our_xmlization.ElementSegment(expected_child)) + else: + difference.path._prepend(our_xmlization.IndexSegment(expected_child, i)) + + yield difference + + +def assert_elements_equal( + expected: ET.Element, got: ET.Element, message_if_not_equal: Optional[str] = None +) -> None: + """ + Assert that the two elements are equal. + + Make sure you called :py:function:`.remove_redundant_whitespace` + so that your comparison does not trip over trivial whitespace. + + :param expected: what you expected + :param got: what you got + :param message_if_not_equal: description or identifier to help debugging + :raise: :py:class:`AssertionError` if the two elements are not equal + """ + findings_text = "\n".join( + str(difference) for difference in check_equal(expected=expected, got=got) + ) + + if len(findings_text) != 0: + writer = io.StringIO() + writer.write( + f"Expected two elements to be equal, but they are not. " + f"Differences related to the expected element:\n" + f"{findings_text}" + ) + + if message_if_not_equal is not None: + writer.write("\n\n") + writer.write(message_if_not_equal) + + raise AssertionError(writer.getvalue()) + + +def must_load( + path: pathlib.Path, +) -> our_types.Class: + """Load an instance from ``path``.""" + try: + instance = our_xmlization.from_file(path) + except Exception as exception: + raise RuntimeError(f"Failed to read from {path}") from exception + + return instance + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/dev/tests/test_arithmetic.py b/dev/tests/test_arithmetic.py new file mode 100644 index 0000000..9076f7a --- /dev/null +++ b/dev/tests/test_arithmetic.py @@ -0,0 +1,92 @@ +""" +Test the arithmetic operations used in the verification. + +The meta-model is written in Python, so the invariants follow the Python semantics +of the modulo and ``abs``. In particular, the remainder of the modulo takes +the sign of the divisor (``-7 % 3 == 2``). Mind that the native modulo in many +other languages, such as C#, C++, Go, Java and TypeScript, takes the sign of +the dividend instead (``-7 % 3 == -1``). Hence, the other SDKs follow the Python +semantics with dedicated helper functions, and test the very same cases. +""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import unittest + + +class TestArithmetic(unittest.TestCase): + def test_modulo_0(self) -> None: + # both operands positive + self.assertEqual(1, 7 % 3) + + def test_modulo_1(self) -> None: + # the remainder takes the sign of the positive divisor + self.assertEqual(2, -7 % 3) + + def test_modulo_2(self) -> None: + # the remainder takes the sign of the negative divisor + self.assertEqual(-2, 7 % -3) + + def test_modulo_3(self) -> None: + # both operands negative + self.assertEqual(-1, -7 % -3) + + def test_modulo_4(self) -> None: + # divisible, positive dividend + self.assertEqual(0, 6 % 3) + + def test_modulo_5(self) -> None: + # divisible, negative dividend + self.assertEqual(0, -6 % 3) + + def test_modulo_6(self) -> None: + # divisible, negative divisor + self.assertEqual(0, 6 % -3) + + def test_modulo_7(self) -> None: + # zero dividend, positive divisor + self.assertEqual(0, 0 % 3) + + def test_modulo_8(self) -> None: + # zero dividend, negative divisor + self.assertEqual(0, 0 % -3) + + def test_modulo_9(self) -> None: + # dividend smaller than the positive divisor + self.assertEqual(2, 2 % 5) + + def test_modulo_10(self) -> None: + # negative dividend smaller than the divisor + self.assertEqual(3, -2 % 5) + + def test_modulo_11(self) -> None: + # largest 64-bit integer, which is odd, by a positive divisor + self.assertEqual(1, 9223372036854775807 % 2) + + def test_modulo_12(self) -> None: + # largest 64-bit integer by a negative divisor + self.assertEqual(-1, 9223372036854775807 % -2) + + def test_modulo_13(self) -> None: + # smallest 64-bit integer by a positive divisor + self.assertEqual(1, -9223372036854775808 % 3) + + def test_modulo_14(self) -> None: + # smallest 64-bit integer by -1, which overflows with the native operator in some languages + self.assertEqual(0, -9223372036854775808 % -1) + + def test_modulo_15(self) -> None: + # smallest 64-bit integer by the largest one + self.assertEqual( + 9223372036854775806, -9223372036854775808 % 9223372036854775807 + ) + + +if __name__ == "__main__": + unittest.main() + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/dev/tests/test_descend_and_pass_through_visitor.py b/dev/tests/test_descend_and_pass_through_visitor.py new file mode 100644 index 0000000..3fabada --- /dev/null +++ b/dev/tests/test_descend_and_pass_through_visitor.py @@ -0,0 +1,98 @@ +""" +Test jointly :py:method:`aas_core3_2.types.Class.descend` and +:py:method:`aas_core3_2.types.PassThroughVisitor`. +""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +from typing import List, Sequence +import unittest + + +import aas_core3_2.types as our_types + + +import tests.common +import tests.common_xmlization + + +class _TracingVisitor(our_types.PassThroughVisitor): + """Visit the instances and trace them.""" + + def __init__(self) -> None: + """Initialize with an empty log.""" + self._log: List[str] = [] + + @property + def log(self) -> Sequence[str]: + """Get the tracing log.""" + return self._log + + def visit(self, that: our_types.Class) -> None: + self._log.append(tests.common.trace(that)) + super().visit(that) + + +def assert_tracing_logs_from_descend_and_visitor_are_the_same( + that: our_types.Class, test_case: unittest.TestCase +) -> None: + """ + Check that the tracing logs are the same when :paramref:`that` instance + is visited and when :paramref:`that` is ran through + :py:method:`our_types.Class.descend`. + + :param that: instance to be iterated over + :param test_case: in which this assertion runs + :raise: :py:class:`AssertionError` if the logs differ + """ + log_from_descend = [tests.common.trace(something) for something in that.descend()] + + visitor = _TracingVisitor() + visitor.visit(that) + log_from_visitor = visitor.log + + test_case.assertGreater(len(log_from_visitor), 0) + test_case.assertEqual(tests.common.trace(that), log_from_visitor[0]) + + test_case.assertSequenceEqual(log_from_descend, log_from_visitor[1:]) + + +class TestWithExpectedMaximal(unittest.TestCase): + def test_descend_against_recorded_trace_log(self) -> None: + xml_expected_dir = tests.common.TEST_DATA_DIR / "Xml" / "Expected" + + for path in sorted(xml_expected_dir.glob("**/maximal.xml")): + instance = tests.common_xmlization.must_load(path) + + rel_path = path.relative_to(xml_expected_dir) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "descend_and_pass_through_visitor" + / rel_path.parent + / f"{rel_path.name}.trace" + ) + + log = [tests.common.trace(something) for something in instance.descend()] + + got_text = tests.common.trace_log_as_text_file_content(log) + + tests.common.record_or_check(expected_path, got_text) + + def test_descend_against_visitor(self) -> None: + xml_expected_dir = tests.common.TEST_DATA_DIR / "Xml" / "Expected" + + for path in sorted(xml_expected_dir.glob("**/maximal.xml")): + instance = tests.common_xmlization.must_load(path) + + assert_tracing_logs_from_descend_and_visitor_are_the_same(instance, self) + + +if __name__ == "__main__": + unittest.main() + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/dev/tests/test_descend_once.py b/dev/tests/test_descend_once.py new file mode 100644 index 0000000..6bdce17 --- /dev/null +++ b/dev/tests/test_descend_once.py @@ -0,0 +1,44 @@ +"""Test :py:method:`aas_core3_2.types.Class.descend_once`.""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import unittest + + +import tests.common +import tests.common_xmlization + + +class TestWithExpectedMaximal(unittest.TestCase): + def test_descend_once_against_recorded_trace_log(self) -> None: + xml_expected_dir = tests.common.TEST_DATA_DIR / "Xml" / "Expected" + + for path in sorted(xml_expected_dir.glob("**/maximal.xml")): + instance = tests.common_xmlization.must_load(path) + + rel_path = path.relative_to(xml_expected_dir) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "descend_once" + / rel_path.parent + / f"{rel_path.name}.trace" + ) + + log = [ + tests.common.trace(something) for something in instance.descend_once() + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + tests.common.record_or_check(expected_path, got_text) + + +if __name__ == "__main__": + unittest.main() + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/dev/tests/test_for_over_x_or_empty.py b/dev/tests/test_for_over_x_or_empty.py new file mode 100644 index 0000000..6425d41 --- /dev/null +++ b/dev/tests/test_for_over_x_or_empty.py @@ -0,0 +1,7770 @@ +"""Test ``over_X_or_empty`` methods.""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import pathlib +import unittest + + +import aas_core3_2.types as our_types + + +import tests.common +import tests.common_xmlization + + +class TestExtension(unittest.TestCase): + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "extension" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Extension) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "extension" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_refers_to_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "extension" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Extension) + + log = [tests.common.trace(list(instance.over_refers_to_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "extension" + / f"on_{minimal_or_maximal}.xml" + / "over_refers_to_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestAdministrativeInformation(unittest.TestCase): + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "administrativeInformation" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AdministrativeInformation) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "administrativeInformation" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestQualifier(unittest.TestCase): + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "qualifier" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Qualifier) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "qualifier" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestAssetAdministrationShell(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetAdministrationShell" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AssetAdministrationShell) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "assetAdministrationShell" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetAdministrationShell" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AssetAdministrationShell) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "assetAdministrationShell" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetAdministrationShell" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AssetAdministrationShell) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "assetAdministrationShell" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetAdministrationShell" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AssetAdministrationShell) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "assetAdministrationShell" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_submodels_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetAdministrationShell" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AssetAdministrationShell) + + log = [tests.common.trace(list(instance.over_submodels_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "assetAdministrationShell" + / f"on_{minimal_or_maximal}.xml" + / "over_submodels_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestAssetInformation(unittest.TestCase): + def test_over_specific_asset_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetInformation" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AssetInformation) + + log = [ + tests.common.trace(list(instance.over_specific_asset_ids_or_empty())) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "assetInformation" + / f"on_{minimal_or_maximal}.xml" + / "over_specific_asset_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestSpecificAssetID(unittest.TestCase): + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "specificAssetId" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SpecificAssetID) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "specificAssetId" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestSubmodel(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodel" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Submodel) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodel" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodel" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Submodel) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodel" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodel" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Submodel) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodel" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodel" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Submodel) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodel" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodel" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Submodel) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodel" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodel" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Submodel) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodel" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_submodel_elements_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodel" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Submodel) + + log = [tests.common.trace(list(instance.over_submodel_elements_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodel" + / f"on_{minimal_or_maximal}.xml" + / "over_submodel_elements_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestRelationshipElement(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "relationshipElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.RelationshipElement) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "relationshipElement" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "relationshipElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.RelationshipElement) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "relationshipElement" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "relationshipElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.RelationshipElement) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "relationshipElement" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "relationshipElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.RelationshipElement) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "relationshipElement" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "relationshipElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.RelationshipElement) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "relationshipElement" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "relationshipElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.RelationshipElement) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "relationshipElement" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestSubmodelElementList(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementList" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementList) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementList" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementList" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementList) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementList" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementList" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementList) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementList" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementList" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementList) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementList" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementList" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementList) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementList" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementList" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementList) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementList" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_value_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementList" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementList) + + log = [tests.common.trace(list(instance.over_value_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementList" + / f"on_{minimal_or_maximal}.xml" + / "over_value_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestSubmodelElementCollection(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementCollection" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementCollection) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementCollection" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementCollection" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementCollection) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementCollection" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementCollection" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementCollection) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementCollection" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementCollection" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementCollection) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementCollection" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementCollection" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementCollection) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementCollection" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementCollection" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementCollection) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementCollection" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_value_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementCollection" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementCollection) + + log = [tests.common.trace(list(instance.over_value_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementCollection" + / f"on_{minimal_or_maximal}.xml" + / "over_value_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestProperty(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "property" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Property) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "property" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "property" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Property) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "property" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "property" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Property) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "property" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "property" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Property) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "property" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "property" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Property) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "property" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "property" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Property) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "property" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestMultiLanguageProperty(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "multiLanguageProperty" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.MultiLanguageProperty) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "multiLanguageProperty" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "multiLanguageProperty" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.MultiLanguageProperty) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "multiLanguageProperty" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "multiLanguageProperty" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.MultiLanguageProperty) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "multiLanguageProperty" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "multiLanguageProperty" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.MultiLanguageProperty) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "multiLanguageProperty" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "multiLanguageProperty" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.MultiLanguageProperty) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "multiLanguageProperty" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "multiLanguageProperty" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.MultiLanguageProperty) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "multiLanguageProperty" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_value_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "multiLanguageProperty" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.MultiLanguageProperty) + + log = [tests.common.trace(list(instance.over_value_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "multiLanguageProperty" + / f"on_{minimal_or_maximal}.xml" + / "over_value_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestRange(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "range" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Range) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "range" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "range" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Range) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "range" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "range" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Range) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "range" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "range" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Range) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "range" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "range" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Range) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "range" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "range" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Range) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "range" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestReferenceElement(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "referenceElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.ReferenceElement) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "referenceElement" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "referenceElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.ReferenceElement) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "referenceElement" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "referenceElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.ReferenceElement) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "referenceElement" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "referenceElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.ReferenceElement) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "referenceElement" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "referenceElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.ReferenceElement) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "referenceElement" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "referenceElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.ReferenceElement) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "referenceElement" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestBlob(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "blob" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Blob) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "blob" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "blob" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Blob) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "blob" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "blob" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Blob) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "blob" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "blob" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Blob) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "blob" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "blob" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Blob) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "blob" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "blob" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Blob) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "blob" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestFile(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "file" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.File) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "file" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "file" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.File) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "file" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "file" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.File) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "file" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "file" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.File) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "file" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "file" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.File) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "file" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "file" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.File) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "file" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestAnnotatedRelationshipElement(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "annotatedRelationshipElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AnnotatedRelationshipElement) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "annotatedRelationshipElement" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "annotatedRelationshipElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AnnotatedRelationshipElement) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "annotatedRelationshipElement" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "annotatedRelationshipElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AnnotatedRelationshipElement) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "annotatedRelationshipElement" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "annotatedRelationshipElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AnnotatedRelationshipElement) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "annotatedRelationshipElement" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "annotatedRelationshipElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AnnotatedRelationshipElement) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "annotatedRelationshipElement" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "annotatedRelationshipElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AnnotatedRelationshipElement) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "annotatedRelationshipElement" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_annotations_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "annotatedRelationshipElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AnnotatedRelationshipElement) + + log = [tests.common.trace(list(instance.over_annotations_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "annotatedRelationshipElement" + / f"on_{minimal_or_maximal}.xml" + / "over_annotations_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestEntity(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "entity" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Entity) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "entity" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "entity" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Entity) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "entity" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "entity" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Entity) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "entity" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "entity" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Entity) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "entity" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "entity" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Entity) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "entity" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "entity" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Entity) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "entity" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_statements_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "entity" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Entity) + + log = [tests.common.trace(list(instance.over_statements_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "entity" + / f"on_{minimal_or_maximal}.xml" + / "over_statements_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_specific_asset_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "entity" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Entity) + + log = [ + tests.common.trace(list(instance.over_specific_asset_ids_or_empty())) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "entity" + / f"on_{minimal_or_maximal}.xml" + / "over_specific_asset_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestBasicEventElement(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "basicEventElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.BasicEventElement) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "basicEventElement" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "basicEventElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.BasicEventElement) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "basicEventElement" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "basicEventElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.BasicEventElement) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "basicEventElement" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "basicEventElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.BasicEventElement) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "basicEventElement" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "basicEventElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.BasicEventElement) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "basicEventElement" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "basicEventElement" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.BasicEventElement) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "basicEventElement" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestOperation(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operation" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Operation) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operation" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operation" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Operation) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operation" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operation" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Operation) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operation" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operation" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Operation) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operation" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operation" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Operation) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operation" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operation" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Operation) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operation" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_input_variables_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operation" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Operation) + + log = [tests.common.trace(list(instance.over_input_variables_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operation" + / f"on_{minimal_or_maximal}.xml" + / "over_input_variables_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_output_variables_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operation" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Operation) + + log = [tests.common.trace(list(instance.over_output_variables_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operation" + / f"on_{minimal_or_maximal}.xml" + / "over_output_variables_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_inoutput_variables_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operation" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Operation) + + log = [ + tests.common.trace(list(instance.over_inoutput_variables_or_empty())) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operation" + / f"on_{minimal_or_maximal}.xml" + / "over_inoutput_variables_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestCapability(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "capability" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Capability) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "capability" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "capability" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Capability) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "capability" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "capability" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Capability) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "capability" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "capability" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Capability) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "capability" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "capability" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Capability) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "capability" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "capability" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Capability) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "capability" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestConceptDescription(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "conceptDescription" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.ConceptDescription) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "conceptDescription" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "conceptDescription" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.ConceptDescription) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "conceptDescription" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "conceptDescription" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.ConceptDescription) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "conceptDescription" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "conceptDescription" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.ConceptDescription) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "conceptDescription" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_is_case_of_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "conceptDescription" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.ConceptDescription) + + log = [tests.common.trace(list(instance.over_is_case_of_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "conceptDescription" + / f"on_{minimal_or_maximal}.xml" + / "over_is_case_of_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestEnvironment(unittest.TestCase): + def test_over_asset_administration_shells_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "environment" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Environment) + + log = [ + tests.common.trace( + list(instance.over_asset_administration_shells_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "environment" + / f"on_{minimal_or_maximal}.xml" + / "over_asset_administration_shells_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_submodels_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "environment" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Environment) + + log = [tests.common.trace(list(instance.over_submodels_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "environment" + / f"on_{minimal_or_maximal}.xml" + / "over_submodels_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_concept_descriptions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "environment" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Environment) + + log = [ + tests.common.trace(list(instance.over_concept_descriptions_or_empty())) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "environment" + / f"on_{minimal_or_maximal}.xml" + / "over_concept_descriptions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestDataSpecificationUom(unittest.TestCase): + def test_over_definition_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "dataSpecificationUom" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.DataSpecificationUom) + + log = [tests.common.trace(list(instance.over_definition_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "dataSpecificationUom" + / f"on_{minimal_or_maximal}.xml" + / "over_definition_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_preferred_name_quantity_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "dataSpecificationUom" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.DataSpecificationUom) + + log = [ + tests.common.trace( + list(instance.over_preferred_name_quantity_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "dataSpecificationUom" + / f"on_{minimal_or_maximal}.xml" + / "over_preferred_name_quantity_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestDataSpecificationIEC61360(unittest.TestCase): + def test_over_short_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "dataSpecificationIec61360" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.DataSpecificationIEC61360) + + log = [tests.common.trace(list(instance.over_short_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "dataSpecificationIec61360" + / f"on_{minimal_or_maximal}.xml" + / "over_short_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_definition_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "dataSpecificationIec61360" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.DataSpecificationIEC61360) + + log = [tests.common.trace(list(instance.over_definition_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "dataSpecificationIec61360" + / f"on_{minimal_or_maximal}.xml" + / "over_definition_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestAssetAdministrationShellDescriptor(unittest.TestCase): + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetAdministrationShellDescriptor" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AssetAdministrationShellDescriptor) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "assetAdministrationShellDescriptor" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetAdministrationShellDescriptor" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AssetAdministrationShellDescriptor) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "assetAdministrationShellDescriptor" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetAdministrationShellDescriptor" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AssetAdministrationShellDescriptor) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "assetAdministrationShellDescriptor" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_endpoints_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetAdministrationShellDescriptor" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AssetAdministrationShellDescriptor) + + log = [tests.common.trace(list(instance.over_endpoints_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "assetAdministrationShellDescriptor" + / f"on_{minimal_or_maximal}.xml" + / "over_endpoints_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_specific_asset_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetAdministrationShellDescriptor" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AssetAdministrationShellDescriptor) + + log = [ + tests.common.trace(list(instance.over_specific_asset_ids_or_empty())) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "assetAdministrationShellDescriptor" + / f"on_{minimal_or_maximal}.xml" + / "over_specific_asset_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_submodel_descriptors_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetAdministrationShellDescriptor" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AssetAdministrationShellDescriptor) + + log = [ + tests.common.trace(list(instance.over_submodel_descriptors_or_empty())) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "assetAdministrationShellDescriptor" + / f"on_{minimal_or_maximal}.xml" + / "over_submodel_descriptors_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestSubmodelDescriptor(unittest.TestCase): + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelDescriptor" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelDescriptor) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelDescriptor" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelDescriptor" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelDescriptor) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelDescriptor" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelDescriptor" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelDescriptor) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelDescriptor" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelDescriptor" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelDescriptor) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelDescriptor" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestProtocolInformation(unittest.TestCase): + def test_over_endpoint_protocol_version_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "protocolInformation" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.ProtocolInformation) + + log = [ + tests.common.trace( + list(instance.over_endpoint_protocol_version_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "protocolInformation" + / f"on_{minimal_or_maximal}.xml" + / "over_endpoint_protocol_version_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_security_attributes_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "protocolInformation" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.ProtocolInformation) + + log = [ + tests.common.trace(list(instance.over_security_attributes_or_empty())) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "protocolInformation" + / f"on_{minimal_or_maximal}.xml" + / "over_security_attributes_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestAssetAdministrationShellRecentChange(unittest.TestCase): + def test_over_specific_asset_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetAdministrationShellRecentChange" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AssetAdministrationShellRecentChange) + + log = [ + tests.common.trace(list(instance.over_specific_asset_ids_or_empty())) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "assetAdministrationShellRecentChange" + / f"on_{minimal_or_maximal}.xml" + / "over_specific_asset_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestSubmodelRecentChange(unittest.TestCase): + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelRecentChange" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelRecentChange) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelRecentChange" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestResult(unittest.TestCase): + def test_over_messages_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "result" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Result) + + log = [tests.common.trace(list(instance.over_messages_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "result" + / f"on_{minimal_or_maximal}.xml" + / "over_messages_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestOperationRequest(unittest.TestCase): + def test_over_input_arguments_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operationRequest" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.OperationRequest) + + log = [tests.common.trace(list(instance.over_input_arguments_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operationRequest" + / f"on_{minimal_or_maximal}.xml" + / "over_input_arguments_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_inoutput_arguments_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operationRequest" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.OperationRequest) + + log = [ + tests.common.trace(list(instance.over_inoutput_arguments_or_empty())) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operationRequest" + / f"on_{minimal_or_maximal}.xml" + / "over_inoutput_arguments_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestOperationRequestAsync(unittest.TestCase): + def test_over_input_arguments_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operationRequestAsync" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.OperationRequestAsync) + + log = [tests.common.trace(list(instance.over_input_arguments_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operationRequestAsync" + / f"on_{minimal_or_maximal}.xml" + / "over_input_arguments_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_inoutput_arguments_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operationRequestAsync" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.OperationRequestAsync) + + log = [ + tests.common.trace(list(instance.over_inoutput_arguments_or_empty())) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operationRequestAsync" + / f"on_{minimal_or_maximal}.xml" + / "over_inoutput_arguments_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestBaseOperationResult(unittest.TestCase): + def test_over_messages_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "baseOperationResult" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.BaseOperationResult) + + log = [tests.common.trace(list(instance.over_messages_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "baseOperationResult" + / f"on_{minimal_or_maximal}.xml" + / "over_messages_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestOperationResult(unittest.TestCase): + def test_over_messages_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operationResult" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.OperationResult) + + log = [tests.common.trace(list(instance.over_messages_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operationResult" + / f"on_{minimal_or_maximal}.xml" + / "over_messages_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_output_arguments_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operationResult" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.OperationResult) + + log = [tests.common.trace(list(instance.over_output_arguments_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operationResult" + / f"on_{minimal_or_maximal}.xml" + / "over_output_arguments_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_inoutput_arguments_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operationResult" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.OperationResult) + + log = [ + tests.common.trace(list(instance.over_inoutput_arguments_or_empty())) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operationResult" + / f"on_{minimal_or_maximal}.xml" + / "over_inoutput_arguments_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestOperationResultValueOnly(unittest.TestCase): + def test_over_messages_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operationResultValueOnly" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.OperationResultValueOnly) + + log = [tests.common.trace(list(instance.over_messages_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operationResultValueOnly" + / f"on_{minimal_or_maximal}.xml" + / "over_messages_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestPagedResult(unittest.TestCase): + def test_over_result_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "pagedResult" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.PagedResult) + + log = [tests.common.trace(list(instance.over_result_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "pagedResult" + / f"on_{minimal_or_maximal}.xml" + / "over_result_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestPackageDescription(unittest.TestCase): + def test_over_aas_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "packageDescription" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.PackageDescription) + + log = [tests.common.trace(list(instance.over_aas_ids_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "packageDescription" + / f"on_{minimal_or_maximal}.xml" + / "over_aas_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestPropertyMetadata(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "propertyMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.PropertyMetadata) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "propertyMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "propertyMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.PropertyMetadata) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "propertyMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "propertyMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.PropertyMetadata) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "propertyMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "propertyMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.PropertyMetadata) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "propertyMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "propertyMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.PropertyMetadata) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "propertyMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "propertyMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.PropertyMetadata) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "propertyMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestRangeMetadata(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "rangeMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.RangeMetadata) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "rangeMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "rangeMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.RangeMetadata) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "rangeMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "rangeMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.RangeMetadata) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "rangeMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "rangeMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.RangeMetadata) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "rangeMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "rangeMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.RangeMetadata) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "rangeMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "rangeMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.RangeMetadata) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "rangeMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestBlobMetadata(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "blobMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.BlobMetadata) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "blobMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "blobMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.BlobMetadata) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "blobMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "blobMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.BlobMetadata) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "blobMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "blobMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.BlobMetadata) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "blobMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "blobMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.BlobMetadata) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "blobMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "blobMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.BlobMetadata) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "blobMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestFileMetadata(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "fileMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.FileMetadata) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "fileMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "fileMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.FileMetadata) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "fileMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "fileMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.FileMetadata) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "fileMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "fileMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.FileMetadata) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "fileMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "fileMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.FileMetadata) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "fileMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "fileMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.FileMetadata) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "fileMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestMultiLanguagePropertyMetadata(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "multiLanguagePropertyMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.MultiLanguagePropertyMetadata) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "multiLanguagePropertyMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "multiLanguagePropertyMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.MultiLanguagePropertyMetadata) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "multiLanguagePropertyMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "multiLanguagePropertyMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.MultiLanguagePropertyMetadata) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "multiLanguagePropertyMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "multiLanguagePropertyMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.MultiLanguagePropertyMetadata) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "multiLanguagePropertyMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "multiLanguagePropertyMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.MultiLanguagePropertyMetadata) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "multiLanguagePropertyMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "multiLanguagePropertyMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.MultiLanguagePropertyMetadata) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "multiLanguagePropertyMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestReferenceElementMetadata(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "referenceElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.ReferenceElementMetadata) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "referenceElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "referenceElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.ReferenceElementMetadata) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "referenceElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "referenceElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.ReferenceElementMetadata) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "referenceElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "referenceElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.ReferenceElementMetadata) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "referenceElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "referenceElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.ReferenceElementMetadata) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "referenceElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "referenceElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.ReferenceElementMetadata) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "referenceElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestRelationshipElementMetadata(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "relationshipElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.RelationshipElementMetadata) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "relationshipElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "relationshipElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.RelationshipElementMetadata) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "relationshipElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "relationshipElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.RelationshipElementMetadata) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "relationshipElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "relationshipElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.RelationshipElementMetadata) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "relationshipElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "relationshipElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.RelationshipElementMetadata) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "relationshipElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "relationshipElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.RelationshipElementMetadata) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "relationshipElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestAnnotatedRelationshipElementMetadata(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "annotatedRelationshipElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AnnotatedRelationshipElementMetadata) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "annotatedRelationshipElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "annotatedRelationshipElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AnnotatedRelationshipElementMetadata) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "annotatedRelationshipElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "annotatedRelationshipElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AnnotatedRelationshipElementMetadata) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "annotatedRelationshipElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "annotatedRelationshipElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AnnotatedRelationshipElementMetadata) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "annotatedRelationshipElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "annotatedRelationshipElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AnnotatedRelationshipElementMetadata) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "annotatedRelationshipElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "annotatedRelationshipElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AnnotatedRelationshipElementMetadata) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "annotatedRelationshipElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestEntityMetadata(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "entityMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.EntityMetadata) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "entityMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "entityMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.EntityMetadata) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "entityMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "entityMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.EntityMetadata) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "entityMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "entityMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.EntityMetadata) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "entityMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "entityMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.EntityMetadata) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "entityMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "entityMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.EntityMetadata) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "entityMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestCapabilityMetadata(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "capabilityMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.CapabilityMetadata) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "capabilityMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "capabilityMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.CapabilityMetadata) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "capabilityMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "capabilityMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.CapabilityMetadata) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "capabilityMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "capabilityMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.CapabilityMetadata) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "capabilityMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "capabilityMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.CapabilityMetadata) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "capabilityMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "capabilityMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.CapabilityMetadata) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "capabilityMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestOperationMetadata(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operationMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.OperationMetadata) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operationMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operationMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.OperationMetadata) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operationMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operationMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.OperationMetadata) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operationMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operationMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.OperationMetadata) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operationMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operationMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.OperationMetadata) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operationMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operationMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.OperationMetadata) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "operationMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestSubmodelElementCollectionMetadata(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementCollectionMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementCollectionMetadata) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementCollectionMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementCollectionMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementCollectionMetadata) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementCollectionMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementCollectionMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementCollectionMetadata) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementCollectionMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementCollectionMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementCollectionMetadata) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementCollectionMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementCollectionMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementCollectionMetadata) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementCollectionMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementCollectionMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementCollectionMetadata) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementCollectionMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestBasicEventElementMetadata(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "basicEventElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.BasicEventElementMetadata) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "basicEventElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "basicEventElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.BasicEventElementMetadata) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "basicEventElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "basicEventElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.BasicEventElementMetadata) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "basicEventElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "basicEventElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.BasicEventElementMetadata) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "basicEventElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "basicEventElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.BasicEventElementMetadata) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "basicEventElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "basicEventElementMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.BasicEventElementMetadata) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "basicEventElementMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestSubmodelElementListMetadata(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementListMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementListMetadata) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementListMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementListMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementListMetadata) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementListMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementListMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementListMetadata) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementListMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementListMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementListMetadata) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementListMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementListMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementListMetadata) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementListMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementListMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementListMetadata) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelElementListMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestSubmodelMetadata(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelMetadata) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelMetadata) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelMetadata) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_supplemental_semantic_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelMetadata) + + log = [ + tests.common.trace( + list(instance.over_supplemental_semantic_ids_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_supplemental_semantic_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_qualifiers_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelMetadata) + + log = [tests.common.trace(list(instance.over_qualifiers_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_qualifiers_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelMetadata) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "submodelMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestAssetAdministrationShellMetadata(unittest.TestCase): + def test_over_extensions_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetAdministrationShellMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AssetAdministrationShellMetadata) + + log = [tests.common.trace(list(instance.over_extensions_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "assetAdministrationShellMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_extensions_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_display_name_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetAdministrationShellMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AssetAdministrationShellMetadata) + + log = [tests.common.trace(list(instance.over_display_name_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "assetAdministrationShellMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_display_name_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_description_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetAdministrationShellMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AssetAdministrationShellMetadata) + + log = [tests.common.trace(list(instance.over_description_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "assetAdministrationShellMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_description_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + def test_over_embedded_data_specifications_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetAdministrationShellMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.AssetAdministrationShellMetadata) + + log = [ + tests.common.trace( + list(instance.over_embedded_data_specifications_or_empty()) + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "assetAdministrationShellMetadata" + / f"on_{minimal_or_maximal}.xml" + / "over_embedded_data_specifications_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestEntityValue(unittest.TestCase): + def test_over_specific_asset_ids_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "entityValue" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.EntityValue) + + log = [ + tests.common.trace( + [ + tests.common.trace_json(item) + for item in instance.over_specific_asset_ids_or_empty() + ] + ) + ] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "entityValue" + / f"on_{minimal_or_maximal}.xml" + / "over_specific_asset_ids_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestGetAssetAdministrationShellsResult(unittest.TestCase): + def test_over_result_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getAssetAdministrationShellsResult" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.GetAssetAdministrationShellsResult) + + log = [tests.common.trace(list(instance.over_result_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "getAssetAdministrationShellsResult" + / f"on_{minimal_or_maximal}.xml" + / "over_result_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestGetAssetAdministrationShellsMetadataResult(unittest.TestCase): + def test_over_result_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getAssetAdministrationShellsMetadataResult" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance( + instance, our_types.GetAssetAdministrationShellsMetadataResult + ) + + log = [tests.common.trace(list(instance.over_result_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "getAssetAdministrationShellsMetadataResult" + / f"on_{minimal_or_maximal}.xml" + / "over_result_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestGetAllAssetAdministrationShellsRecentChangesResult(unittest.TestCase): + def test_over_result_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getAllAssetAdministrationShellsRecentChangesResult" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance( + instance, our_types.GetAllAssetAdministrationShellsRecentChangesResult + ) + + log = [tests.common.trace(list(instance.over_result_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "getAllAssetAdministrationShellsRecentChangesResult" + / f"on_{minimal_or_maximal}.xml" + / "over_result_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestGetAssetAdministrationShellDescriptorsResult(unittest.TestCase): + def test_over_result_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getAssetAdministrationShellDescriptorsResult" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance( + instance, our_types.GetAssetAdministrationShellDescriptorsResult + ) + + log = [tests.common.trace(list(instance.over_result_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "getAssetAdministrationShellDescriptorsResult" + / f"on_{minimal_or_maximal}.xml" + / "over_result_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestGetConceptDescriptionsResult(unittest.TestCase): + def test_over_result_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getConceptDescriptionsResult" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.GetConceptDescriptionsResult) + + log = [tests.common.trace(list(instance.over_result_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "getConceptDescriptionsResult" + / f"on_{minimal_or_maximal}.xml" + / "over_result_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestGetAllConceptDescriptionsRecentChangesResult(unittest.TestCase): + def test_over_result_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getAllConceptDescriptionsRecentChangesResult" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance( + instance, our_types.GetAllConceptDescriptionsRecentChangesResult + ) + + log = [tests.common.trace(list(instance.over_result_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "getAllConceptDescriptionsRecentChangesResult" + / f"on_{minimal_or_maximal}.xml" + / "over_result_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestGetPackageDescriptionsResult(unittest.TestCase): + def test_over_result_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getPackageDescriptionsResult" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.GetPackageDescriptionsResult) + + log = [tests.common.trace(list(instance.over_result_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "getPackageDescriptionsResult" + / f"on_{minimal_or_maximal}.xml" + / "over_result_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestGetPathItemsResult(unittest.TestCase): + def test_over_result_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getPathItemsResult" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.GetPathItemsResult) + + log = [tests.common.trace(list(instance.over_result_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "getPathItemsResult" + / f"on_{minimal_or_maximal}.xml" + / "over_result_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestGetReferencesResult(unittest.TestCase): + def test_over_result_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getReferencesResult" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.GetReferencesResult) + + log = [tests.common.trace(list(instance.over_result_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "getReferencesResult" + / f"on_{minimal_or_maximal}.xml" + / "over_result_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestGetSubmodelDescriptorsResult(unittest.TestCase): + def test_over_result_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getSubmodelDescriptorsResult" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.GetSubmodelDescriptorsResult) + + log = [tests.common.trace(list(instance.over_result_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "getSubmodelDescriptorsResult" + / f"on_{minimal_or_maximal}.xml" + / "over_result_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestGetSubmodelElementsMetadataResult(unittest.TestCase): + def test_over_result_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getSubmodelElementsMetadataResult" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.GetSubmodelElementsMetadataResult) + + log = [tests.common.trace(list(instance.over_result_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "getSubmodelElementsMetadataResult" + / f"on_{minimal_or_maximal}.xml" + / "over_result_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestGetSubmodelElementsResult(unittest.TestCase): + def test_over_result_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getSubmodelElementsResult" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.GetSubmodelElementsResult) + + log = [tests.common.trace(list(instance.over_result_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "getSubmodelElementsResult" + / f"on_{minimal_or_maximal}.xml" + / "over_result_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestGetAllSubmodelsRecentChangesResult(unittest.TestCase): + def test_over_result_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getAllSubmodelsRecentChangesResult" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.GetAllSubmodelsRecentChangesResult) + + log = [tests.common.trace(list(instance.over_result_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "getAllSubmodelsRecentChangesResult" + / f"on_{minimal_or_maximal}.xml" + / "over_result_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestGetSubmodelsMetadataResult(unittest.TestCase): + def test_over_result_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getSubmodelsMetadataResult" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.GetSubmodelsMetadataResult) + + log = [tests.common.trace(list(instance.over_result_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "getSubmodelsMetadataResult" + / f"on_{minimal_or_maximal}.xml" + / "over_result_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestGetSubmodelsResult(unittest.TestCase): + def test_over_result_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getSubmodelsResult" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.GetSubmodelsResult) + + log = [tests.common.trace(list(instance.over_result_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "getSubmodelsResult" + / f"on_{minimal_or_maximal}.xml" + / "over_result_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestQuery(unittest.TestCase): + def test_over_filters_or_empty_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "query" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Query) + + log = [tests.common.trace(list(instance.over_filters_or_empty()))] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_over_X_or_empty" + / "query" + / f"on_{minimal_or_maximal}.xml" + / "over_filters_or_empty.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +if __name__ == "__main__": + unittest.main() + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/dev/tests/test_for_x_or_default.py b/dev/tests/test_for_x_or_default.py new file mode 100644 index 0000000..73c9c21 --- /dev/null +++ b/dev/tests/test_for_x_or_default.py @@ -0,0 +1,173 @@ +"""Test ``X_or_default`` methods.""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import pathlib +import unittest + + +import aas_core3_2.types as our_types + + +import tests.common +import tests.common_xmlization + + +class TestExtension(unittest.TestCase): + def test_value_type_or_default_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "extension" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Extension) + + log = [tests.common.trace(instance.value_type_or_default())] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_X_or_default" + / "extension" + / f"on_{minimal_or_maximal}.xml" + / "value_type_or_default.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestQualifier(unittest.TestCase): + def test_kind_or_default_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "qualifier" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Qualifier) + + log = [tests.common.trace(instance.kind_or_default())] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_X_or_default" + / "qualifier" + / f"on_{minimal_or_maximal}.xml" + / "kind_or_default.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestSubmodel(unittest.TestCase): + def test_kind_or_default_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodel" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.Submodel) + + log = [tests.common.trace(instance.kind_or_default())] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_X_or_default" + / "submodel" + / f"on_{minimal_or_maximal}.xml" + / "kind_or_default.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestSubmodelElementList(unittest.TestCase): + def test_order_relevant_or_default_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementList" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelElementList) + + log = [tests.common.trace(instance.order_relevant_or_default())] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_X_or_default" + / "submodelElementList" + / f"on_{minimal_or_maximal}.xml" + / "order_relevant_or_default.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +class TestSubmodelMetadata(unittest.TestCase): + def test_kind_or_default_against_recorded(self) -> None: + for minimal_or_maximal in ["minimal", "maximal"]: + instance = tests.common_xmlization.must_load( + pathlib.Path( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelMetadata" + / f"{minimal_or_maximal}.xml" + ) + ) + + assert isinstance(instance, our_types.SubmodelMetadata) + + log = [tests.common.trace(instance.kind_or_default())] + + got_text = tests.common.trace_log_as_text_file_content(log) + + expected_path = pathlib.Path( + tests.common.TEST_DATA_DIR + / "test_X_or_default" + / "submodelMetadata" + / f"on_{minimal_or_maximal}.xml" + / "kind_or_default.trace" + ) + + tests.common.record_or_check(expected_path, got_text) + + +if __name__ == "__main__": + unittest.main() + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/dev/tests/test_json_value_verification.py b/dev/tests/test_json_value_verification.py new file mode 100644 index 0000000..c607683 --- /dev/null +++ b/dev/tests/test_json_value_verification.py @@ -0,0 +1,183 @@ +"""Test :py:mod:`aas_core3_2.jsonvalueverification`.""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import math +import unittest +from typing import Any, cast, Iterable, List, Mapping, Sequence, Tuple + +import aas_core3_2.jsonvalueverification as our_json_value_verification +import aas_core3_2.reporting as our_reporting + + +def _paths_and_causes(errors: Iterable[our_reporting.Error]) -> List[Tuple[str, str]]: + return [(str(error.path), error.cause) for error in errors] + + +class TestJsonValue(unittest.TestCase): + def test_a_deeply_nested_value_is_json_able(self) -> None: + value = {"a": [1, 1.5, "x", True, [2], {"b": "text"}], "c": {"d": {"e": []}}} + + self.assertListEqual( + [], _paths_and_causes(our_json_value_verification.verify_json_value(value)) + ) + + def test_the_walk_is_depth_first(self) -> None: + # NOTE (mristin): + # A breadth-first walk would report the shallow ``["z"]`` before + # the deeper ``["a"]["deep"]``, although the latter comes first in + # the value. + value = {"a": {"deep": math.nan}, "z": math.inf} + + self.assertListEqual( + ['["a"]["deep"]', '["z"]'], + [ + path + for path, _ in _paths_and_causes( + our_json_value_verification.verify_json_value(value) + ) + ], + ) + + def test_an_index_and_a_key_render_as_a_subscript(self) -> None: + value = {"a b": [0, {"c'd": math.nan}]} + + paths_and_causes = _paths_and_causes( + our_json_value_verification.verify_json_value(value) + ) + + self.assertEqual(1, len(paths_and_causes)) + self.assertEqual('["a b"][1]["c\'d"]', paths_and_causes[0][0]) + + def test_a_non_string_key_stops_at_the_object_which_holds_it(self) -> None: + value = {"a": {1: "the key is no string"}} + + paths_and_causes = _paths_and_causes( + our_json_value_verification.verify_json_value(value) + ) + + self.assertEqual(1, len(paths_and_causes)) + self.assertEqual('["a"]', paths_and_causes[0][0]) + self.assertIn("but got a key of type", paths_and_causes[0][1]) + + def test_the_segments_carry_their_container(self) -> None: + inner = {"deep": math.nan} + value = {"a": inner} + + errors = list(our_json_value_verification.verify_json_value(value)) + + self.assertEqual(1, len(errors)) + + segments = errors[0].path.segments + self.assertEqual(2, len(segments)) + + outer_segment = segments[0] + assert isinstance(outer_segment, our_reporting.KeySegment) + self.assertIs(value, outer_segment.mapping) + self.assertEqual("a", outer_segment.key) + + inner_segment = segments[1] + assert isinstance(inner_segment, our_reporting.KeySegment) + self.assertIs(inner, inner_segment.mapping) + self.assertEqual("deep", inner_segment.key) + + def test_neither_an_infinity_nor_a_not_a_number_is_json_able(self) -> None: + for number in (math.inf, -math.inf, math.nan): + paths_and_causes = _paths_and_causes( + our_json_value_verification.verify_json_value([number]) + ) + + self.assertEqual(1, len(paths_and_causes), f"for the number {number}") + self.assertEqual("[0]", paths_and_causes[0][0]) + self.assertIn( + "neither finite nor representable in JSON", paths_and_causes[0][1] + ) + + def test_an_integer_is_json_able_while_it_fits_a_float(self) -> None: + for number in (0, 1, -3, 2**53): + self.assertListEqual( + [], + _paths_and_causes( + our_json_value_verification.verify_json_value([number]) + ), + f"for the number {number}", + ) + + def test_an_integer_too_large_for_a_float_is_refused(self) -> None: + # NOTE (mristin): + # JSON knows a single numeric type, so an ``int`` has to become + # a ``float``. 2**53 + 1 is the first whole number which a ``float`` + # can not tell from its neighbour, and 10**400 exceeds a ``float`` + # altogether. + for number in (2**53 + 1, 10**400): + paths_and_causes = _paths_and_causes( + our_json_value_verification.verify_json_value([number]) + ) + + self.assertEqual(1, len(paths_and_causes), f"for the number {number}") + self.assertEqual("[0]", paths_and_causes[0][0]) + self.assertIn( + "not exactly representable as a JSON number", paths_and_causes[0][1] + ) + + def test_a_value_of_an_unexpected_type_is_refused(self) -> None: + paths_and_causes = _paths_and_causes( + our_json_value_verification.verify_json_value({"a": object()}) + ) + + self.assertEqual(1, len(paths_and_causes)) + self.assertEqual('["a"]', paths_and_causes[0][0]) + self.assertIn("but got: ", paths_and_causes[0][1]) + + +class TestJsonArrayAndJsonObject(unittest.TestCase): + def test_an_array_has_to_be_an_array(self) -> None: + paths_and_causes = _paths_and_causes( + our_json_value_verification.verify_json_array( + cast("Sequence[Any]", {"a": 1}) + ) + ) + + self.assertEqual(1, len(paths_and_causes)) + self.assertEqual("", paths_and_causes[0][0]) + self.assertIn("Expected a JSON-able array", paths_and_causes[0][1]) + + def test_a_string_is_no_array(self) -> None: + # NOTE (mristin): + # A ``str`` is a ``Sequence`` in Python, so it has to be ruled out + # explicitly. + paths_and_causes = _paths_and_causes( + our_json_value_verification.verify_json_array("not an array") + ) + + self.assertEqual(1, len(paths_and_causes)) + self.assertIn("Expected a JSON-able array", paths_and_causes[0][1]) + + def test_an_object_has_to_be_an_object(self) -> None: + paths_and_causes = _paths_and_causes( + our_json_value_verification.verify_json_object( + cast("Mapping[str, Any]", [1, 2]) + ) + ) + + self.assertEqual(1, len(paths_and_causes)) + self.assertEqual("", paths_and_causes[0][0]) + self.assertIn("Expected a JSON-able object", paths_and_causes[0][1]) + + def test_the_content_is_verified_beneath_the_shape(self) -> None: + paths_and_causes = _paths_and_causes( + our_json_value_verification.verify_json_object({"a": [{"b": math.nan}]}) + ) + + self.assertEqual(1, len(paths_and_causes)) + self.assertEqual('["a"][0]["b"]', paths_and_causes[0][0]) + + +if __name__ == "__main__": + unittest.main() + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/dev/tests/test_jsonization_of_classes_with_descendants.py b/dev/tests/test_jsonization_of_classes_with_descendants.py new file mode 100644 index 0000000..268d13d --- /dev/null +++ b/dev/tests/test_jsonization_of_classes_with_descendants.py @@ -0,0 +1,393 @@ +"""Test JSON de/serialization of classes with descendants.""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import json +import unittest + + +import aas_core3_2.jsonization as our_jsonization + + +import tests.common +import tests.common_jsonization + + +class TestRoundTrips(unittest.TestCase): + def test_referable(self) -> None: + for descendant_model_type in [ + "AnnotatedRelationshipElement", + "AnnotatedRelationshipElementMetadata", + "AssetAdministrationShell", + "AssetAdministrationShellMetadata", + "BasicEventElement", + "BasicEventElementMetadata", + "Blob", + "BlobMetadata", + "Capability", + "CapabilityMetadata", + "ConceptDescription", + "Entity", + "EntityMetadata", + "File", + "FileMetadata", + "MultiLanguageProperty", + "MultiLanguagePropertyMetadata", + "Operation", + "OperationMetadata", + "Property", + "PropertyMetadata", + "Range", + "RangeMetadata", + "ReferenceElement", + "ReferenceElementMetadata", + "RelationshipElement", + "RelationshipElementMetadata", + "Submodel", + "SubmodelElementCollection", + "SubmodelElementCollectionMetadata", + "SubmodelElementList", + "SubmodelElementListMetadata", + "SubmodelMetadata", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / descendant_model_type + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.referable_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatch = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + + self.assertListEqual([], list(map(str, mismatch))) + + def test_identifiable(self) -> None: + for descendant_model_type in [ + "AssetAdministrationShell", + "AssetAdministrationShellMetadata", + "ConceptDescription", + "Submodel", + "SubmodelMetadata", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / descendant_model_type + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.identifiable_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatch = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + + self.assertListEqual([], list(map(str, mismatch))) + + def test_qualifiable(self) -> None: + for descendant_model_type in [ + "AnnotatedRelationshipElement", + "AnnotatedRelationshipElementMetadata", + "BasicEventElement", + "BasicEventElementMetadata", + "Blob", + "BlobMetadata", + "Capability", + "CapabilityMetadata", + "Entity", + "EntityMetadata", + "File", + "FileMetadata", + "MultiLanguageProperty", + "MultiLanguagePropertyMetadata", + "Operation", + "OperationMetadata", + "Property", + "PropertyMetadata", + "Range", + "RangeMetadata", + "ReferenceElement", + "ReferenceElementMetadata", + "RelationshipElement", + "RelationshipElementMetadata", + "Submodel", + "SubmodelElementCollection", + "SubmodelElementCollectionMetadata", + "SubmodelElementList", + "SubmodelElementListMetadata", + "SubmodelMetadata", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / descendant_model_type + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.qualifiable_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatch = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + + self.assertListEqual([], list(map(str, mismatch))) + + def test_submodel_element(self) -> None: + for descendant_model_type in [ + "AnnotatedRelationshipElement", + "BasicEventElement", + "Blob", + "Capability", + "Entity", + "File", + "MultiLanguageProperty", + "Operation", + "Property", + "Range", + "ReferenceElement", + "RelationshipElement", + "SubmodelElementCollection", + "SubmodelElementList", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / descendant_model_type + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.submodel_element_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatch = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + + self.assertListEqual([], list(map(str, mismatch))) + + def test_relationship_element(self) -> None: + for descendant_model_type in ["AnnotatedRelationshipElement"]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / descendant_model_type + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.relationship_element_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatch = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + + self.assertListEqual([], list(map(str, mismatch))) + + def test_data_element(self) -> None: + for descendant_model_type in [ + "Blob", + "File", + "MultiLanguageProperty", + "Property", + "Range", + "ReferenceElement", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / descendant_model_type + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.data_element_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatch = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + + self.assertListEqual([], list(map(str, mismatch))) + + def test_event_element(self) -> None: + for descendant_model_type in ["BasicEventElement"]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / descendant_model_type + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.event_element_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatch = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + + self.assertListEqual([], list(map(str, mismatch))) + + def test_data_specification_content(self) -> None: + for descendant_model_type in [ + "DataSpecificationIec61360", + "DataSpecificationUom", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / descendant_model_type + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.data_specification_content_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatch = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + + self.assertListEqual([], list(map(str, mismatch))) + + def test_submodel_element_attributes(self) -> None: + for descendant_model_type in [ + "AnnotatedRelationshipElementMetadata", + "BasicEventElementMetadata", + "BlobMetadata", + "CapabilityMetadata", + "EntityMetadata", + "FileMetadata", + "MultiLanguagePropertyMetadata", + "OperationMetadata", + "PropertyMetadata", + "RangeMetadata", + "ReferenceElementMetadata", + "RelationshipElementMetadata", + "SubmodelElementCollectionMetadata", + "SubmodelElementListMetadata", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / descendant_model_type + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.submodel_element_attributes_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatch = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + + self.assertListEqual([], list(map(str, mismatch))) + + def test_submodel_element_metadata(self) -> None: + for descendant_model_type in [ + "AnnotatedRelationshipElementMetadata", + "BasicEventElementMetadata", + "BlobMetadata", + "CapabilityMetadata", + "EntityMetadata", + "FileMetadata", + "MultiLanguagePropertyMetadata", + "OperationMetadata", + "PropertyMetadata", + "RangeMetadata", + "ReferenceElementMetadata", + "RelationshipElementMetadata", + "SubmodelElementCollectionMetadata", + "SubmodelElementListMetadata", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / descendant_model_type + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.submodel_element_metadata_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatch = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + + self.assertListEqual([], list(map(str, mismatch))) + + +if __name__ == "__main__": + unittest.main() + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/dev/tests/test_jsonization_of_concrete_classes.py b/dev/tests/test_jsonization_of_concrete_classes.py new file mode 100644 index 0000000..40343f8 --- /dev/null +++ b/dev/tests/test_jsonization_of_concrete_classes.py @@ -0,0 +1,3028 @@ +"""Test JSON de/serialization of concrete classes.""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import json +import math +from typing import Any +import unittest + + +import aas_core3_2.jsonization as our_jsonization + + +import tests.common +import tests.common_jsonization + + +class TestRoundTrips(unittest.TestCase): + def test_extension(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Extension").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.extension_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_administrative_information(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "AdministrativeInformation" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.administrative_information_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_qualifier(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Qualifier").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.qualifier_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_asset_administration_shell(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "AssetAdministrationShell" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.asset_administration_shell_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_asset_information(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "AssetInformation" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.asset_information_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_resource(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Resource").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.resource_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_specific_asset_id(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "SpecificAssetId").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.specific_asset_id_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_submodel(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Submodel").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.submodel_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_relationship_element(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "RelationshipElement" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.relationship_element_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_submodel_element_list(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "SubmodelElementList" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.submodel_element_list_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_submodel_element_collection(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "SubmodelElementCollection" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.submodel_element_collection_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_property(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Property").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.property_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_multi_language_property(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "MultiLanguageProperty" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.multi_language_property_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_range(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Range").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.range_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_reference_element(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "ReferenceElement" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.reference_element_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_blob(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Blob").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.blob_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_file(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "File").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.file_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_annotated_relationship_element(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "AnnotatedRelationshipElement" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.annotated_relationship_element_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_entity(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Entity").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.entity_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_event_payload(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "EventPayload").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.event_payload_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_basic_event_element(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "BasicEventElement" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.basic_event_element_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_operation(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Operation").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.operation_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_operation_variable(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "OperationVariable" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.operation_variable_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_capability(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Capability").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.capability_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_concept_description(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "ConceptDescription" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.concept_description_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_reference(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Reference").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.reference_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_key(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Key").glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.key_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_lang_string_name_type(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "LangStringNameType" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.lang_string_name_type_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_lang_string_text_type(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "LangStringTextType" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.lang_string_text_type_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_environment(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Environment").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.environment_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_embedded_data_specification(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "EmbeddedDataSpecification" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.embedded_data_specification_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_level_type(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "LevelType").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.level_type_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_value_reference_pair(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "ValueReferencePair" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.value_reference_pair_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_value_list(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "ValueList").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.value_list_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_lang_string_preferred_name_type_iec_61360(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "LangStringPreferredNameTypeIec61360" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = ( + our_jsonization.lang_string_preferred_name_type_iec_61360_from_jsonable( + original_jsonable + ) + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_lang_string_short_name_type_iec_61360(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "LangStringShortNameTypeIec61360" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = ( + our_jsonization.lang_string_short_name_type_iec_61360_from_jsonable( + original_jsonable + ) + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_lang_string_definition_type_iec_61360(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "LangStringDefinitionTypeIec61360" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = ( + our_jsonization.lang_string_definition_type_iec_61360_from_jsonable( + original_jsonable + ) + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_lang_string_uom(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "LangStringUom").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.lang_string_uom_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_definition_type_uom(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "DefinitionTypeUom" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.definition_type_uom_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_data_specification_uom(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "DataSpecificationUom" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.data_specification_uom_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_data_specification_iec_61360(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "DataSpecificationIec61360" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.data_specification_iec_61360_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_asset_administration_shell_descriptor(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "AssetAdministrationShellDescriptor" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = ( + our_jsonization.asset_administration_shell_descriptor_from_jsonable( + original_jsonable + ) + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_submodel_descriptor(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "SubmodelDescriptor" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.submodel_descriptor_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_endpoint(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Endpoint").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.endpoint_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_protocol_information(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "ProtocolInformation" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.protocol_information_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_security_attribute_object(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "SecurityAttributeObject" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.security_attribute_object_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_asset_link(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "AssetLink").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.asset_link_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_service_description(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "ServiceDescription" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.service_description_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_asset_administration_shell_recent_change(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "AssetAdministrationShellRecentChange" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = ( + our_jsonization.asset_administration_shell_recent_change_from_jsonable( + original_jsonable + ) + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_concept_description_recent_change(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "ConceptDescriptionRecentChange" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.concept_description_recent_change_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_submodel_recent_change(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "SubmodelRecentChange" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.submodel_recent_change_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_result(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Result").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.result_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_message(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Message").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.message_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_operation_request(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "OperationRequest" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.operation_request_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_operation_request_async(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "OperationRequestAsync" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.operation_request_async_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_operation_request_value_only(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "OperationRequestValueOnly" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.operation_request_value_only_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_operation_request_async_value_only(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "OperationRequestAsyncValueOnly" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.operation_request_async_value_only_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_base_operation_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "BaseOperationResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.base_operation_result_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_operation_result(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "OperationResult").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.operation_result_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_operation_result_value_only(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "OperationResultValueOnly" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.operation_result_value_only_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_operation_handle(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "OperationHandle").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.operation_handle_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_paged_result(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "PagedResult").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.paged_result_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_paging_metadata(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "PagingMetadata").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.paging_metadata_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_package_description(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "PackageDescription" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.package_description_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_property_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "PropertyMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.property_metadata_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_range_metadata(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "RangeMetadata").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.range_metadata_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_blob_metadata(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "BlobMetadata").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.blob_metadata_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_file_metadata(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "FileMetadata").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.file_metadata_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_multi_language_property_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "MultiLanguagePropertyMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.multi_language_property_metadata_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_reference_element_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "ReferenceElementMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.reference_element_metadata_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_relationship_element_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "RelationshipElementMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.relationship_element_metadata_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_annotated_relationship_element_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "AnnotatedRelationshipElementMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = ( + our_jsonization.annotated_relationship_element_metadata_from_jsonable( + original_jsonable + ) + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_entity_metadata(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "EntityMetadata").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.entity_metadata_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_capability_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "CapabilityMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.capability_metadata_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_operation_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "OperationMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.operation_metadata_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_submodel_element_collection_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "SubmodelElementCollectionMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = ( + our_jsonization.submodel_element_collection_metadata_from_jsonable( + original_jsonable + ) + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_basic_event_element_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "BasicEventElementMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.basic_event_element_metadata_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_submodel_element_list_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "SubmodelElementListMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.submodel_element_list_metadata_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_submodel_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "SubmodelMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.submodel_metadata_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_asset_administration_shell_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "AssetAdministrationShellMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = ( + our_jsonization.asset_administration_shell_metadata_from_jsonable( + original_jsonable + ) + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_reference_element_value(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "ReferenceElementValue" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.reference_element_value_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_blob_value(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "BlobValue").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.blob_value_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_file_value(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "FileValue").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.file_value_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_range_value(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "RangeValue").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.range_value_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_relationship_element_value(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "RelationshipElementValue" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.relationship_element_value_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_basic_event_element_value(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "BasicEventElementValue" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.basic_event_element_value_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_annotated_relationship_element_value(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "AnnotatedRelationshipElementValue" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = ( + our_jsonization.annotated_relationship_element_value_from_jsonable( + original_jsonable + ) + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_entity_value(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "EntityValue").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.entity_value_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_get_asset_administration_shells_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetAssetAdministrationShellsResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = ( + our_jsonization.get_asset_administration_shells_result_from_jsonable( + original_jsonable + ) + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_get_asset_administration_shells_metadata_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetAssetAdministrationShellsMetadataResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.get_asset_administration_shells_metadata_result_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_get_all_asset_administration_shells_recent_changes_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetAllAssetAdministrationShellsRecentChangesResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.get_all_asset_administration_shells_recent_changes_result_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_get_asset_administration_shell_descriptors_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetAssetAdministrationShellDescriptorsResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.get_asset_administration_shell_descriptors_result_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_get_concept_descriptions_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetConceptDescriptionsResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.get_concept_descriptions_result_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_get_all_concept_descriptions_recent_changes_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetAllConceptDescriptionsRecentChangesResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.get_all_concept_descriptions_recent_changes_result_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_get_package_descriptions_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetPackageDescriptionsResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.get_package_descriptions_result_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_get_path_items_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "GetPathItemsResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.get_path_items_result_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_get_references_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "GetReferencesResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.get_references_result_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_get_submodel_descriptors_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetSubmodelDescriptorsResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.get_submodel_descriptors_result_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_get_submodel_elements_metadata_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetSubmodelElementsMetadataResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = ( + our_jsonization.get_submodel_elements_metadata_result_from_jsonable( + original_jsonable + ) + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_get_submodel_elements_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetSubmodelElementsResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.get_submodel_elements_result_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_get_submodel_elements_value_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetSubmodelElementsValueResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.get_submodel_elements_value_result_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_get_all_submodels_recent_changes_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetAllSubmodelsRecentChangesResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = ( + our_jsonization.get_all_submodels_recent_changes_result_from_jsonable( + original_jsonable + ) + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_get_submodels_metadata_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetSubmodelsMetadataResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.get_submodels_metadata_result_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_get_submodels_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "GetSubmodelsResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.get_submodels_result_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_get_submodels_value_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetSubmodelsValueResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.get_submodels_value_result_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_claim_attribute(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "ClaimAttribute").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.claim_attribute_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_global_attribute(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "GlobalAttribute").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.global_attribute_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_reference_attribute(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "ReferenceAttribute" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.reference_attribute_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_date_time_attribute_item(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "DateTimeAttributeItem" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.date_time_attribute_item_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_field_operand(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "FieldOperand").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.field_operand_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_string_literal(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "StringLiteral").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.string_literal_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_attribute_operand(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "AttributeOperand" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.attribute_operand_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_number_literal(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "NumberLiteral").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.number_literal_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_hex_literal(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "HexLiteral").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.hex_literal_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_date_time_literal(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "DateTimeLiteral").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.date_time_literal_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_time_literal(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "TimeLiteral").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.time_literal_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_boolean_literal(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "BooleanLiteral").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.boolean_literal_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_string_cast(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "StringCast").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.string_cast_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_number_cast(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "NumberCast").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.number_cast_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_hex_cast(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "HexCast").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.hex_cast_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_boolean_cast(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "BooleanCast").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.boolean_cast_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_date_time_cast(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "DateTimeCast").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.date_time_cast_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_time_cast(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "TimeCast").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.time_cast_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_day_of_week(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "DayOfWeek").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.day_of_week_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_day_of_month(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "DayOfMonth").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.day_of_month_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_month(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Month").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.month_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_year(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Year").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.year_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_date_time_attribute_operand(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "DateTimeAttributeOperand" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.date_time_attribute_operand_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_equal_comparison(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "EqualComparison").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.equal_comparison_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_not_equal_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "NotEqualComparison" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.not_equal_comparison_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_greater_than_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GreaterThanComparison" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.greater_than_comparison_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_greater_than_or_equal_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GreaterThanOrEqualComparison" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.greater_than_or_equal_comparison_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_less_than_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "LessThanComparison" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.less_than_comparison_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_less_than_or_equal_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "LessThanOrEqualComparison" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.less_than_or_equal_comparison_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_contains_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "ContainsComparison" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.contains_comparison_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_starts_with_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "StartsWithComparison" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.starts_with_comparison_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_ends_with_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "EndsWithComparison" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.ends_with_comparison_from_jsonable( + original_jsonable + ) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_regex_comparison(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "RegexComparison").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.regex_comparison_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_match_clause(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "MatchClause").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.match_clause_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_and_expression(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "AndExpression").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.and_expression_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_or_expression(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "OrExpression").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.or_expression_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_not_expression(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "NotExpression").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.not_expression_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_query_filter(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "QueryFilter").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.query_filter_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + def test_query(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Query").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + original_jsonable = json.load(fid) + + instance = our_jsonization.query_from_jsonable(original_jsonable) + + another_jsonable = our_jsonization.to_jsonable(instance) + + mismatches = tests.common_jsonization.check_equal( + original_jsonable, another_jsonable + ) + self.assertListEqual([], list(map(str, mismatches))) + + +def _load_the_first_expected(model_type: str) -> Any: + """Load the first recorded example of the ``model_type``.""" + paths = sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / model_type).glob( + "**/*.json" + ) + ) + + assert ( + len(paths) > 0 + ), f"Expected at least one recorded example of {model_type}, but got none" + + with paths[0].open("rt") as fid: + return json.load(fid) + + +class TestSerializationFailures(unittest.TestCase): + def test_range_value_min_non_finite(self) -> None: + for value in [math.inf, -math.inf, math.nan]: + instance = our_jsonization.range_value_from_jsonable( + _load_the_first_expected("RangeValue") + ) + + instance.min = value + + with self.assertRaises( + our_jsonization.SerializationException + ) as context_manager: + our_jsonization.to_jsonable(instance) + + self.assertEqual(".min", context_manager.exception.path) + + def test_range_value_max_non_finite(self) -> None: + for value in [math.inf, -math.inf, math.nan]: + instance = our_jsonization.range_value_from_jsonable( + _load_the_first_expected("RangeValue") + ) + + instance.max = value + + with self.assertRaises( + our_jsonization.SerializationException + ) as context_manager: + our_jsonization.to_jsonable(instance) + + self.assertEqual(".max", context_manager.exception.path) + + def test_number_literal_num_val_non_finite(self) -> None: + for value in [math.inf, -math.inf, math.nan]: + instance = our_jsonization.number_literal_from_jsonable( + _load_the_first_expected("NumberLiteral") + ) + + instance.num_val = value + + with self.assertRaises( + our_jsonization.SerializationException + ) as context_manager: + our_jsonization.to_jsonable(instance) + + self.assertEqual(".num_val", context_manager.exception.path) + + +if __name__ == "__main__": + unittest.main() + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/dev/tests/test_jsonization_of_enums.py b/dev/tests/test_jsonization_of_enums.py new file mode 100644 index 0000000..3245d5b --- /dev/null +++ b/dev/tests/test_jsonization_of_enums.py @@ -0,0 +1,356 @@ +"""Test JSON de/serialization of enumerations.""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import unittest + + +import aas_core3_2.jsonization as our_jsonization + + +class TestRoundTrips(unittest.TestCase): + def test_modelling_kind(self) -> None: + for jsonable in ["Template", "Instance"]: + enum_literal = our_jsonization.modelling_kind_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + def test_qualifier_kind(self) -> None: + for jsonable in ["ValueQualifier", "ConceptQualifier", "TemplateQualifier"]: + enum_literal = our_jsonization.qualifier_kind_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + def test_asset_kind(self) -> None: + for jsonable in ["Type", "Instance", "Batch", "Role", "NotApplicable"]: + enum_literal = our_jsonization.asset_kind_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + def test_aas_submodel_elements(self) -> None: + for jsonable in [ + "AnnotatedRelationshipElement", + "BasicEventElement", + "Blob", + "Capability", + "DataElement", + "Entity", + "EventElement", + "File", + "MultiLanguageProperty", + "Operation", + "Property", + "Range", + "ReferenceElement", + "RelationshipElement", + "SubmodelElement", + "SubmodelElementList", + "SubmodelElementCollection", + ]: + enum_literal = our_jsonization.aas_submodel_elements_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + def test_entity_type(self) -> None: + for jsonable in ["CoManagedEntity", "SelfManagedEntity"]: + enum_literal = our_jsonization.entity_type_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + def test_direction(self) -> None: + for jsonable in ["input", "output"]: + enum_literal = our_jsonization.direction_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + def test_state_of_event(self) -> None: + for jsonable in ["on", "off"]: + enum_literal = our_jsonization.state_of_event_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + def test_reference_types(self) -> None: + for jsonable in ["ExternalReference", "ModelReference"]: + enum_literal = our_jsonization.reference_types_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + def test_key_types(self) -> None: + for jsonable in [ + "AnnotatedRelationshipElement", + "AssetAdministrationShell", + "BasicEventElement", + "Blob", + "Capability", + "ConceptDescription", + "DataElement", + "Entity", + "EventElement", + "File", + "FragmentReference", + "GlobalReference", + "Identifiable", + "MultiLanguageProperty", + "Operation", + "Property", + "Range", + "Referable", + "ReferenceElement", + "RelationshipElement", + "Submodel", + "SubmodelElement", + "SubmodelElementCollection", + "SubmodelElementList", + ]: + enum_literal = our_jsonization.key_types_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + def test_data_type_def_xsd(self) -> None: + for jsonable in [ + "xs:anyURI", + "xs:base64Binary", + "xs:boolean", + "xs:byte", + "xs:date", + "xs:dateTime", + "xs:decimal", + "xs:double", + "xs:duration", + "xs:float", + "xs:gDay", + "xs:gMonth", + "xs:gMonthDay", + "xs:gYear", + "xs:gYearMonth", + "xs:hexBinary", + "xs:int", + "xs:integer", + "xs:long", + "xs:negativeInteger", + "xs:nonNegativeInteger", + "xs:nonPositiveInteger", + "xs:positiveInteger", + "xs:short", + "xs:string", + "xs:time", + "xs:unsignedByte", + "xs:unsignedInt", + "xs:unsignedLong", + "xs:unsignedShort", + ]: + enum_literal = our_jsonization.data_type_def_xsd_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + def test_data_type_iec_61360(self) -> None: + for jsonable in [ + "DATE", + "STRING", + "STRING_TRANSLATABLE", + "INTEGER_MEASURE", + "INTEGER_COUNT", + "INTEGER_CURRENCY", + "REAL_MEASURE", + "REAL_COUNT", + "REAL_CURRENCY", + "BOOLEAN", + "IRI", + "IRDI", + "RATIONAL", + "RATIONAL_MEASURE", + "TIME", + "TIMESTAMP", + "FILE", + "HTML", + "BLOB", + ]: + enum_literal = our_jsonization.data_type_iec_61360_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + def test_serialization_format(self) -> None: + for jsonable in ["application/json", "application/xml", "application/aasx+xml"]: + enum_literal = our_jsonization.serialization_format_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + def test_security_type_enum(self) -> None: + for jsonable in ["NONE", "RFC_TLSA", "W3C_DID"]: + enum_literal = our_jsonization.security_type_enum_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + def test_service_specification_profile_enum(self) -> None: + for jsonable in [ + "https://admin-shell.io/aas/API/3/0/AssetAdministrationShellServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/0/AssetAdministrationShellServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/1/SubmodelServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/2/SubmodelServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/1/SubmodelServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/2/SubmodelServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/0/SubmodelServiceSpecification/SSP-003", + "https://admin-shell.io/aas/API/3/1/SubmodelServiceSpecification/SSP-003", + "https://admin-shell.io/aas/API/3/2/SubmodelServiceSpecification/SSP-003", + "https://admin-shell.io/aas/API/3/0/AasxFileServerServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/1/AasxFileServerServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/2/AasxFileServerServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/1/AasxFileServerServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/2/AasxFileServerServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRegistryServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRegistryServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRegistryServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRegistryServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRegistryServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRegistryServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRegistryServiceSpecification/SSP-003", + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRegistryServiceSpecification/SSP-003", + "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRegistryServiceSpecification/SSP-004", + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRegistryServiceSpecification/SSP-004", + "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRegistryServiceSpecification/SSP-005", + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRegistryServiceSpecification/SSP-005", + "https://admin-shell.io/aas/API/3/0/SubmodelRegistryServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/1/SubmodelRegistryServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/2/SubmodelRegistryServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/0/SubmodelRegistryServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/1/SubmodelRegistryServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/2/SubmodelRegistryServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/1/SubmodelRegistryServiceSpecification/SSP-003", + "https://admin-shell.io/aas/API/3/2/SubmodelRegistryServiceSpecification/SSP-003", + "https://admin-shell.io/aas/API/3/1/SubmodelRegistryServiceSpecification/SSP-004", + "https://admin-shell.io/aas/API/3/2/SubmodelRegistryServiceSpecification/SSP-004", + "https://admin-shell.io/aas/API/3/0/DiscoveryServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/1/DiscoveryServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/2/DiscoveryServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/2/DiscoveryServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRepositoryServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRepositoryServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRepositoryServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/0/AssetAdministrationShellRepositoryServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRepositoryServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRepositoryServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/1/AssetAdministrationShellRepositoryServiceSpecification/SSP-003", + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRepositoryServiceSpecification/SSP-003", + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRepositoryServiceSpecification/SSP-004", + "https://admin-shell.io/aas/API/3/2/AssetAdministrationShellRepositoryServiceSpecification/SSP-005", + "https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/1/SubmodelRepositoryServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/2/SubmodelRepositoryServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/1/SubmodelRepositoryServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/2/SubmodelRepositoryServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-003", + "https://admin-shell.io/aas/API/3/1/SubmodelRepositoryServiceSpecification/SSP-003", + "https://admin-shell.io/aas/API/3/2/SubmodelRepositoryServiceSpecification/SSP-003", + "https://admin-shell.io/aas/API/3/0/SubmodelRepositoryServiceSpecification/SSP-004", + "https://admin-shell.io/aas/API/3/1/SubmodelRepositoryServiceSpecification/SSP-004", + "https://admin-shell.io/aas/API/3/2/SubmodelRepositoryServiceSpecification/SSP-004", + "https://admin-shell.io/aas/API/3/1/SubmodelRepositoryServiceSpecification/SSP-005", + "https://admin-shell.io/aas/API/3/2/SubmodelRepositoryServiceSpecification/SSP-005", + "https://admin-shell.io/aas/API/3/2/SubmodelRepositoryServiceSpecification/SSP-006", + "https://admin-shell.io/aas/API/3/0/ConceptDescriptionRepositoryServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/1/ConceptDescriptionRepositoryServiceSpecification/SSP-001", + "https://admin-shell.io/aas/API/3/2/ConceptDescriptionRepositoryServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/1/ConceptDescriptionRepositoryServiceSpecification/SSP-002", + "https://admin-shell.io/aas/API/3/2/ConceptDescriptionRepositoryServiceSpecification/SSP-003", + ]: + enum_literal = ( + our_jsonization.service_specification_profile_enum_from_jsonable( + jsonable + ) + ) + + self.assertEqual(enum_literal.value, jsonable) + + def test_status_code(self) -> None: + for jsonable in [ + "Success", + "SuccessCreated", + "SuccessAccepted", + "SuccessNoContent", + "ClientErrorBadRequest", + "ClientNotAuthorized", + "ClientForbidden", + "ClientMethodNotAllowed", + "ClientErrorResourceNotFound", + "ClientResourceConflict", + "ServerInternalError", + "ServerNotImplemented", + "ServerErrorBadGateway", + ]: + enum_literal = our_jsonization.status_code_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + def test_message_type_enum(self) -> None: + for jsonable in ["Undefined", "Info", "Warning", "Error", "Exception"]: + enum_literal = our_jsonization.message_type_enum_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + def test_execution_state(self) -> None: + for jsonable in [ + "Initiated", + "Running", + "Completed", + "Canceled", + "Failed", + "Timeout", + ]: + enum_literal = our_jsonization.execution_state_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + def test_level(self) -> None: + for jsonable in ["Deep", "Core"]: + enum_literal = our_jsonization.level_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + def test_content(self) -> None: + for jsonable in ["Normal", "Metadata", "Value", "Reference", "Path"]: + enum_literal = our_jsonization.content_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + def test_extent(self) -> None: + for jsonable in ["WithoutBLOBValue", "WithBLOBValue"]: + enum_literal = our_jsonization.extent_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + def test_global_attribute_kind(self) -> None: + for jsonable in ["LOCALNOW", "UTCNOW", "CLIENTNOW", "ANONYMOUS"]: + enum_literal = our_jsonization.global_attribute_kind_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + def test_date_time_global_attribute_kind(self) -> None: + for jsonable in ["LOCALNOW", "UTCNOW", "CLIENTNOW"]: + enum_literal = ( + our_jsonization.date_time_global_attribute_kind_from_jsonable(jsonable) + ) + + self.assertEqual(enum_literal.value, jsonable) + + def test_query_select(self) -> None: + for jsonable in ["id"]: + enum_literal = our_jsonization.query_select_from_jsonable(jsonable) + + self.assertEqual(enum_literal.value, jsonable) + + +if __name__ == "__main__": + unittest.main() + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/dev/tests/test_parse_int.py b/dev/tests/test_parse_int.py new file mode 100644 index 0000000..91609ef --- /dev/null +++ b/dev/tests/test_parse_int.py @@ -0,0 +1,133 @@ +""" +Test ``int`` on strings as used in the transpiled code. + +The built-in ``int`` is transpiled to ``parse_safe_int``, which is stricter than +the Python ``int``. It accepts only an optional sign followed by the ASCII digits, +and only the safe integers, *i.e.*, the integers within ``-(2 ** 53 - 1)`` and +``2 ** 53 - 1``. Otherwise, it raises. + +The other SDKs test against the very same cases. +""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import unittest + +import aas_core3_2.common as our_common + + +class Test_parse_int(unittest.TestCase): + def test_int_0(self) -> None: + self.assertEqual(0, our_common.parse_safe_int("0")) + + def test_int_1(self) -> None: + self.assertEqual(0, our_common.parse_safe_int("-0")) + + def test_int_2(self) -> None: + self.assertEqual(7, our_common.parse_safe_int("+7")) + + def test_int_3(self) -> None: + self.assertEqual(42, our_common.parse_safe_int("42")) + + def test_int_4(self) -> None: + self.assertEqual(-42, our_common.parse_safe_int("-42")) + + def test_int_5(self) -> None: + self.assertEqual(7, our_common.parse_safe_int("0007")) + + def test_int_6(self) -> None: + self.assertEqual(-42, our_common.parse_safe_int("-0042")) + + def test_int_7(self) -> None: + self.assertEqual( + 1, our_common.parse_safe_int("0000000000000000000000000000001") + ) + + def test_int_8(self) -> None: + self.assertEqual( + 9007199254740991, our_common.parse_safe_int("9007199254740991") + ) + + def test_int_9(self) -> None: + self.assertEqual( + -9007199254740991, our_common.parse_safe_int("-9007199254740991") + ) + + def test_int_10(self) -> None: + self.assertEqual( + 9007199254740991, our_common.parse_safe_int("+0009007199254740991") + ) + + def test_int_invalid_0(self) -> None: + with self.assertRaises(ValueError): + our_common.parse_safe_int("") + + def test_int_invalid_1(self) -> None: + with self.assertRaises(ValueError): + our_common.parse_safe_int("+") + + def test_int_invalid_2(self) -> None: + with self.assertRaises(ValueError): + our_common.parse_safe_int("-") + + def test_int_invalid_3(self) -> None: + with self.assertRaises(ValueError): + our_common.parse_safe_int("+-1") + + def test_int_invalid_4(self) -> None: + with self.assertRaises(ValueError): + our_common.parse_safe_int(" 1") + + def test_int_invalid_5(self) -> None: + with self.assertRaises(ValueError): + our_common.parse_safe_int("1 ") + + def test_int_invalid_6(self) -> None: + with self.assertRaises(ValueError): + our_common.parse_safe_int("1_0") + + def test_int_invalid_7(self) -> None: + with self.assertRaises(ValueError): + our_common.parse_safe_int("1.0") + + def test_int_invalid_8(self) -> None: + with self.assertRaises(ValueError): + our_common.parse_safe_int("1e3") + + def test_int_invalid_9(self) -> None: + with self.assertRaises(ValueError): + our_common.parse_safe_int("0x10") + + def test_int_invalid_10(self) -> None: + with self.assertRaises(ValueError): + our_common.parse_safe_int("٥") + + def test_int_invalid_11(self) -> None: + with self.assertRaises(ValueError): + our_common.parse_safe_int("1") + + def test_int_invalid_12(self) -> None: + with self.assertRaises(ValueError): + our_common.parse_safe_int("9007199254740992") + + def test_int_invalid_13(self) -> None: + with self.assertRaises(ValueError): + our_common.parse_safe_int("-9007199254740992") + + def test_int_invalid_14(self) -> None: + with self.assertRaises(ValueError): + our_common.parse_safe_int("9223372036854775807") + + def test_int_invalid_15(self) -> None: + with self.assertRaises(ValueError): + our_common.parse_safe_int("999999999999999999999999999999") + + +if __name__ == "__main__": + unittest.main() + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/dev/tests/test_string_helpers.py b/dev/tests/test_string_helpers.py new file mode 100644 index 0000000..5350430 --- /dev/null +++ b/dev/tests/test_string_helpers.py @@ -0,0 +1,347 @@ +""" +Test the operations on strings. + +The operations follow the Python implementation, since Python is +the language of the meta-model specifications. Hence, they work on +the characters (code points) of the strings. The other SDKs test against +the very same cases. +""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import unittest + + +class Test_string_helpers(unittest.TestCase): + def test_len_empty_text(self) -> None: + self.assertEqual(0, len("")) + + def test_len_ascii_text(self) -> None: + self.assertEqual(3, len("abc")) + + def test_len_character_of_two_utf_8_bytes(self) -> None: + self.assertEqual(2, len("é-")) + + def test_len_character_beyond_the_basic_multilingual_plane(self) -> None: + self.assertEqual(2, len("😀-")) + + def test_len_mixed_characters(self) -> None: + self.assertEqual(5, len("aé😀b😀")) + + def test_slice_start_and_end(self) -> None: + self.assertEqual("bc", "abcde"[1:3]) + + def test_slice_no_start(self) -> None: + self.assertEqual("ab", "abcde"[:2]) + + def test_slice_no_end(self) -> None: + self.assertEqual("de", "abcde"[3:]) + + def test_slice_neither_start_nor_end(self) -> None: + self.assertEqual("abcde", "abcde"[:]) + + def test_slice_negative_start_counts_from_the_end(self) -> None: + self.assertEqual("de", "abcde"[-2:]) + + def test_slice_negative_end_counts_from_the_end(self) -> None: + self.assertEqual("abc", "abcde"[:-2]) + + def test_slice_negative_start_and_end(self) -> None: + self.assertEqual("bcd", "abcde"[-4:-1]) + + def test_slice_negative_start_before_the_beginning_is_clamped(self) -> None: + self.assertEqual("ab", "abcde"[-10:2]) + + def test_slice_end_beyond_the_end_is_clamped(self) -> None: + self.assertEqual("cde", "abcde"[2:10]) + + def test_slice_start_beyond_the_end_gives_empty(self) -> None: + self.assertEqual("", "abcde"[10:]) + + def test_slice_start_after_end_gives_empty(self) -> None: + self.assertEqual("", "abcde"[3:1]) + + def test_slice_negative_start_after_negative_end_gives_empty(self) -> None: + self.assertEqual("", "abcde"[-1:-3]) + + def test_slice_start_equal_to_end_gives_empty(self) -> None: + self.assertEqual("", "abcde"[5:5]) + + def test_slice_empty_text(self) -> None: + self.assertEqual("", ""[0:0]) + + def test_slice_negative_start_on_empty_text(self) -> None: + self.assertEqual("", ""[-1:]) + + def test_slice_end_beyond_the_end_of_empty_text(self) -> None: + self.assertEqual("", ""[:5]) + + def test_slice_after_a_character_of_two_utf_8_bytes(self) -> None: + self.assertEqual("-x", "é-x"[1:]) + + def test_slice_character_of_two_utf_8_bytes(self) -> None: + self.assertEqual("é", "aéb"[1:2]) + + def test_slice_character_beyond_the_basic_multilingual_plane(self) -> None: + self.assertEqual("😀", "a😀b"[1:2]) + + def test_slice_after_a_character_beyond_the_basic_multilingual_plane(self) -> None: + self.assertEqual("-x", "😀-x"[1:]) + + def test_slice_negative_start_on_characters_beyond_ascii(self) -> None: + self.assertEqual("😀b", "aé😀b😀"[-3:-1]) + + def test_find_found(self) -> None: + self.assertEqual(1, "abcabc".find("b")) + + def test_find_not_found(self) -> None: + self.assertEqual(-1, "abcabc".find("x")) + + def test_find_empty_sub(self) -> None: + self.assertEqual(0, "abcabc".find("")) + + def test_find_sub_longer_than_text(self) -> None: + self.assertEqual(-1, "ab".find("abc")) + + def test_find_found_after_start(self) -> None: + self.assertEqual(4, "abcabc".find("b", 2)) + + def test_find_found_only_before_start(self) -> None: + self.assertEqual(-1, "abcabc".find("b", 5)) + + def test_find_negative_start_counts_from_the_end(self) -> None: + self.assertEqual(5, "abcabc".find("c", -1)) + + def test_find_negative_start_finds_the_later_occurrence(self) -> None: + self.assertEqual(3, "abcabc".find("a", -3)) + + def test_find_negative_start_before_the_beginning_is_clamped(self) -> None: + self.assertEqual(0, "abcabc".find("a", -10)) + + def test_find_empty_sub_at_the_end(self) -> None: + self.assertEqual(6, "abcabc".find("", 6)) + + def test_find_empty_sub_beyond_the_end_gives_1(self) -> None: + self.assertEqual(-1, "abcabc".find("", 7)) + + def test_find_start_beyond_the_end_gives_1(self) -> None: + self.assertEqual(-1, "abcabc".find("c", 10)) + + def test_find_empty_sub_in_empty_text(self) -> None: + self.assertEqual(0, "".find("")) + + def test_find_empty_sub_beyond_the_end_of_empty_text_gives_1(self) -> None: + self.assertEqual(-1, "".find("", 1)) + + def test_find_not_found_in_empty_text(self) -> None: + self.assertEqual(-1, "".find("x")) + + def test_find_after_a_character_of_two_utf_8_bytes(self) -> None: + self.assertEqual(1, "é-".find("-")) + + def test_find_after_a_character_beyond_the_basic_multilingual_plane(self) -> None: + self.assertEqual(1, "😀-".find("-")) + + def test_find_character_beyond_the_basic_multilingual_plane(self) -> None: + self.assertEqual(1, "a😀b".find("😀")) + + def test_find_start_after_a_character_beyond_ascii(self) -> None: + self.assertEqual(3, "😀a😀a".find("a", 2)) + + def test_find_negative_start_on_characters_beyond_ascii(self) -> None: + self.assertEqual(2, "😀a😀a".find("😀", -2)) + + def test_find_start_beyond_the_end_of_characters_beyond_ascii(self) -> None: + self.assertEqual(-1, "é😀".find("", 3)) + + def test_compare_empty_texts(self) -> None: + self.assertEqual(0, ("" > "") - ("" < "")) + + def test_compare_equal_texts(self) -> None: + self.assertEqual(0, ("abc" > "abc") - ("abc" < "abc")) + + def test_compare_empty_text_before_non_empty(self) -> None: + self.assertEqual(-1, ("" > "a") - ("" < "a")) + + def test_compare_prefix_before_the_longer_text(self) -> None: + self.assertEqual(-1, ("ab" > "abc") - ("ab" < "abc")) + + def test_compare_first_difference_decides(self) -> None: + self.assertEqual(1, ("abd" > "abc") - ("abd" < "abc")) + + def test_compare_upper_case_before_lower_case(self) -> None: + self.assertEqual(-1, ("B" > "a") - ("B" < "a")) + + def test_compare_character_of_two_utf_8_bytes_after_ascii(self) -> None: + self.assertEqual(1, ("é" > "z") - ("é" < "z")) + + def test_compare_equal_characters_beyond_ascii(self) -> None: + self.assertEqual(0, ("aé😀" > "aé😀") - ("aé😀" < "aé😀")) + + def test_compare_character_beyond_the_basic_multilingual_plane_after_u_fffd( + self, + ) -> None: + self.assertEqual(1, ("😀" > "�") - ("😀" < "�")) + + def test_compare_u_e000_before_a_character_beyond_the_basic_multilingual_plane( + self, + ) -> None: + self.assertEqual(-1, ("a" > "a😀") - ("a" < "a😀")) + + def test_compare_characters_beyond_the_basic_multilingual_plane_differing_in_low_surrogates( + self, + ) -> None: + self.assertEqual(-1, ("😀" > "😁") - ("😀" < "😁")) + + def test_compare_characters_beyond_the_basic_multilingual_plane_differing_in_high_surrogates( + self, + ) -> None: + self.assertEqual(1, ("😀" > "𝄞") - ("😀" < "𝄞")) + + def test_lstrip_leading_zeros(self) -> None: + self.assertEqual("123", "000123".lstrip("0")) + + def test_lstrip_any_of_the_characters(self) -> None: + self.assertEqual("12", "+-+12".lstrip("+-")) + + def test_lstrip_only_the_leading_characters(self) -> None: + self.assertEqual("102", "0102".lstrip("0")) + + def test_lstrip_empty_text(self) -> None: + self.assertEqual("", "".lstrip("0")) + + def test_lstrip_all_the_characters(self) -> None: + self.assertEqual("", "000".lstrip("0")) + + def test_lstrip_empty_characters(self) -> None: + self.assertEqual("abc", "abc".lstrip("")) + + def test_lstrip_characters_not_in_the_text(self) -> None: + self.assertEqual("abc", "abc".lstrip("xyz")) + + def test_lstrip_characters_in_any_order(self) -> None: + self.assertEqual("", "abc".lstrip("cba")) + + def test_lstrip_character_of_two_utf_8_bytes(self) -> None: + self.assertEqual("x", "éé-x".lstrip("-é")) + + def test_lstrip_character_beyond_the_basic_multilingual_plane(self) -> None: + self.assertEqual("a😀", "😀😀a😀".lstrip("😀")) + + def test_lstrip_character_sharing_the_high_surrogate(self) -> None: + self.assertEqual("😁x", "😁x".lstrip("😀")) + + def test_lstrip_characters_sharing_the_surrogates(self) -> None: + self.assertEqual("😀x", "😀x".lstrip("𐈀😁")) + + def test_lstrip_ascii_before_a_character_beyond_ascii(self) -> None: + self.assertEqual("😀", "a😀".lstrip("a")) + + def test_rstrip_trailing_zeros(self) -> None: + self.assertEqual("123", "123000".rstrip("0")) + + def test_rstrip_any_of_the_characters(self) -> None: + self.assertEqual("12", "12+-+".rstrip("+-")) + + def test_rstrip_only_the_trailing_characters(self) -> None: + self.assertEqual("201", "2010".rstrip("0")) + + def test_rstrip_empty_text(self) -> None: + self.assertEqual("", "".rstrip("0")) + + def test_rstrip_all_the_characters(self) -> None: + self.assertEqual("", "000".rstrip("0")) + + def test_rstrip_empty_characters(self) -> None: + self.assertEqual("abc", "abc".rstrip("")) + + def test_rstrip_characters_not_in_the_text(self) -> None: + self.assertEqual("abc", "abc".rstrip("xyz")) + + def test_rstrip_characters_in_any_order(self) -> None: + self.assertEqual("", "abc".rstrip("cba")) + + def test_rstrip_character_of_two_utf_8_bytes(self) -> None: + self.assertEqual("x", "x-éé".rstrip("-é")) + + def test_rstrip_character_beyond_the_basic_multilingual_plane(self) -> None: + self.assertEqual("😀a", "😀a😀😀".rstrip("😀")) + + def test_rstrip_character_sharing_the_high_surrogate(self) -> None: + self.assertEqual("x😁", "x😁".rstrip("😀")) + + def test_rstrip_characters_sharing_the_surrogates(self) -> None: + self.assertEqual("x😀", "x😀".rstrip("𐈀😁")) + + def test_rstrip_ascii_after_a_character_beyond_ascii(self) -> None: + self.assertEqual("😀", "😀a".rstrip("a")) + + def test_startswith_prefix(self) -> None: + self.assertTrue("abc".startswith("ab")) + + def test_startswith_not_a_prefix(self) -> None: + self.assertFalse("abc".startswith("bc")) + + def test_startswith_empty_prefix(self) -> None: + self.assertTrue("abc".startswith("")) + + def test_startswith_whole_text(self) -> None: + self.assertTrue("abc".startswith("abc")) + + def test_startswith_prefix_longer_than_text(self) -> None: + self.assertFalse("ab".startswith("abc")) + + def test_startswith_empty_prefix_of_empty_text(self) -> None: + self.assertTrue("".startswith("")) + + def test_startswith_non_empty_prefix_of_empty_text(self) -> None: + self.assertFalse("".startswith("a")) + + def test_startswith_character_of_two_utf_8_bytes(self) -> None: + self.assertTrue("éa".startswith("é")) + + def test_startswith_character_beyond_the_basic_multilingual_plane(self) -> None: + self.assertTrue("😀a".startswith("😀")) + + def test_startswith_character_sharing_the_high_surrogate(self) -> None: + self.assertFalse("😁x".startswith("😀")) + + def test_endswith_suffix(self) -> None: + self.assertTrue("abc".endswith("bc")) + + def test_endswith_not_a_suffix(self) -> None: + self.assertFalse("abc".endswith("ab")) + + def test_endswith_empty_suffix(self) -> None: + self.assertTrue("abc".endswith("")) + + def test_endswith_whole_text(self) -> None: + self.assertTrue("abc".endswith("abc")) + + def test_endswith_suffix_longer_than_text(self) -> None: + self.assertFalse("bc".endswith("abc")) + + def test_endswith_empty_suffix_of_empty_text(self) -> None: + self.assertTrue("".endswith("")) + + def test_endswith_non_empty_suffix_of_empty_text(self) -> None: + self.assertFalse("".endswith("a")) + + def test_endswith_character_of_two_utf_8_bytes(self) -> None: + self.assertTrue("aé".endswith("é")) + + def test_endswith_character_beyond_the_basic_multilingual_plane(self) -> None: + self.assertTrue("a😀".endswith("😀")) + + def test_endswith_character_sharing_the_high_surrogate(self) -> None: + self.assertFalse("x😁".endswith("😀")) + + +if __name__ == "__main__": + unittest.main() + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/dev/tests/test_verification.py b/dev/tests/test_verification.py new file mode 100644 index 0000000..0906377 --- /dev/null +++ b/dev/tests/test_verification.py @@ -0,0 +1,8295 @@ +"""Test the verification of instances.""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import json +import unittest + + +import aas_core3_2.jsonization as our_jsonization +import aas_core3_2.verification as our_verification + + +import tests.common + + +class TestVerificationOfValidInstances(unittest.TestCase): + def test_extension(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Extension").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.extension_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_administrative_information(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "AdministrativeInformation" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.administrative_information_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_qualifier(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Qualifier").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.qualifier_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_asset_administration_shell(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "AssetAdministrationShell" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.asset_administration_shell_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_asset_information(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "AssetInformation" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.asset_information_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_resource(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Resource").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.resource_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_specific_asset_id(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "SpecificAssetId").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.specific_asset_id_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_submodel(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Submodel").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.submodel_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_relationship_element(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "RelationshipElement" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.relationship_element_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_submodel_element_list(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "SubmodelElementList" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.submodel_element_list_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_submodel_element_collection(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "SubmodelElementCollection" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.submodel_element_collection_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_property(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Property").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.property_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_multi_language_property(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "MultiLanguageProperty" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.multi_language_property_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_range(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Range").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.range_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_reference_element(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "ReferenceElement" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.reference_element_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_blob(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Blob").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.blob_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_file(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "File").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.file_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_annotated_relationship_element(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "AnnotatedRelationshipElement" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.annotated_relationship_element_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_entity(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Entity").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.entity_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_event_payload(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "EventPayload").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.event_payload_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_basic_event_element(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "BasicEventElement" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.basic_event_element_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_operation(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Operation").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.operation_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_operation_variable(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "OperationVariable" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.operation_variable_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_capability(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Capability").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.capability_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_concept_description(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "ConceptDescription" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.concept_description_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_reference(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Reference").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.reference_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_key(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Key").glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.key_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_lang_string_name_type(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "LangStringNameType" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.lang_string_name_type_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_lang_string_text_type(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "LangStringTextType" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.lang_string_text_type_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_environment(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Environment").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.environment_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_embedded_data_specification(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "EmbeddedDataSpecification" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.embedded_data_specification_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_level_type(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "LevelType").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.level_type_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_value_reference_pair(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "ValueReferencePair" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.value_reference_pair_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_value_list(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "ValueList").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.value_list_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_lang_string_preferred_name_type_iec_61360(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "LangStringPreferredNameTypeIec61360" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.lang_string_preferred_name_type_iec_61360_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_lang_string_short_name_type_iec_61360(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "LangStringShortNameTypeIec61360" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.lang_string_short_name_type_iec_61360_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_lang_string_definition_type_iec_61360(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "LangStringDefinitionTypeIec61360" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.lang_string_definition_type_iec_61360_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_lang_string_uom(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "LangStringUom").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.lang_string_uom_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_definition_type_uom(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "DefinitionTypeUom" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.definition_type_uom_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_data_specification_uom(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "DataSpecificationUom" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.data_specification_uom_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_data_specification_iec_61360(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "DataSpecificationIec61360" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.data_specification_iec_61360_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_asset_administration_shell_descriptor(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "AssetAdministrationShellDescriptor" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.asset_administration_shell_descriptor_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_submodel_descriptor(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "SubmodelDescriptor" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.submodel_descriptor_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_endpoint(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Endpoint").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.endpoint_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_protocol_information(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "ProtocolInformation" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.protocol_information_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_security_attribute_object(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "SecurityAttributeObject" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.security_attribute_object_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_asset_link(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "AssetLink").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.asset_link_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_service_description(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "ServiceDescription" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.service_description_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_asset_administration_shell_recent_change(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "AssetAdministrationShellRecentChange" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.asset_administration_shell_recent_change_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_concept_description_recent_change(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "ConceptDescriptionRecentChange" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.concept_description_recent_change_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_submodel_recent_change(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "SubmodelRecentChange" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.submodel_recent_change_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_result(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Result").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.result_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_message(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Message").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.message_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_operation_request(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "OperationRequest" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.operation_request_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_operation_request_async(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "OperationRequestAsync" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.operation_request_async_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_operation_request_value_only(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "OperationRequestValueOnly" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.operation_request_value_only_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_operation_request_async_value_only(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "OperationRequestAsyncValueOnly" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.operation_request_async_value_only_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_base_operation_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "BaseOperationResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.base_operation_result_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_operation_result(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "OperationResult").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.operation_result_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_operation_result_value_only(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "OperationResultValueOnly" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.operation_result_value_only_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_operation_handle(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "OperationHandle").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.operation_handle_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_paged_result(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "PagedResult").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.paged_result_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_paging_metadata(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "PagingMetadata").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.paging_metadata_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_package_description(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "PackageDescription" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.package_description_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_property_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "PropertyMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.property_metadata_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_range_metadata(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "RangeMetadata").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.range_metadata_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_blob_metadata(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "BlobMetadata").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.blob_metadata_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_file_metadata(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "FileMetadata").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.file_metadata_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_multi_language_property_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "MultiLanguagePropertyMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.multi_language_property_metadata_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_reference_element_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "ReferenceElementMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.reference_element_metadata_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_relationship_element_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "RelationshipElementMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.relationship_element_metadata_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_annotated_relationship_element_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "AnnotatedRelationshipElementMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.annotated_relationship_element_metadata_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_entity_metadata(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "EntityMetadata").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.entity_metadata_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_capability_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "CapabilityMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.capability_metadata_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_operation_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "OperationMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.operation_metadata_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_submodel_element_collection_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "SubmodelElementCollectionMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.submodel_element_collection_metadata_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_basic_event_element_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "BasicEventElementMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.basic_event_element_metadata_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_submodel_element_list_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "SubmodelElementListMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.submodel_element_list_metadata_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_submodel_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "SubmodelMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.submodel_metadata_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_asset_administration_shell_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "AssetAdministrationShellMetadata" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.asset_administration_shell_metadata_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_reference_element_value(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "ReferenceElementValue" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.reference_element_value_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_blob_value(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "BlobValue").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.blob_value_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_file_value(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "FileValue").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.file_value_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_range_value(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "RangeValue").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.range_value_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_relationship_element_value(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "RelationshipElementValue" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.relationship_element_value_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_basic_event_element_value(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "BasicEventElementValue" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.basic_event_element_value_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_annotated_relationship_element_value(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "AnnotatedRelationshipElementValue" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.annotated_relationship_element_value_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_entity_value(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "EntityValue").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.entity_value_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_get_asset_administration_shells_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetAssetAdministrationShellsResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.get_asset_administration_shells_result_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_get_asset_administration_shells_metadata_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetAssetAdministrationShellsMetadataResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_asset_administration_shells_metadata_result_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_get_all_asset_administration_shells_recent_changes_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetAllAssetAdministrationShellsRecentChangesResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_all_asset_administration_shells_recent_changes_result_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_get_asset_administration_shell_descriptors_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetAssetAdministrationShellDescriptorsResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_asset_administration_shell_descriptors_result_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_get_concept_descriptions_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetConceptDescriptionsResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_concept_descriptions_result_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_get_all_concept_descriptions_recent_changes_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetAllConceptDescriptionsRecentChangesResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_all_concept_descriptions_recent_changes_result_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_get_package_descriptions_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetPackageDescriptionsResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_package_descriptions_result_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_get_path_items_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "GetPathItemsResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_path_items_result_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_get_references_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "GetReferencesResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_references_result_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_get_submodel_descriptors_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetSubmodelDescriptorsResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_submodel_descriptors_result_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_get_submodel_elements_metadata_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetSubmodelElementsMetadataResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.get_submodel_elements_metadata_result_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_get_submodel_elements_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetSubmodelElementsResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_submodel_elements_result_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_get_submodel_elements_value_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetSubmodelElementsValueResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_submodel_elements_value_result_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_get_all_submodels_recent_changes_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetAllSubmodelsRecentChangesResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.get_all_submodels_recent_changes_result_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_get_submodels_metadata_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetSubmodelsMetadataResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_submodels_metadata_result_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_get_submodels_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "GetSubmodelsResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_submodels_result_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_get_submodels_value_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GetSubmodelsValueResult" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_submodels_value_result_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_claim_attribute(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "ClaimAttribute").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.claim_attribute_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_global_attribute(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "GlobalAttribute").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.global_attribute_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_reference_attribute(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "ReferenceAttribute" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.reference_attribute_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_date_time_attribute_item(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "DateTimeAttributeItem" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.date_time_attribute_item_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_field_operand(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "FieldOperand").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.field_operand_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_string_literal(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "StringLiteral").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.string_literal_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_attribute_operand(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "AttributeOperand" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.attribute_operand_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_number_literal(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "NumberLiteral").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.number_literal_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_hex_literal(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "HexLiteral").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.hex_literal_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_date_time_literal(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "DateTimeLiteral").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.date_time_literal_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_time_literal(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "TimeLiteral").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.time_literal_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_boolean_literal(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "BooleanLiteral").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.boolean_literal_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_string_cast(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "StringCast").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.string_cast_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_number_cast(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "NumberCast").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.number_cast_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_hex_cast(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "HexCast").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.hex_cast_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_boolean_cast(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "BooleanCast").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.boolean_cast_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_date_time_cast(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "DateTimeCast").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.date_time_cast_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_time_cast(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "TimeCast").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.time_cast_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_day_of_week(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "DayOfWeek").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.day_of_week_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_day_of_month(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "DayOfMonth").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.day_of_month_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_month(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Month").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.month_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_year(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Year").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.year_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_date_time_attribute_operand(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "DateTimeAttributeOperand" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.date_time_attribute_operand_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_equal_comparison(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "EqualComparison").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.equal_comparison_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_not_equal_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "NotEqualComparison" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.not_equal_comparison_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_greater_than_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GreaterThanComparison" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.greater_than_comparison_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_greater_than_or_equal_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "GreaterThanOrEqualComparison" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.greater_than_or_equal_comparison_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_less_than_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "LessThanComparison" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.less_than_comparison_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_less_than_or_equal_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "LessThanOrEqualComparison" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.less_than_or_equal_comparison_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_contains_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "ContainsComparison" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.contains_comparison_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_starts_with_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Json" + / "Expected" + / "StartsWithComparison" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.starts_with_comparison_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_ends_with_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Json" / "Expected" / "EndsWithComparison" + ).glob("**/*.json") + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.ends_with_comparison_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_regex_comparison(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "RegexComparison").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.regex_comparison_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_match_clause(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "MatchClause").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.match_clause_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_and_expression(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "AndExpression").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.and_expression_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_or_expression(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "OrExpression").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.or_expression_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_not_expression(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "NotExpression").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.not_expression_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_query_filter(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "QueryFilter").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.query_filter_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + def test_query(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Expected" / "Query").glob( + "**/*.json" + ) + ): + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.query_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) > 0: + self.fail( + f"Expected no errors when verifying the instance de-serialized " + f"from {path}, but got {len(errors)} error(s):\n" + + "\n".join(f"{error.path}: {error.cause}" for error in errors) + ) + + +class TestVerificationOfInvalidInstances(unittest.TestCase): + def test_extension(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "Extension").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.extension_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_administrative_information(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "AdministrativeInformation").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.administrative_information_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_qualifier(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "Qualifier").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.qualifier_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_asset_administration_shell(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "AssetAdministrationShell").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.asset_administration_shell_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_asset_information(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "AssetInformation").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.asset_information_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_resource(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "Resource").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.resource_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_specific_asset_id(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "SpecificAssetId").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.specific_asset_id_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_submodel(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "Submodel").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.submodel_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_relationship_element(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "RelationshipElement").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.relationship_element_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_submodel_element_list(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "SubmodelElementList").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.submodel_element_list_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_submodel_element_collection(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "SubmodelElementCollection").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.submodel_element_collection_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_property(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "Property").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.property_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_multi_language_property(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "MultiLanguageProperty").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.multi_language_property_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_range(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "Range").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.range_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_reference_element(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "ReferenceElement").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.reference_element_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_blob(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "Blob").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.blob_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_file(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "File").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.file_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_annotated_relationship_element(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "AnnotatedRelationshipElement").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.annotated_relationship_element_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_entity(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "Entity").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.entity_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_event_payload(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "EventPayload").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.event_payload_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_basic_event_element(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "BasicEventElement").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.basic_event_element_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_operation(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "Operation").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.operation_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_operation_variable(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "OperationVariable").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.operation_variable_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_capability(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "Capability").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.capability_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_concept_description(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "ConceptDescription").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.concept_description_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_reference(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "Reference").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.reference_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_key(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "Key").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.key_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_lang_string_name_type(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "LangStringNameType").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.lang_string_name_type_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_lang_string_text_type(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "LangStringTextType").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.lang_string_text_type_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_environment(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "Environment").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.environment_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_embedded_data_specification(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "EmbeddedDataSpecification").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.embedded_data_specification_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_level_type(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "LevelType").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.level_type_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_value_reference_pair(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "ValueReferencePair").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.value_reference_pair_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_value_list(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "ValueList").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.value_list_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_lang_string_preferred_name_type_iec_61360(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "LangStringPreferredNameTypeIec61360").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.lang_string_preferred_name_type_iec_61360_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_lang_string_short_name_type_iec_61360(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "LangStringShortNameTypeIec61360").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.lang_string_short_name_type_iec_61360_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_lang_string_definition_type_iec_61360(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "LangStringDefinitionTypeIec61360").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.lang_string_definition_type_iec_61360_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_lang_string_uom(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "LangStringUom").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.lang_string_uom_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_definition_type_uom(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "DefinitionTypeUom").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.definition_type_uom_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_data_specification_uom(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "DataSpecificationUom").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.data_specification_uom_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_data_specification_iec_61360(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "DataSpecificationIec61360").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.data_specification_iec_61360_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_asset_administration_shell_descriptor(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "AssetAdministrationShellDescriptor").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.asset_administration_shell_descriptor_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_submodel_descriptor(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "SubmodelDescriptor").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.submodel_descriptor_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_endpoint(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "Endpoint").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.endpoint_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_protocol_information(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "ProtocolInformation").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.protocol_information_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_security_attribute_object(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "SecurityAttributeObject").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.security_attribute_object_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_asset_link(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "AssetLink").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.asset_link_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_service_description(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "ServiceDescription").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.service_description_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_asset_administration_shell_recent_change(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "AssetAdministrationShellRecentChange").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.asset_administration_shell_recent_change_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_concept_description_recent_change(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "ConceptDescriptionRecentChange").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.concept_description_recent_change_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_submodel_recent_change(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "SubmodelRecentChange").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.submodel_recent_change_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "Result").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.result_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_message(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "Message").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.message_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_operation_request(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "OperationRequest").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.operation_request_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_operation_request_async(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "OperationRequestAsync").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.operation_request_async_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_operation_request_value_only(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "OperationRequestValueOnly").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.operation_request_value_only_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_operation_request_async_value_only(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "OperationRequestAsyncValueOnly").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.operation_request_async_value_only_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_base_operation_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "BaseOperationResult").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.base_operation_result_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_operation_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "OperationResult").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.operation_result_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_operation_result_value_only(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "OperationResultValueOnly").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.operation_result_value_only_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_operation_handle(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "OperationHandle").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.operation_handle_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_paged_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "PagedResult").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.paged_result_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_paging_metadata(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "PagingMetadata").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.paging_metadata_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_package_description(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "PackageDescription").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.package_description_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_property_metadata(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "PropertyMetadata").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.property_metadata_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_range_metadata(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "RangeMetadata").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.range_metadata_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_blob_metadata(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "BlobMetadata").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.blob_metadata_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_file_metadata(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "FileMetadata").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.file_metadata_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_multi_language_property_metadata(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "MultiLanguagePropertyMetadata").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.multi_language_property_metadata_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_reference_element_metadata(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "ReferenceElementMetadata").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.reference_element_metadata_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_relationship_element_metadata(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "RelationshipElementMetadata").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.relationship_element_metadata_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_annotated_relationship_element_metadata(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "AnnotatedRelationshipElementMetadata").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.annotated_relationship_element_metadata_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_entity_metadata(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "EntityMetadata").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.entity_metadata_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_capability_metadata(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "CapabilityMetadata").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.capability_metadata_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_operation_metadata(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "OperationMetadata").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.operation_metadata_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_submodel_element_collection_metadata(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "SubmodelElementCollectionMetadata").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.submodel_element_collection_metadata_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_basic_event_element_metadata(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "BasicEventElementMetadata").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.basic_event_element_metadata_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_submodel_element_list_metadata(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "SubmodelElementListMetadata").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.submodel_element_list_metadata_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_submodel_metadata(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "SubmodelMetadata").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.submodel_metadata_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_asset_administration_shell_metadata(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "AssetAdministrationShellMetadata").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.asset_administration_shell_metadata_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_reference_element_value(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "ReferenceElementValue").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.reference_element_value_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_blob_value(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "BlobValue").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.blob_value_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_file_value(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "FileValue").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.file_value_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_range_value(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "RangeValue").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.range_value_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_relationship_element_value(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "RelationshipElementValue").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.relationship_element_value_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_basic_event_element_value(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "BasicEventElementValue").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.basic_event_element_value_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_annotated_relationship_element_value(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "AnnotatedRelationshipElementValue").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.annotated_relationship_element_value_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_entity_value(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "EntityValue").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.entity_value_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_get_asset_administration_shells_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "GetAssetAdministrationShellsResult").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_asset_administration_shells_result_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_get_asset_administration_shells_metadata_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "GetAssetAdministrationShellsMetadataResult").glob( + "**/*.json" + ) + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_asset_administration_shells_metadata_result_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_get_all_asset_administration_shells_recent_changes_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "GetAllAssetAdministrationShellsRecentChangesResult").glob( + "**/*.json" + ) + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_all_asset_administration_shells_recent_changes_result_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_get_asset_administration_shell_descriptors_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "GetAssetAdministrationShellDescriptorsResult").glob( + "**/*.json" + ) + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_asset_administration_shell_descriptors_result_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_get_concept_descriptions_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "GetConceptDescriptionsResult").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.get_concept_descriptions_result_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_get_all_concept_descriptions_recent_changes_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "GetAllConceptDescriptionsRecentChangesResult").glob( + "**/*.json" + ) + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_all_concept_descriptions_recent_changes_result_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_get_package_descriptions_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "GetPackageDescriptionsResult").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.get_package_descriptions_result_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_get_path_items_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "GetPathItemsResult").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_path_items_result_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_get_references_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "GetReferencesResult").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_references_result_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_get_submodel_descriptors_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "GetSubmodelDescriptorsResult").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.get_submodel_descriptors_result_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_get_submodel_elements_metadata_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "GetSubmodelElementsMetadataResult").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.get_submodel_elements_metadata_result_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_get_submodel_elements_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "GetSubmodelElementsResult").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_submodel_elements_result_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_get_submodel_elements_value_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "GetSubmodelElementsValueResult").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.get_submodel_elements_value_result_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_get_all_submodels_recent_changes_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "GetAllSubmodelsRecentChangesResult").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_all_submodels_recent_changes_result_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_get_submodels_metadata_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "GetSubmodelsMetadataResult").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_submodels_metadata_result_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_get_submodels_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "GetSubmodelsResult").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_submodels_result_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_get_submodels_value_result(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "GetSubmodelsValueResult").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.get_submodels_value_result_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_claim_attribute(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "ClaimAttribute").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.claim_attribute_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_global_attribute(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "GlobalAttribute").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.global_attribute_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_reference_attribute(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "ReferenceAttribute").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.reference_attribute_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_date_time_attribute_item(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "DateTimeAttributeItem").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.date_time_attribute_item_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_field_operand(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "FieldOperand").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.field_operand_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_string_literal(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "StringLiteral").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.string_literal_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_attribute_operand(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "AttributeOperand").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.attribute_operand_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_number_literal(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "NumberLiteral").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.number_literal_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_hex_literal(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "HexLiteral").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.hex_literal_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_date_time_literal(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "DateTimeLiteral").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.date_time_literal_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_time_literal(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "TimeLiteral").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.time_literal_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_boolean_literal(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "BooleanLiteral").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.boolean_literal_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_string_cast(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "StringCast").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.string_cast_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_number_cast(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "NumberCast").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.number_cast_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_hex_cast(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "HexCast").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.hex_cast_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_boolean_cast(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "BooleanCast").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.boolean_cast_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_date_time_cast(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "DateTimeCast").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.date_time_cast_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_time_cast(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "TimeCast").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.time_cast_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_day_of_week(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "DayOfWeek").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.day_of_week_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_day_of_month(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "DayOfMonth").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.day_of_month_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_month(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "Month").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.month_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_year(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "Year").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.year_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_date_time_attribute_operand(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "DateTimeAttributeOperand").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.date_time_attribute_operand_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_equal_comparison(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "EqualComparison").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.equal_comparison_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_not_equal_comparison(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "NotEqualComparison").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.not_equal_comparison_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_greater_than_comparison(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "GreaterThanComparison").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.greater_than_comparison_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_greater_than_or_equal_comparison(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "GreaterThanOrEqualComparison").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = ( + our_jsonization.greater_than_or_equal_comparison_from_jsonable( + jsonable + ) + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_less_than_comparison(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "LessThanComparison").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.less_than_comparison_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_less_than_or_equal_comparison(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted( + (cause_dir / "LessThanOrEqualComparison").glob("**/*.json") + ): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.less_than_or_equal_comparison_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_contains_comparison(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "ContainsComparison").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.contains_comparison_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_starts_with_comparison(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "StartsWithComparison").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.starts_with_comparison_from_jsonable( + jsonable + ) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_ends_with_comparison(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "EndsWithComparison").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.ends_with_comparison_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_regex_comparison(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "RegexComparison").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.regex_comparison_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_match_clause(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "MatchClause").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.match_clause_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_and_expression(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "AndExpression").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.and_expression_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_or_expression(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "OrExpression").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.or_expression_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_not_expression(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "NotExpression").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.not_expression_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_query_filter(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "QueryFilter").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.query_filter_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + def test_query(self) -> None: + for cause_dir in sorted( + (tests.common.TEST_DATA_DIR / "Json" / "Unexpected" / "Invalid").iterdir() + ): + for path in sorted((cause_dir / "Query").glob("**/*.json")): + rel_path = path.relative_to(tests.common.TEST_DATA_DIR) + + expected_path = ( + tests.common.TEST_DATA_DIR + / "VerificationError" + / rel_path.parent + / f"{rel_path.name}.errors" + ) + + with path.open("rt") as fid: + jsonable = json.load(fid) + + instance = our_jsonization.query_from_jsonable(jsonable) + + errors = list(our_verification.verify(instance)) + + if len(errors) == 0: + self.fail( + f"Expected at least one verification error " + f"when verifying the instance de-serialized " + f"from {path}, but got none" + ) + + got = ( + "\n".join(f"{error.path}: {error.cause}" for error in errors) + "\n" + ) + + tests.common.record_or_check(expected_path, got) + + +if __name__ == "__main__": + unittest.main() + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/dev/tests/test_xml_rpc.py b/dev/tests/test_xml_rpc.py new file mode 100644 index 0000000..2156b45 --- /dev/null +++ b/dev/tests/test_xml_rpc.py @@ -0,0 +1,284 @@ +"""Test :py:mod:`aas_core3_2.xmlrpc`.""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import io +import unittest +import xml.etree.ElementTree +from typing import Any, cast, Iterator, List, Mapping, Tuple + +import aas_core3_2.types as our_types +import aas_core3_2.xmlcommon as our_xmlcommon +import aas_core3_2.xmlrpc as our_xmlrpc + + +def _enter( + text: str, +) -> Tuple[our_xmlcommon.Element, Iterator[Tuple[str, our_xmlcommon.Element]]]: + """ + Parse :paramref:`text` and consume the start event of its root element. + + The module under test expects to be handed a stream which is already + positioned *inside* the element whose content it is to read, exactly as + the xmlization hands it over. + + :param text: XML document to be read + :return: the root element and the iterator positioned after its start event + """ + iterator = xml.etree.ElementTree.iterparse(io.StringIO(text), ["start", "end"]) + + event, element = next(iterator) + assert event == "start", f"Expected a start event, but got: {event!r}" + + return element, iterator + + +class TestReading(unittest.TestCase): + def test_a_value_round_trips_through_every_discriminator(self) -> None: + element, iterator = _enter( + f'' + f"b1" + f"n1" + f"f1.5" + f"sx" + f"a" + f"0" + f"" + f"" + ) + + self.assertEqual( + {"b": True, "n": 1.0, "f": 1.5, "s": "x", "a": [0.0]}, + our_xmlrpc.read_value_content(element, iterator), + ) + + def test_a_discriminator_in_the_document_namespace_is_refused(self) -> None: + # NOTE (mristin): + # The XML-RPC elements reside in no namespace at all, so a discriminator + # which inherits the namespace of the enclosing document is no + # discriminator of ours. + element, iterator = _enter( + f'1' + ) + + with self.assertRaises(our_xmlcommon.DeserializationException) as context: + our_xmlrpc.read_value_content(element, iterator) + + self.assertIn("Expected the element in no namespace", context.exception.cause) + + def test_a_double_is_always_read_as_a_float(self) -> None: + # NOTE (mristin): + # JSON knows a single numeric type, so a gives a ``float`` + # whether or not its text carries a fraction. + for text, expected in (("1", 1.0), ("1.0", 1.0), ("1e1", 10.0)): + element, iterator = _enter( + f'' + f'{text}' + ) + + value = our_xmlrpc.read_value_content(element, iterator) + + self.assertEqual(expected, value, f"for the text {text!r}") + self.assertIs(float, type(value), f"for the text {text!r}") + + def test_the_discriminator_is_a_step_of_the_path(self) -> None: + element, iterator = _enter( + f'' + f'yes' + ) + + with self.assertRaises(our_xmlcommon.DeserializationException) as context: + our_xmlrpc.read_value_content(element, iterator) + + self.assertEqual("boolean", str(context.exception.path)) + + def test_an_element_which_is_no_discriminator_gets_no_step(self) -> None: + # NOTE (mristin): + # It is this very element which does not belong here, so naming it in + # the path as well as in the message would say nothing more. + element, iterator = _enter( + f'' + ) + + with self.assertRaises(our_xmlcommon.DeserializationException) as context: + our_xmlrpc.read_value_content(element, iterator) + + self.assertEqual("", str(context.exception.path)) + self.assertIn("but got: ", context.exception.cause) + + def test_the_path_into_a_nested_value(self) -> None: + element, iterator = _enter( + f'' + f"nested" + f"0" + f"" + f"" + f"" + ) + + with self.assertRaises(our_xmlcommon.DeserializationException) as context: + our_xmlrpc.read_value_content(element, iterator) + + self.assertEqual( + 'struct/member[name="nested"]/value/array/data/*[2]/string', + str(context.exception.path), + ) + + def test_the_array_body_entered_without_its_wrapper(self) -> None: + # NOTE (mristin): + # A ``JSONArray`` property is represented by a element directly, + # with no element around it, so the path has none either. + element, iterator = _enter( + f'' + f"yes" + f"" + ) + + with self.assertRaises(our_xmlcommon.DeserializationException) as context: + our_xmlrpc.read_array_body(element, iterator) + + self.assertEqual("data/*[1]/boolean", str(context.exception.path)) + + def test_the_struct_body_entered_without_its_wrapper(self) -> None: + # NOTE (mristin): + # A ``JSONObject`` property is represented by its elements + # directly, with no element around them. + element, iterator = _enter( + f'' + f'k' + f"" + ) + + with self.assertRaises(our_xmlcommon.DeserializationException) as context: + our_xmlrpc.read_struct_body(element, iterator) + + self.assertEqual('member[name="k"]/value', str(context.exception.path)) + + def test_the_key_of_a_member_is_escaped_in_the_path(self) -> None: + element, iterator = _enter( + f'' + f'a&b/c<d' + f"" + ) + + with self.assertRaises(our_xmlcommon.DeserializationException) as context: + our_xmlrpc.read_struct_body(element, iterator) + + self.assertEqual( + 'member[name="a&b/c<d"]/value', str(context.exception.path) + ) + + def test_a_repeated_member_is_refused(self) -> None: + element, iterator = _enter( + f'' + f'k1' + f'k2' + f"" + ) + + with self.assertRaises(our_xmlcommon.DeserializationException) as context: + our_xmlrpc.read_struct_body(element, iterator) + + self.assertEqual('member[name="k"]', str(context.exception.path)) + self.assertEqual("The member occurred more than once", context.exception.cause) + + def test_neither_an_infinity_nor_a_not_a_number_is_read(self) -> None: + for text in ("INF", "-INF", "NaN", "1e400"): + element, iterator = _enter( + f'' + f'{text}' + ) + + with self.assertRaises( + our_xmlcommon.DeserializationException, msg=f"for the text {text!r}" + ) as context: + our_xmlrpc.read_value_content(element, iterator) + + self.assertEqual("double", str(context.exception.path)) + + +class TestWriting(unittest.TestCase): + def test_a_value_is_written_with_its_discriminator(self) -> None: + cases: List[Tuple[our_types.JsonValue, str]] = [ + (True, "1"), + (False, "0"), + (1.0, "1.0"), + (1.5, "1.5"), + # NOTE (mristin): + # An ``int`` is admitted next to a ``float``, and written free of + # the fraction which a ``float`` carries. + (1, "1"), + ("aa<b&c"), + ([0.0], "0.0"), + ( + {"k": 0.0}, + ( + "k" + "0.0" + ), + ), + ] + + for value, expected in cases: + stream = io.StringIO() + writer = our_xmlcommon.Writer(stream) + + our_xmlrpc.write_discriminator(value, writer) + + # NOTE (mristin): + # The outermost element in no namespace undeclares the default + # namespace, and the elements nested in it inherit that. + self.assertEqual( + expected.replace(">", ' xmlns="">', 1), + stream.getvalue(), + f"for the value {value!r}", + ) + + def test_the_path_of_a_failure_points_into_the_value(self) -> None: + stream = io.StringIO() + writer = our_xmlcommon.Writer(stream) + + with self.assertRaises(our_xmlcommon.SerializationException) as context: + our_xmlrpc.write_struct_body({"a b": [0, float("inf")]}, writer) + + self.assertEqual('["a b"][1]', context.exception.path) + + def test_an_integer_too_large_for_a_float_is_not_written(self) -> None: + # NOTE (mristin): + # A carries a JSON number, and a JSON number is a ``float``, + # so an ``int`` which no ``float`` can hold exactly has no + # to be written as. + for number in (2**53 + 1, 10**400): + stream = io.StringIO() + writer = our_xmlcommon.Writer(stream) + + with self.assertRaises( + our_xmlcommon.SerializationException, msg=f"for the number {number}" + ) as context: + our_xmlrpc.write_discriminator(number, writer) + + self.assertIn( + "not exactly representable as a JSON number", context.exception.cause + ) + + def test_a_key_which_is_no_string_stops_the_path(self) -> None: + stream = io.StringIO() + writer = our_xmlcommon.Writer(stream) + + with self.assertRaises(our_xmlcommon.SerializationException) as context: + our_xmlrpc.write_struct_body( + cast("Mapping[str, Any]", {1: "no string key"}), writer + ) + + self.assertEqual("", context.exception.path) + self.assertIn("but got a key of type", context.exception.cause) + + +if __name__ == "__main__": + unittest.main() + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/dev/tests/test_xmlization_of_classes_with_descendants.py b/dev/tests/test_xmlization_of_classes_with_descendants.py new file mode 100644 index 0000000..07b4e83 --- /dev/null +++ b/dev/tests/test_xmlization_of_classes_with_descendants.py @@ -0,0 +1,1296 @@ +"""Test XML de/serialization of classes with descendants.""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import io +import pathlib +import tempfile +import unittest +import xml.etree.ElementTree as ET + + +import aas_core3_2.xmlization as our_xmlization + + +import tests.common +import tests.common_xmlization + + +class TestRoundTrips(unittest.TestCase): + def test_has_semantics(self) -> None: + for xml_class_name_of_descendant in [ + "annotatedRelationshipElement", + "annotatedRelationshipElementMetadata", + "basicEventElement", + "basicEventElementMetadata", + "blob", + "blobMetadata", + "capability", + "capabilityMetadata", + "entity", + "entityMetadata", + "extension", + "file", + "fileMetadata", + "multiLanguageProperty", + "multiLanguagePropertyMetadata", + "operation", + "operationMetadata", + "property", + "propertyMetadata", + "qualifier", + "range", + "rangeMetadata", + "referenceElement", + "referenceElementMetadata", + "relationshipElement", + "relationshipElementMetadata", + "specificAssetId", + "submodel", + "submodelElementCollection", + "submodelElementCollectionMetadata", + "submodelElementList", + "submodelElementListMetadata", + "submodelMetadata", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / xml_class_name_of_descendant + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse( + source=io.StringIO(text), events=["start", "end"] + ) + got_from_iterparse = our_xmlization.has_semantics_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring( + our_xmlization.to_str(got_from_iterparse) + ) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.has_semantics_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_stream + ) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.has_semantics_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.has_semantics_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_has_extensions(self) -> None: + for xml_class_name_of_descendant in [ + "annotatedRelationshipElement", + "annotatedRelationshipElementMetadata", + "assetAdministrationShell", + "assetAdministrationShellMetadata", + "basicEventElement", + "basicEventElementMetadata", + "blob", + "blobMetadata", + "capability", + "capabilityMetadata", + "conceptDescription", + "entity", + "entityMetadata", + "file", + "fileMetadata", + "multiLanguageProperty", + "multiLanguagePropertyMetadata", + "operation", + "operationMetadata", + "property", + "propertyMetadata", + "range", + "rangeMetadata", + "referenceElement", + "referenceElementMetadata", + "relationshipElement", + "relationshipElementMetadata", + "submodel", + "submodelElementCollection", + "submodelElementCollectionMetadata", + "submodelElementList", + "submodelElementListMetadata", + "submodelMetadata", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / xml_class_name_of_descendant + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse( + source=io.StringIO(text), events=["start", "end"] + ) + got_from_iterparse = our_xmlization.has_extensions_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring( + our_xmlization.to_str(got_from_iterparse) + ) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.has_extensions_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_stream + ) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.has_extensions_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.has_extensions_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_referable(self) -> None: + for xml_class_name_of_descendant in [ + "annotatedRelationshipElement", + "annotatedRelationshipElementMetadata", + "assetAdministrationShell", + "assetAdministrationShellMetadata", + "basicEventElement", + "basicEventElementMetadata", + "blob", + "blobMetadata", + "capability", + "capabilityMetadata", + "conceptDescription", + "entity", + "entityMetadata", + "file", + "fileMetadata", + "multiLanguageProperty", + "multiLanguagePropertyMetadata", + "operation", + "operationMetadata", + "property", + "propertyMetadata", + "range", + "rangeMetadata", + "referenceElement", + "referenceElementMetadata", + "relationshipElement", + "relationshipElementMetadata", + "submodel", + "submodelElementCollection", + "submodelElementCollectionMetadata", + "submodelElementList", + "submodelElementListMetadata", + "submodelMetadata", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / xml_class_name_of_descendant + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse( + source=io.StringIO(text), events=["start", "end"] + ) + got_from_iterparse = our_xmlization.referable_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring( + our_xmlization.to_str(got_from_iterparse) + ) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.referable_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_stream + ) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.referable_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.referable_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_identifiable(self) -> None: + for xml_class_name_of_descendant in [ + "assetAdministrationShell", + "assetAdministrationShellMetadata", + "conceptDescription", + "submodel", + "submodelMetadata", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / xml_class_name_of_descendant + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse( + source=io.StringIO(text), events=["start", "end"] + ) + got_from_iterparse = our_xmlization.identifiable_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring( + our_xmlization.to_str(got_from_iterparse) + ) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.identifiable_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_stream + ) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.identifiable_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.identifiable_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_has_kind(self) -> None: + for xml_class_name_of_descendant in ["submodel", "submodelMetadata"]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / xml_class_name_of_descendant + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse( + source=io.StringIO(text), events=["start", "end"] + ) + got_from_iterparse = our_xmlization.has_kind_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring( + our_xmlization.to_str(got_from_iterparse) + ) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.has_kind_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_stream + ) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.has_kind_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.has_kind_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_has_data_specification(self) -> None: + for xml_class_name_of_descendant in [ + "administrativeInformation", + "annotatedRelationshipElement", + "annotatedRelationshipElementMetadata", + "assetAdministrationShell", + "assetAdministrationShellMetadata", + "basicEventElement", + "basicEventElementMetadata", + "blob", + "blobMetadata", + "capability", + "capabilityMetadata", + "conceptDescription", + "entity", + "entityMetadata", + "file", + "fileMetadata", + "multiLanguageProperty", + "multiLanguagePropertyMetadata", + "operation", + "operationMetadata", + "property", + "propertyMetadata", + "range", + "rangeMetadata", + "referenceElement", + "referenceElementMetadata", + "relationshipElement", + "relationshipElementMetadata", + "submodel", + "submodelElementCollection", + "submodelElementCollectionMetadata", + "submodelElementList", + "submodelElementListMetadata", + "submodelMetadata", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / xml_class_name_of_descendant + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse( + source=io.StringIO(text), events=["start", "end"] + ) + got_from_iterparse = ( + our_xmlization.has_data_specification_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring( + our_xmlization.to_str(got_from_iterparse) + ) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.has_data_specification_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_stream + ) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.has_data_specification_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.has_data_specification_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_qualifiable(self) -> None: + for xml_class_name_of_descendant in [ + "annotatedRelationshipElement", + "annotatedRelationshipElementMetadata", + "basicEventElement", + "basicEventElementMetadata", + "blob", + "blobMetadata", + "capability", + "capabilityMetadata", + "entity", + "entityMetadata", + "file", + "fileMetadata", + "multiLanguageProperty", + "multiLanguagePropertyMetadata", + "operation", + "operationMetadata", + "property", + "propertyMetadata", + "range", + "rangeMetadata", + "referenceElement", + "referenceElementMetadata", + "relationshipElement", + "relationshipElementMetadata", + "submodel", + "submodelElementCollection", + "submodelElementCollectionMetadata", + "submodelElementList", + "submodelElementListMetadata", + "submodelMetadata", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / xml_class_name_of_descendant + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse( + source=io.StringIO(text), events=["start", "end"] + ) + got_from_iterparse = our_xmlization.qualifiable_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring( + our_xmlization.to_str(got_from_iterparse) + ) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.qualifiable_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_stream + ) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.qualifiable_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.qualifiable_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_submodel_element(self) -> None: + for xml_class_name_of_descendant in [ + "annotatedRelationshipElement", + "basicEventElement", + "blob", + "capability", + "entity", + "file", + "multiLanguageProperty", + "operation", + "property", + "range", + "referenceElement", + "relationshipElement", + "submodelElementCollection", + "submodelElementList", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / xml_class_name_of_descendant + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse( + source=io.StringIO(text), events=["start", "end"] + ) + got_from_iterparse = our_xmlization.submodel_element_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring( + our_xmlization.to_str(got_from_iterparse) + ) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.submodel_element_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_stream + ) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.submodel_element_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.submodel_element_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_relationship_element(self) -> None: + for xml_class_name_of_descendant in ["annotatedRelationshipElement"]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / xml_class_name_of_descendant + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse( + source=io.StringIO(text), events=["start", "end"] + ) + got_from_iterparse = our_xmlization.relationship_element_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring( + our_xmlization.to_str(got_from_iterparse) + ) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.relationship_element_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_stream + ) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.relationship_element_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.relationship_element_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_data_element(self) -> None: + for xml_class_name_of_descendant in [ + "blob", + "file", + "multiLanguageProperty", + "property", + "range", + "referenceElement", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / xml_class_name_of_descendant + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse( + source=io.StringIO(text), events=["start", "end"] + ) + got_from_iterparse = our_xmlization.data_element_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring( + our_xmlization.to_str(got_from_iterparse) + ) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.data_element_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_stream + ) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.data_element_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.data_element_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_event_element(self) -> None: + for xml_class_name_of_descendant in ["basicEventElement"]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / xml_class_name_of_descendant + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse( + source=io.StringIO(text), events=["start", "end"] + ) + got_from_iterparse = our_xmlization.event_element_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring( + our_xmlization.to_str(got_from_iterparse) + ) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.event_element_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_stream + ) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.event_element_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.event_element_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_abstract_lang_string(self) -> None: + for xml_class_name_of_descendant in [ + "definitionTypeUom", + "langStringDefinitionTypeIec61360", + "langStringNameType", + "langStringPreferredNameTypeIec61360", + "langStringShortNameTypeIec61360", + "langStringTextType", + "langStringUom", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / xml_class_name_of_descendant + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse( + source=io.StringIO(text), events=["start", "end"] + ) + got_from_iterparse = our_xmlization.abstract_lang_string_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring( + our_xmlization.to_str(got_from_iterparse) + ) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.abstract_lang_string_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_stream + ) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.abstract_lang_string_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.abstract_lang_string_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_data_specification_content(self) -> None: + for xml_class_name_of_descendant in [ + "dataSpecificationIec61360", + "dataSpecificationUom", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / xml_class_name_of_descendant + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse( + source=io.StringIO(text), events=["start", "end"] + ) + got_from_iterparse = ( + our_xmlization.data_specification_content_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring( + our_xmlization.to_str(got_from_iterparse) + ) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.data_specification_content_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_stream + ) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.data_specification_content_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.data_specification_content_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_descriptor(self) -> None: + for xml_class_name_of_descendant in [ + "assetAdministrationShellDescriptor", + "submodelDescriptor", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / xml_class_name_of_descendant + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse( + source=io.StringIO(text), events=["start", "end"] + ) + got_from_iterparse = our_xmlization.descriptor_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring( + our_xmlization.to_str(got_from_iterparse) + ) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.descriptor_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_stream + ) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.descriptor_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.descriptor_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_recent_change(self) -> None: + for xml_class_name_of_descendant in [ + "assetAdministrationShellRecentChange", + "conceptDescriptionRecentChange", + "submodelRecentChange", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / xml_class_name_of_descendant + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse( + source=io.StringIO(text), events=["start", "end"] + ) + got_from_iterparse = our_xmlization.recent_change_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring( + our_xmlization.to_str(got_from_iterparse) + ) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.recent_change_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_stream + ) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.recent_change_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.recent_change_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_submodel_element_attributes(self) -> None: + for xml_class_name_of_descendant in [ + "annotatedRelationshipElementMetadata", + "basicEventElementMetadata", + "blobMetadata", + "capabilityMetadata", + "entityMetadata", + "fileMetadata", + "multiLanguagePropertyMetadata", + "operationMetadata", + "propertyMetadata", + "rangeMetadata", + "referenceElementMetadata", + "relationshipElementMetadata", + "submodelElementCollectionMetadata", + "submodelElementListMetadata", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / xml_class_name_of_descendant + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse( + source=io.StringIO(text), events=["start", "end"] + ) + got_from_iterparse = ( + our_xmlization.submodel_element_attributes_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring( + our_xmlization.to_str(got_from_iterparse) + ) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.submodel_element_attributes_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_stream + ) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.submodel_element_attributes_from_file(tmp_path) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.submodel_element_attributes_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_submodel_element_metadata(self) -> None: + for xml_class_name_of_descendant in [ + "annotatedRelationshipElementMetadata", + "basicEventElementMetadata", + "blobMetadata", + "capabilityMetadata", + "entityMetadata", + "fileMetadata", + "multiLanguagePropertyMetadata", + "operationMetadata", + "propertyMetadata", + "rangeMetadata", + "referenceElementMetadata", + "relationshipElementMetadata", + "submodelElementCollectionMetadata", + "submodelElementListMetadata", + ]: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / xml_class_name_of_descendant + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse( + source=io.StringIO(text), events=["start", "end"] + ) + got_from_iterparse = ( + our_xmlization.submodel_element_metadata_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring( + our_xmlization.to_str(got_from_iterparse) + ) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.submodel_element_metadata_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_stream + ) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.submodel_element_metadata_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.submodel_element_metadata_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + +if __name__ == "__main__": + unittest.main() + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/dev/tests/test_xmlization_of_concrete_classes.py b/dev/tests/test_xmlization_of_concrete_classes.py new file mode 100644 index 0000000..7f78574 --- /dev/null +++ b/dev/tests/test_xmlization_of_concrete_classes.py @@ -0,0 +1,7500 @@ +"""Test XML de/serialization of concrete classes.""" + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. + + +import io +import pathlib +import tempfile +import unittest +import xml.etree.ElementTree as ET + + +import aas_core3_2.types as our_types +import aas_core3_2.xmlization as our_xmlization + + +import tests.common +import tests.common_xmlization + + +class TestRoundTrips(unittest.TestCase): + def test_extension(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "extension").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.extension_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.extension_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.extension_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.extension_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_administrative_information(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "administrativeInformation" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.administrative_information_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.administrative_information_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.administrative_information_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.administrative_information_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_qualifier(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "qualifier").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.qualifier_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.qualifier_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.qualifier_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.qualifier_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_asset_administration_shell(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetAdministrationShell" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.asset_administration_shell_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.asset_administration_shell_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.asset_administration_shell_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.asset_administration_shell_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_asset_information(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "assetInformation").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.asset_information_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.asset_information_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.asset_information_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.asset_information_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_resource(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "resource").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.resource_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.resource_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.resource_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.resource_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_specific_asset_id(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "specificAssetId").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.specific_asset_id_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.specific_asset_id_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.specific_asset_id_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.specific_asset_id_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_submodel(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "submodel").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.submodel_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.submodel_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.submodel_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.submodel_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_relationship_element(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "relationshipElement" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.relationship_element_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.relationship_element_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.relationship_element_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.relationship_element_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_submodel_element_list(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "submodelElementList" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.submodel_element_list_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.submodel_element_list_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.submodel_element_list_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.submodel_element_list_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_submodel_element_collection(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementCollection" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.submodel_element_collection_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.submodel_element_collection_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.submodel_element_collection_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.submodel_element_collection_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_property(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "property").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.property_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.property_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.property_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.property_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_multi_language_property(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "multiLanguageProperty" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.multi_language_property_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.multi_language_property_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.multi_language_property_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.multi_language_property_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_range(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "range").glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.range_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.range_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.range_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.range_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_reference_element(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "referenceElement").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.reference_element_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.reference_element_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.reference_element_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.reference_element_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_blob(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "blob").glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.blob_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.blob_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.blob_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.blob_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_file(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "file").glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.file_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.file_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.file_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.file_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_annotated_relationship_element(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "annotatedRelationshipElement" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.annotated_relationship_element_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.annotated_relationship_element_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.annotated_relationship_element_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.annotated_relationship_element_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_entity(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "entity").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.entity_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.entity_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.entity_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.entity_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_event_payload(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "eventPayload").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.event_payload_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.event_payload_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.event_payload_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.event_payload_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_basic_event_element(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "basicEventElement" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.basic_event_element_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.basic_event_element_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.basic_event_element_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.basic_event_element_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_operation(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "operation").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.operation_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.operation_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.operation_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.operation_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_operation_variable(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "operationVariable" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.operation_variable_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.operation_variable_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.operation_variable_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.operation_variable_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_capability(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "capability").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.capability_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.capability_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.capability_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.capability_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_concept_description(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "conceptDescription" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.concept_description_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.concept_description_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.concept_description_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.concept_description_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_reference(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "reference").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.reference_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.reference_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.reference_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.reference_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_key(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "key").glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.key_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.key_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.key_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.key_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_lang_string_name_type(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "langStringNameType" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.lang_string_name_type_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.lang_string_name_type_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.lang_string_name_type_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.lang_string_name_type_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_lang_string_text_type(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "langStringTextType" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.lang_string_text_type_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.lang_string_text_type_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.lang_string_text_type_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.lang_string_text_type_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_environment(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "environment").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.environment_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.environment_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.environment_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.environment_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_embedded_data_specification(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "embeddedDataSpecification" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.embedded_data_specification_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.embedded_data_specification_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.embedded_data_specification_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.embedded_data_specification_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_level_type(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "levelType").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.level_type_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.level_type_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.level_type_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.level_type_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_value_reference_pair(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "valueReferencePair" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.value_reference_pair_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.value_reference_pair_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.value_reference_pair_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.value_reference_pair_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_value_list(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "valueList").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.value_list_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.value_list_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.value_list_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.value_list_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_lang_string_preferred_name_type_iec_61360(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "langStringPreferredNameTypeIec61360" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.lang_string_preferred_name_type_iec_61360_from_iterparse( + iterator + ) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.lang_string_preferred_name_type_iec_61360_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.lang_string_preferred_name_type_iec_61360_from_file( + tmp_path + ) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = ( + our_xmlization.lang_string_preferred_name_type_iec_61360_from_str(text) + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_lang_string_short_name_type_iec_61360(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "langStringShortNameTypeIec61360" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.lang_string_short_name_type_iec_61360_from_iterparse( + iterator + ) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.lang_string_short_name_type_iec_61360_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.lang_string_short_name_type_iec_61360_from_file( + tmp_path + ) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = ( + our_xmlization.lang_string_short_name_type_iec_61360_from_str(text) + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_lang_string_definition_type_iec_61360(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "langStringDefinitionTypeIec61360" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.lang_string_definition_type_iec_61360_from_iterparse( + iterator + ) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.lang_string_definition_type_iec_61360_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.lang_string_definition_type_iec_61360_from_file( + tmp_path + ) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = ( + our_xmlization.lang_string_definition_type_iec_61360_from_str(text) + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_lang_string_uom(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "langStringUom").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.lang_string_uom_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.lang_string_uom_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.lang_string_uom_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.lang_string_uom_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_definition_type_uom(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "definitionTypeUom" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.definition_type_uom_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.definition_type_uom_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.definition_type_uom_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.definition_type_uom_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_data_specification_uom(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "dataSpecificationUom" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.data_specification_uom_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.data_specification_uom_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.data_specification_uom_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.data_specification_uom_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_data_specification_iec_61360(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "dataSpecificationIec61360" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.data_specification_iec_61360_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.data_specification_iec_61360_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.data_specification_iec_61360_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.data_specification_iec_61360_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_asset_administration_shell_descriptor(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetAdministrationShellDescriptor" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.asset_administration_shell_descriptor_from_iterparse( + iterator + ) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.asset_administration_shell_descriptor_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.asset_administration_shell_descriptor_from_file( + tmp_path + ) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = ( + our_xmlization.asset_administration_shell_descriptor_from_str(text) + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_submodel_descriptor(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "submodelDescriptor" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.submodel_descriptor_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.submodel_descriptor_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.submodel_descriptor_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.submodel_descriptor_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_endpoint(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "endpoint").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.endpoint_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.endpoint_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.endpoint_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.endpoint_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_protocol_information(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "protocolInformation" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.protocol_information_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.protocol_information_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.protocol_information_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.protocol_information_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_security_attribute_object(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "securityAttributeObject" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.security_attribute_object_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.security_attribute_object_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.security_attribute_object_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.security_attribute_object_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_asset_link(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "assetLink").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.asset_link_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.asset_link_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.asset_link_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.asset_link_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_service_description(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "serviceDescription" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.service_description_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.service_description_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.service_description_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.service_description_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_asset_administration_shell_recent_change(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetAdministrationShellRecentChange" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.asset_administration_shell_recent_change_from_iterparse( + iterator + ) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.asset_administration_shell_recent_change_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.asset_administration_shell_recent_change_from_file( + tmp_path + ) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = ( + our_xmlization.asset_administration_shell_recent_change_from_str(text) + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_concept_description_recent_change(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "conceptDescriptionRecentChange" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.concept_description_recent_change_from_iterparse( + iterator + ) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.concept_description_recent_change_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.concept_description_recent_change_from_file(tmp_path) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.concept_description_recent_change_from_str( + text + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_submodel_recent_change(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "submodelRecentChange" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.submodel_recent_change_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.submodel_recent_change_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.submodel_recent_change_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.submodel_recent_change_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_result(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "result").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.result_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.result_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.result_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.result_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_message(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "message").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.message_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.message_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.message_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.message_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_operation_request(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "operationRequest").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.operation_request_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.operation_request_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.operation_request_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.operation_request_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_operation_request_async(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operationRequestAsync" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.operation_request_async_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.operation_request_async_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.operation_request_async_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.operation_request_async_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_operation_request_value_only(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operationRequestValueOnly" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.operation_request_value_only_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.operation_request_value_only_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.operation_request_value_only_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.operation_request_value_only_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_operation_request_async_value_only(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operationRequestAsyncValueOnly" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.operation_request_async_value_only_from_iterparse( + iterator + ) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.operation_request_async_value_only_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.operation_request_async_value_only_from_file( + tmp_path + ) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.operation_request_async_value_only_from_str( + text + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_base_operation_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "baseOperationResult" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.base_operation_result_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.base_operation_result_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.base_operation_result_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.base_operation_result_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_operation_result(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "operationResult").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.operation_result_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.operation_result_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.operation_result_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.operation_result_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_operation_result_value_only(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "operationResultValueOnly" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.operation_result_value_only_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.operation_result_value_only_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.operation_result_value_only_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.operation_result_value_only_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_operation_handle(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "operationHandle").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.operation_handle_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.operation_handle_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.operation_handle_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.operation_handle_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_paged_result(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "pagedResult").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.paged_result_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.paged_result_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.paged_result_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.paged_result_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_paging_metadata(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "pagingMetadata").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.paging_metadata_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.paging_metadata_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.paging_metadata_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.paging_metadata_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_package_description(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "packageDescription" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.package_description_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.package_description_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.package_description_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.package_description_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_property_metadata(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "propertyMetadata").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.property_metadata_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.property_metadata_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.property_metadata_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.property_metadata_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_range_metadata(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "rangeMetadata").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.range_metadata_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.range_metadata_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.range_metadata_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.range_metadata_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_blob_metadata(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "blobMetadata").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.blob_metadata_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.blob_metadata_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.blob_metadata_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.blob_metadata_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_file_metadata(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "fileMetadata").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.file_metadata_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.file_metadata_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.file_metadata_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.file_metadata_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_multi_language_property_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "multiLanguagePropertyMetadata" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.multi_language_property_metadata_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.multi_language_property_metadata_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.multi_language_property_metadata_from_file(tmp_path) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.multi_language_property_metadata_from_str( + text + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_reference_element_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "referenceElementMetadata" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.reference_element_metadata_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.reference_element_metadata_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.reference_element_metadata_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.reference_element_metadata_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_relationship_element_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "relationshipElementMetadata" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.relationship_element_metadata_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.relationship_element_metadata_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.relationship_element_metadata_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.relationship_element_metadata_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_annotated_relationship_element_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "annotatedRelationshipElementMetadata" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.annotated_relationship_element_metadata_from_iterparse( + iterator + ) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.annotated_relationship_element_metadata_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.annotated_relationship_element_metadata_from_file( + tmp_path + ) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = ( + our_xmlization.annotated_relationship_element_metadata_from_str(text) + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_entity_metadata(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "entityMetadata").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.entity_metadata_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.entity_metadata_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.entity_metadata_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.entity_metadata_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_capability_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "capabilityMetadata" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.capability_metadata_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.capability_metadata_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.capability_metadata_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.capability_metadata_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_operation_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "operationMetadata" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.operation_metadata_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.operation_metadata_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.operation_metadata_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.operation_metadata_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_submodel_element_collection_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementCollectionMetadata" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.submodel_element_collection_metadata_from_iterparse( + iterator + ) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.submodel_element_collection_metadata_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.submodel_element_collection_metadata_from_file( + tmp_path + ) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.submodel_element_collection_metadata_from_str( + text + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_basic_event_element_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "basicEventElementMetadata" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.basic_event_element_metadata_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.basic_event_element_metadata_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.basic_event_element_metadata_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.basic_event_element_metadata_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_submodel_element_list_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "submodelElementListMetadata" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.submodel_element_list_metadata_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.submodel_element_list_metadata_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.submodel_element_list_metadata_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.submodel_element_list_metadata_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_submodel_metadata(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "submodelMetadata").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.submodel_metadata_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.submodel_metadata_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.submodel_metadata_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.submodel_metadata_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_asset_administration_shell_metadata(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "assetAdministrationShellMetadata" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.asset_administration_shell_metadata_from_iterparse( + iterator + ) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.asset_administration_shell_metadata_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.asset_administration_shell_metadata_from_file( + tmp_path + ) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.asset_administration_shell_metadata_from_str( + text + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_reference_element_value(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "referenceElementValue" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.reference_element_value_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.reference_element_value_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.reference_element_value_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.reference_element_value_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_blob_value(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "blobValue").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.blob_value_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.blob_value_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.blob_value_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.blob_value_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_file_value(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "fileValue").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.file_value_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.file_value_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.file_value_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.file_value_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_range_value(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "rangeValue").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.range_value_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.range_value_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.range_value_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.range_value_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_relationship_element_value(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "relationshipElementValue" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.relationship_element_value_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.relationship_element_value_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.relationship_element_value_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.relationship_element_value_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_basic_event_element_value(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "basicEventElementValue" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.basic_event_element_value_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.basic_event_element_value_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.basic_event_element_value_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.basic_event_element_value_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_annotated_relationship_element_value(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "annotatedRelationshipElementValue" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.annotated_relationship_element_value_from_iterparse( + iterator + ) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.annotated_relationship_element_value_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.annotated_relationship_element_value_from_file( + tmp_path + ) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.annotated_relationship_element_value_from_str( + text + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_entity_value(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "entityValue").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.entity_value_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.entity_value_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.entity_value_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.entity_value_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_get_asset_administration_shells_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getAssetAdministrationShellsResult" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.get_asset_administration_shells_result_from_iterparse( + iterator + ) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.get_asset_administration_shells_result_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.get_asset_administration_shells_result_from_file( + tmp_path + ) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = ( + our_xmlization.get_asset_administration_shells_result_from_str(text) + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_get_asset_administration_shells_metadata_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getAssetAdministrationShellsMetadataResult" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.get_asset_administration_shells_metadata_result_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.get_asset_administration_shells_metadata_result_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.get_asset_administration_shells_metadata_result_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = ( + our_xmlization.get_asset_administration_shells_metadata_result_from_str( + text + ) + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_get_all_asset_administration_shells_recent_changes_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getAllAssetAdministrationShellsRecentChangesResult" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.get_all_asset_administration_shells_recent_changes_result_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.get_all_asset_administration_shells_recent_changes_result_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.get_all_asset_administration_shells_recent_changes_result_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.get_all_asset_administration_shells_recent_changes_result_from_str( + text + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_get_asset_administration_shell_descriptors_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getAssetAdministrationShellDescriptorsResult" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.get_asset_administration_shell_descriptors_result_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.get_asset_administration_shell_descriptors_result_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.get_asset_administration_shell_descriptors_result_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.get_asset_administration_shell_descriptors_result_from_str( + text + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_get_concept_descriptions_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getConceptDescriptionsResult" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.get_concept_descriptions_result_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.get_concept_descriptions_result_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.get_concept_descriptions_result_from_file(tmp_path) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.get_concept_descriptions_result_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_get_all_concept_descriptions_recent_changes_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getAllConceptDescriptionsRecentChangesResult" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.get_all_concept_descriptions_recent_changes_result_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.get_all_concept_descriptions_recent_changes_result_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.get_all_concept_descriptions_recent_changes_result_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.get_all_concept_descriptions_recent_changes_result_from_str( + text + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_get_package_descriptions_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getPackageDescriptionsResult" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.get_package_descriptions_result_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.get_package_descriptions_result_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.get_package_descriptions_result_from_file(tmp_path) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.get_package_descriptions_result_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_get_path_items_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "getPathItemsResult" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.get_path_items_result_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.get_path_items_result_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.get_path_items_result_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.get_path_items_result_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_get_references_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "getReferencesResult" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.get_references_result_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.get_references_result_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.get_references_result_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.get_references_result_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_get_submodel_descriptors_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getSubmodelDescriptorsResult" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.get_submodel_descriptors_result_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.get_submodel_descriptors_result_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.get_submodel_descriptors_result_from_file(tmp_path) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.get_submodel_descriptors_result_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_get_submodel_elements_metadata_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getSubmodelElementsMetadataResult" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.get_submodel_elements_metadata_result_from_iterparse( + iterator + ) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.get_submodel_elements_metadata_result_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.get_submodel_elements_metadata_result_from_file( + tmp_path + ) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = ( + our_xmlization.get_submodel_elements_metadata_result_from_str(text) + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_get_submodel_elements_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getSubmodelElementsResult" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.get_submodel_elements_result_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.get_submodel_elements_result_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.get_submodel_elements_result_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.get_submodel_elements_result_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_get_submodel_elements_value_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getSubmodelElementsValueResult" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.get_submodel_elements_value_result_from_iterparse( + iterator + ) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.get_submodel_elements_value_result_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.get_submodel_elements_value_result_from_file( + tmp_path + ) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.get_submodel_elements_value_result_from_str( + text + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_get_all_submodels_recent_changes_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getAllSubmodelsRecentChangesResult" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.get_all_submodels_recent_changes_result_from_iterparse( + iterator + ) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.get_all_submodels_recent_changes_result_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.get_all_submodels_recent_changes_result_from_file( + tmp_path + ) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = ( + our_xmlization.get_all_submodels_recent_changes_result_from_str(text) + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_get_submodels_metadata_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getSubmodelsMetadataResult" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.get_submodels_metadata_result_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.get_submodels_metadata_result_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.get_submodels_metadata_result_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.get_submodels_metadata_result_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_get_submodels_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "getSubmodelsResult" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.get_submodels_result_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.get_submodels_result_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.get_submodels_result_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.get_submodels_result_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_get_submodels_value_result(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "getSubmodelsValueResult" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.get_submodels_value_result_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.get_submodels_value_result_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.get_submodels_value_result_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.get_submodels_value_result_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_claim_attribute(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "claimAttribute").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.claim_attribute_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.claim_attribute_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.claim_attribute_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.claim_attribute_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_global_attribute(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "globalAttribute").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.global_attribute_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.global_attribute_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.global_attribute_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.global_attribute_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_reference_attribute(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "referenceAttribute" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.reference_attribute_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.reference_attribute_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.reference_attribute_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.reference_attribute_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_date_time_attribute_item(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "dateTimeAttributeItem" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.date_time_attribute_item_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.date_time_attribute_item_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.date_time_attribute_item_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.date_time_attribute_item_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_field_operand(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "fieldOperand").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.field_operand_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.field_operand_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.field_operand_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.field_operand_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_string_literal(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "stringLiteral").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.string_literal_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.string_literal_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.string_literal_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.string_literal_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_attribute_operand(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "attributeOperand").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.attribute_operand_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.attribute_operand_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.attribute_operand_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.attribute_operand_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_number_literal(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "numberLiteral").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.number_literal_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.number_literal_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.number_literal_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.number_literal_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_hex_literal(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "hexLiteral").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.hex_literal_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.hex_literal_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.hex_literal_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.hex_literal_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_date_time_literal(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "dateTimeLiteral").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.date_time_literal_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.date_time_literal_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.date_time_literal_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.date_time_literal_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_time_literal(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "timeLiteral").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.time_literal_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.time_literal_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.time_literal_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.time_literal_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_boolean_literal(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "booleanLiteral").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.boolean_literal_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.boolean_literal_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.boolean_literal_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.boolean_literal_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_string_cast(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "stringCast").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.string_cast_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.string_cast_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.string_cast_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.string_cast_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_number_cast(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "numberCast").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.number_cast_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.number_cast_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.number_cast_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.number_cast_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_hex_cast(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "hexCast").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.hex_cast_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.hex_cast_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.hex_cast_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.hex_cast_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_boolean_cast(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "booleanCast").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.boolean_cast_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.boolean_cast_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.boolean_cast_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.boolean_cast_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_date_time_cast(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "dateTimeCast").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.date_time_cast_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.date_time_cast_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.date_time_cast_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.date_time_cast_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_time_cast(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "timeCast").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.time_cast_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.time_cast_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.time_cast_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.time_cast_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_day_of_week(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "dayOfWeek").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.day_of_week_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.day_of_week_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.day_of_week_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.day_of_week_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_day_of_month(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "dayOfMonth").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.day_of_month_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.day_of_month_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.day_of_month_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.day_of_month_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_month(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "month").glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.month_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.month_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.month_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.month_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_year(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "year").glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.year_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.year_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.year_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.year_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_date_time_attribute_operand(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "dateTimeAttributeOperand" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.date_time_attribute_operand_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.date_time_attribute_operand_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.date_time_attribute_operand_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.date_time_attribute_operand_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_equal_comparison(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "equalComparison").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.equal_comparison_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.equal_comparison_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.equal_comparison_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.equal_comparison_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_not_equal_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "notEqualComparison" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.not_equal_comparison_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.not_equal_comparison_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.not_equal_comparison_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.not_equal_comparison_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_greater_than_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "greaterThanComparison" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.greater_than_comparison_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.greater_than_comparison_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.greater_than_comparison_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.greater_than_comparison_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_greater_than_or_equal_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "greaterThanOrEqualComparison" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.greater_than_or_equal_comparison_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = ( + our_xmlization.greater_than_or_equal_comparison_from_stream( + io.StringIO(text) + ) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = ( + our_xmlization.greater_than_or_equal_comparison_from_file(tmp_path) + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.greater_than_or_equal_comparison_from_str( + text + ) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_less_than_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "lessThanComparison" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.less_than_comparison_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.less_than_comparison_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.less_than_comparison_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.less_than_comparison_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_less_than_or_equal_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "lessThanOrEqualComparison" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = ( + our_xmlization.less_than_or_equal_comparison_from_iterparse(iterator) + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.less_than_or_equal_comparison_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.less_than_or_equal_comparison_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.less_than_or_equal_comparison_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_contains_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "containsComparison" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.contains_comparison_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.contains_comparison_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.contains_comparison_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.contains_comparison_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_starts_with_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "startsWithComparison" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.starts_with_comparison_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.starts_with_comparison_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.starts_with_comparison_from_file( + tmp_path + ) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.starts_with_comparison_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_ends_with_comparison(self) -> None: + for path in sorted( + ( + tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "endsWithComparison" + ).glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.ends_with_comparison_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.ends_with_comparison_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.ends_with_comparison_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.ends_with_comparison_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_regex_comparison(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "regexComparison").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.regex_comparison_from_iterparse( + iterator + ) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.regex_comparison_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.regex_comparison_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.regex_comparison_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_match_clause(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "matchClause").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.match_clause_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.match_clause_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.match_clause_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.match_clause_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_and_expression(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "andExpression").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.and_expression_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.and_expression_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.and_expression_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.and_expression_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_or_expression(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "orExpression").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.or_expression_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.or_expression_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.or_expression_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.or_expression_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_not_expression(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "notExpression").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.not_expression_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.not_expression_from_stream( + io.StringIO(text) + ) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.not_expression_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.not_expression_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_query_filter(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "queryFilter").glob( + "**/*.xml" + ) + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.query_filter_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.query_filter_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.query_filter_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.query_filter_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + def test_query(self) -> None: + for path in sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "query").glob("**/*.xml") + ): + text = path.read_text(encoding="utf-8") + et_concrete = ET.fromstring(text) + tests.common_xmlization.remove_redundant_whitespace(et_concrete) + + # region From iterparse + iterator = ET.iterparse(source=io.StringIO(text), events=["start", "end"]) + got_from_iterparse = our_xmlization.query_from_iterparse(iterator) + + et_from_iterparse = ET.fromstring(our_xmlization.to_str(got_from_iterparse)) + tests.common_xmlization.remove_redundant_whitespace(et_from_iterparse) + tests.common_xmlization.assert_elements_equal( + et_concrete, et_from_iterparse + ) + # endregion + + # region From stream + got_from_stream = our_xmlization.query_from_stream(io.StringIO(text)) + et_from_stream = ET.fromstring(our_xmlization.to_str(got_from_stream)) + tests.common_xmlization.remove_redundant_whitespace(et_from_stream) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_stream) + # endregion + + # region From file + with tempfile.TemporaryDirectory() as tmp_dir: + tmp_path = pathlib.Path(tmp_dir) / "something.xml" + tmp_path.write_text(text, encoding="utf-8") + + got_from_file = our_xmlization.query_from_file(tmp_path) + et_from_file = ET.fromstring(our_xmlization.to_str(got_from_file)) + tests.common_xmlization.remove_redundant_whitespace(et_from_file) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_file) + # endregion + + # region From string + got_from_str = our_xmlization.query_from_str(text) + et_from_str = ET.fromstring(our_xmlization.to_str(got_from_str)) + tests.common_xmlization.remove_redundant_whitespace(et_from_str) + tests.common_xmlization.assert_elements_equal(et_concrete, et_from_str) + # endregion + + +class TestLexicalForms(unittest.TestCase): + """Test the lexical forms which a recorded example can not hold.""" + + def _read_with(self, xml_name: str, text: str) -> our_types.LevelType: + """Read a recorded example with the content of ``xml_name`` put to ``text``.""" + paths = sorted( + (tests.common.TEST_DATA_DIR / "Xml" / "Expected" / "levelType").glob( + "**/*.xml" + ) + ) + self.assertGreater( + len(paths), + 0, + "Expected at least one recorded example of levelType, but got none", + ) + + original = paths[0].read_text(encoding="utf-8") + + start = original.index(f"<{xml_name}>") + len(xml_name) + 2 + end = original.index(f"") + + return our_xmlization.level_type_from_str( + original[:start] + text + original[end:] + ) + + def test_min_read_from_1(self) -> None: + instance = self._read_with("min", "1") + self.assertIs(True, instance.min) + + def test_min_read_from_0(self) -> None: + instance = self._read_with("min", "0") + self.assertIs(False, instance.min) + + def test_min_read_from_true(self) -> None: + instance = self._read_with("min", "true") + self.assertIs(True, instance.min) + + def test_min_read_from_false(self) -> None: + instance = self._read_with("min", "false") + self.assertIs(False, instance.min) + + +class TestDuplicateProperty(unittest.TestCase): + """Test that a property given more than once is refused.""" + + def test_duplicate_property(self) -> None: + path = ( + tests.common.TEST_DATA_DIR + / "Xml" + / "Expected" + / "extension" + / "minimal.xml" + ) + + text = path.read_text(encoding="utf-8") + + start = text.find("") + if start >= 0: + end = text.find("", start) + duplicated = text[start : end + 7] + else: + # The element is written self-closing in the example, an empty list + # being the usual reason. We write that very element out ourselves. + duplicated = "" + + insertion_index = text.rfind("") + + self.assertGreaterEqual( + insertion_index, + 0, + "Expected the recorded example to contain the closing tag " + f", but it does not: {path}", + ) + + broken_text = text[:insertion_index] + duplicated + text[insertion_index:] + + with self.assertRaises(our_xmlization.DeserializationException): + our_xmlization.extension_from_str(broken_text) + + +if __name__ == "__main__": + unittest.main() + + +# This code has been automatically generated by aas-core-codegen. +# Do NOT edit or append. diff --git a/docs/how-to-build-docs.md b/docs/how-to-build-docs.md new file mode 100644 index 0000000..c85a017 --- /dev/null +++ b/docs/how-to-build-docs.md @@ -0,0 +1,32 @@ +# How to Build the Documentation + +Activate your virtual environment for the documentation. + +Change to the root of the repository. + +Install the code in the environment: + +``` +pip3 install --editable . +``` + +Install the documentation requirements: + +``` +pip3 install -r docs/requirements.txt +``` + +Build with Sphinx: + +``` +cd docs +sphinx-build source build +``` + +The documentation is in the `docs/build` directory. + +Test the examples in the documentation with the ``doctest`` builder: + +``` +sphinx-build source build -b doctest +``` diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 0000000..6e8ec73 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,5 @@ +sphinx==5.3.0 +sphinx-autodoc-typehints==1.19.4 +sphinx-rtd-theme==1.0.0 +sphinx-paramlinks==0.5.4 +pygments==2.13.0 \ No newline at end of file diff --git a/docs/source/changelog.rst b/docs/source/changelog.rst new file mode 100644 index 0000000..34134fb --- /dev/null +++ b/docs/source/changelog.rst @@ -0,0 +1,6 @@ +********** +Change Log +********** +1.0.0rc1 (2026-10-28) +===================== +This is an initial version ready for first tests. diff --git a/docs/source/conf.py b/docs/source/conf.py new file mode 100644 index 0000000..5e1a0d0 --- /dev/null +++ b/docs/source/conf.py @@ -0,0 +1,191 @@ +# -*- coding: utf-8 -*- +# +# Configuration file for the Sphinx documentation builder. +# +# This file does only contain a selection of the most common options. For a +# full list see the documentation: +# http://www.sphinx-doc.org/en/master/config + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +import os +import sys + +sys.path.insert(0, os.path.abspath('../..')) + +import aas_core3_2 + +# -- Project information ----------------------------------------------------- + +project = "aas-core3.2" +copyright = aas_core3_2.__copyright__ +author = aas_core3_2.__author__ +description = aas_core3_2.__doc__ + +# The short X.Y version +version = '' +# The full version, including alpha/beta/rc tags +release = aas_core3_2.__version__ + +# -- General configuration --------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +# +# needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.doctest', + 'sphinx.ext.viewcode', + 'sphinx_paramlinks', +] + +autodoc_typehints = 'signature' + +autodoc_default_options = { + 'members': True, + 'undoc-members': True, + 'member-order': 'bysource', + 'autosummary': True, +} + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix(es) of source filenames. +# You can specify multiple suffix as a list of string: +# +# source_suffix = ['.rst', '.md'] +source_suffix = '.rst' + +# The master toctree document. +master_doc = 'index' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +# +# This is also used if you do content translation via gettext catalogs. +# Usually you set "language" from the command line for these cases. +language = 'en' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = [] + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'sphinx_rtd_theme' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +# +# html_theme_options = {} + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +# html_static_path = ['_static'] + +# Custom sidebar templates, must be a dictionary that maps document names +# to template names. +# +# The default sidebars (for documents that don't match any pattern) are +# defined by theme itself. Builtin themes are using these templates by +# default: ``['localtoc.html', 'relations.html', 'sourcelink.html', +# 'searchbox.html']``. +# +# html_sidebars = {} + + +# -- Options for HTMLHelp output --------------------------------------------- + +# Output file base name for HTML help builder. +htmlhelp_basename = 'aas_core3_2_doc' + +# -- Options for LaTeX output ------------------------------------------------ + +latex_elements = { + # The paper size ('letterpaper' or 'a4paper'). + # + # 'papersize': 'letterpaper', + + # The font size ('10pt', '11pt' or '12pt'). + # + # 'pointsize': '10pt', + + # Additional stuff for the LaTeX preamble. + # + # 'preamble': '', + + # Latex figure (float) alignment + # + # 'figure_align': 'htbp', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, +# author, documentclass [howto, manual, or own class]). +latex_documents = [ + (master_doc, + '{}.tex'.format(project), + '{} Documentation'.format(project), + author, + 'manual'), +] + +# -- Options for manual page output ------------------------------------------ + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + (master_doc, + project, + '{} Documentation'.format(project), + [author], + 1) +] + +# -- Options for Texinfo output ---------------------------------------------- + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + (master_doc, project, '{} Documentation'.format(project), + author, project, description, + 'Miscellaneous'), +] + +# -- Options for Epub output ------------------------------------------------- + +# Bibliographic Dublin Core info. +epub_title = project + +# The unique identifier of the text. This can be a ISBN number +# or the project homepage. +# +# epub_identifier = '' + +# A unique identification for the text. +# +# epub_uid = '' + +# A list of files that should not be packed into the epub file. +epub_exclude_files = ['search.html'] + +# -- Extension configuration ------------------------------------------------- diff --git a/docs/source/contributing.rst b/docs/source/contributing.rst new file mode 100644 index 0000000..ebd51f6 --- /dev/null +++ b/docs/source/contributing.rst @@ -0,0 +1,99 @@ +************ +Contributing +************ + +Issues +====== + +Please report bugs or feature requests by `creating GitHub issues`_. + +.. _creating GitHub issues: https://github.com/eclipse-aascw/aas-core3.2-python/issues + +In Code +======= + +If you want to contribute in code, pull requests are welcome! + +Please do `create a new issue`_ before you dive into coding. +It can well be that we already started working on the feature, or that there are upstream or downstream complexities involved which you might not be aware of. + +.. _create a new issue: https://github.com/eclipse-aascw/aas-core3.2-python/issues + +SDK Code Generation +=================== + +The code is automatically generated by `aas-core-codegen`_. +It probably makes most sense to change the generator rather than add new functionality. +However, this needs to be decided on a case-by-case basis. + +.. _aas-core-codegen: https://github.com/eclipse-aascw/aas-core-codegen + +To update to the latest meta-model version, test data, and re-generate the code, run: + +.. code-block:: + + pip3 install --editable . + pip3 install --editable dev/ + python dev/dev_scripts/update_all.py + +The individual tasks can be also executed in separation, see `dev/dev_scripts/`_. + +.. _dev/dev_scripts/: https://github.com/eclipse-aascw/aas-core3.2-python/tree/main/dev/dev_scripts + +Pre-commit Checks +================= + +Before you can run pre-commit checks, you need to all the development dependencies. +Run in your virtual environment: + +.. code-block:: + + pip3 install --editable dev/ + +Now you can execute the checks (from the repository root): + +.. code-block:: + + python dev/continuous_integration/precommit.py + +Some of the checks, such as formatting, can be automatically fixed. +If you want self-healing checks, run: + +.. code-block:: + + python dev/continuous_integration/precommit.py --overwrite + +Pull Requests +============= + +**Feature branches**. +We develop using the feature branches, see `this section of the Git book`_. + +.. _this section of the Git book: https://git-scm.com/book/en/v2/Git-Branching-Branching-Workflows + +If you are a member of the development team, create a feature branch directly within the repository. + +Otherwise, if you are a non-member contributor, fork the repository and create the feature branch in your forked repository. +See `this GitHub tutorial`_ for more guidance. + +.. _this GitHub tutorial: https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork + +**Branch Prefix**. +Please prefix the branch with your Github user name (*e.g.,* ``mristin/Add-some-feature``). + +**Continuous Integration**. +GitHub will run the continuous integration (CI) automatically through GitHub actions. +The CI includes running the tests, inspecting the code, re-building the documentation *etc.* + +Commit Messages +=============== + +The commit messages follow the guidelines from https://chris.beams.io/posts/git-commit: + +* Separate subject from body with a blank line, +* Limit the subject line to 50 characters, +* Capitalize the subject line, +* Do not end the subject line with a period, +* Use the imperative mood in the subject line, +* Wrap the body at 72 characters, and +* Use the body to explain *what* and *why* (instead of *how*). diff --git a/docs/source/design_decisions.rst b/docs/source/design_decisions.rst new file mode 100644 index 0000000..0ef41b7 --- /dev/null +++ b/docs/source/design_decisions.rst @@ -0,0 +1,125 @@ +**************** +Design Decisions +**************** + +We explain a couple of design decisions and trade-offs we deliberately made during the development of the SDK. +These are our opinions — you may or may not agree, which is totally OK as there are always more than one way to do things and do them well. + +However, the decisions elaborated here are not meant to convince you. +We want to give you insight about why we did certain things, and why we didn't implement them in some other way. + +Aggregations as Lists instead of Dictionaries +============================================= +We decided to implement all the aggregations in the meta-model as `list `_ instead of `dict `_. + +Some structures just "scream" for a dictionary, such as submodel elements property in a :py:class:`aas_core3_2.types.Submodel`. +The submodel elements need to be unique w.r.t. their ID-shorts. +So why didn't we model them as dictionaries, where keys are ID-shorts? + +There are multiple reasons: + +* "There are only two hard things in Computer Science: cache invalidation and naming things" (see this `StackExchange `_). + For example, the key in the dictionary and the ``id_short`` property of the submodel element need to be always in sync. + Keeping such things in sync can be hard. +* When de-serializing, you need to hash on all the key/value pairs. + In many situations, you do not perform any look-ups, but want to read the whole environment only once, and act upon it. + Hashing would have wasted computational resources. +* You may want to index on more things than ``id_short``. + For example, retrieving submodel elements by their ``semantic_id`` is almost equally important. +* The order of the key/value pairs in a dictionary might not follow the order in the underlying serialized file. + For example, if ``dict`` is used, the order is random. + This would make the round-trip de-serialization 🠒 serialization non-deterministic. +* Generating code based on dictionaries would have incurred additional complexity in aas-core-meta and aas-core-codegen as we would need to capture indexing in our machine-readable meta-models. + +We therefore leave indexing (and syncing of the indices) to the user instead of pre-maturely providing a basic index on one of the features. + +No Parent ⟷ Child Associations +============================== + +We did not model the parent ⟷ child relations between the model elements for similar reasons why we did not implement dictionaries. +Namely, keeping the associations in sync is hard. +While you might have clear parent ⟷ child relationship when you deserialize an environment, this relationship becomes less clear when you start re-using objects between environments. + +Moreover, you need to sync the parent when an instance associated as its child is deleted. +The complexity of this sync becomes hard (and computationally costly) as your object tree grows. +What if you re-assign the instance to multiple parents? + +For example, an instance of :py:class:`aas_core3_2.types.Submodel` may appear in multiple instances of :py:class:`aas_core3_2.types.Environment`. +Which environment is the parent? + +Multiple solutions are possible, and they depend on the application domain. +In some cases, where you deal with static data, a simple dictionary parent 🠒 child is sufficient. +In other cases, more involved data structures and updating strategies are needed. + +As we did not want to prejudice the SDK for a particular application domain, we left out parent ⟷ child associations. + +We indeed discussed a couple of concrete solutions, but failed to find a unifying approach which would satisfy multiple scenarios. + +Values as Strings +================= + +As you can see, say, in :py:class:`aas_core3_2.types.Property` class, the ``value`` property holds strings. +This is indeed intentional though it might seem a bit outlandish. + +You have to bear in mind that the lexical space of XML basic data types, which we use to encode values in such properties, is large, and larger than Python primitive types. + +For example, ``xs:double``'s can have an arbitrary prefix of zeros (``001234`` is a valid ``xs:double``). + +For another example, ``xs:decimal`` allows for an arbitrary size and precision. +In Python, `decimal.Decimal `_ is probably our best bet, but we have to fix the precision up-front. +It might well be that our application domain requires later more precision than what we specified at first! + +Writing code for a setting where various systems interoperate with mixed application domains is difficult. +We wanted to stick to the specification, which mandates XML basic data types, and thus leave the parsing of values up to the users. +Thus, we do not restrict the domain where our SDK can be used. +The users will know the best what precision and form they need. + +No AAS Registry +=============== + +An AAS Registry is considered an external dependency, since it requires network requests. +We left it out-of-scope on purpose as this SDK focuses on the data exchange. +Further aas-core projects will work on an AAS registry. + +One important consequence of leaving out the registry is that some constraints in the meta-model can not be enforced, as we do not know how to resolve the references. + +The full list of omitted constraints is available in `the code of aas-core-meta `_. + +No Runtime Type Guards +====================== +We do not perform any runtime type-guards for performance reasons. +It would be simply too slow to check runtime types at *every* entry point in the library. +We assume that the user of the library employs `mypy `_ and makes sure the objects passed into the library are correct. + +In practice, we intentionally do not check for the following issue stemming from the unexpected types (see `issue #436 `_): + +.. code-block:: python + + prop = aas_types.Property( + id_short="Weight", + # Note that the value here is an int and not a str! + # Mypy would have complained. + value=1, + value_type=aas_types.DataTypeDefXSD.DOUBLE + ) + print( + json.dumps( + aas_jsonization.to_jsonable(prop), + indent=2 + ) + ) + +... which outputs: + +.. code-block:: javascript + + { + "idShort": "Weight", + "valueType": "xs:double", + // Note that the value here is a number + // and not a string — we did not check that + // the runtime types are correct, and the `json` + // module simply converted it to a number! + "value": 1, + "modelType": "Property" + } diff --git a/docs/source/getting_started/create_get_set.rst b/docs/source/getting_started/create_get_set.rst new file mode 100644 index 0000000..1a2b5bc --- /dev/null +++ b/docs/source/getting_started/create_get_set.rst @@ -0,0 +1,78 @@ +********************************************** +Create, Get and Set Properties of an AAS Model +********************************************** + +The module :py:mod:`aas_core3_1.types` contains all the data types of the meta-model. +This includes enumerations, abstract and concrete classes. + +The module :py:mod:`aas_core3_1.types` also contains visitors and transformers, but we will write more about them in :ref:`iterate_and_transform` section. + +Creation +======== + +We use constructors to create an AAS model. + +Usually you start bottom-up, all the way up to the :py:class:`aas_core3_1.types.Environment`. + +Getting and Setting Properties +============================== + +All properties of the classes are modeled as Python properties. + +After initialization of a class, you can directly get and modify its properties. + +Getters with a Default Value +============================ + +For optional properties which come with a default value, we provide special getters, ``{property name}_or_default``. +If the property is ``None``, this getter will give you the default value. +Otherwise, if the property is set, the actual value of the property will be returned. + +For example, see :py:meth:`aas_core3_1.types.HasKind.kind_or_default`. + +Example: Create an Environment with a Submodel +============================================== + +Here is a very rudimentary example where we show how to create an environment which contains a submodel. + +The submodel will contain two elements, a property and a blob. + +.. doctest:: + + import aas_core3_1.types as aas_types + + # Create the first element + some_element = aas_types.Property( + id_short="some_property", + value_type=aas_types.DataTypeDefXSD.INT, + value="1984" + ) + + # Create the second element + another_element = aas_types.Blob( + id_short="some_blob", + content_type="application/octet-stream", + value=b'\xDE\xAD\xBE\xEF' + ) + + # You can directly access the element properties. + another_element.value = b'\xDE\xAD\xC0\xDE' + + # Nest the elements in a submodel + submodel = aas_types.Submodel( + id="some-unique-global-identifier", + submodel_elements=[ + some_element, + another_element + ] + ) + + # Now create the environment to wrap it all up + environment = aas_types.Environment( + submodels=[submodel] + ) + + # You can access the properties from the children as well. + environment.submodels[0].submodel_elements[1].value = b'\xC0\x01\xCA\xFE' + + # Now you can do something with the environment... diff --git a/docs/source/getting_started/index.rst b/docs/source/getting_started/index.rst new file mode 100644 index 0000000..693d28e --- /dev/null +++ b/docs/source/getting_started/index.rst @@ -0,0 +1,23 @@ +*************** +Getting Started +*************** + +Here's a quick intro to get you started with the SDK. +See how you can: + +* :doc:`Install the SDK `, +* :doc:`Programmatically create, get and set properties of an AAS model `, +* :doc:`Iterate over and transform a model `, +* :doc:`Verify a model `, +* :doc:`De/serialize a model from and to JSON `, and +* :doc:`De/serialize a model from and to XML `. + +.. toctree:: + :maxdepth: 1 + + install + create_get_set + iterate_and_transform + verify + jsonize + xmlize diff --git a/docs/source/getting_started/install.rst b/docs/source/getting_started/install.rst new file mode 100644 index 0000000..06af336 --- /dev/null +++ b/docs/source/getting_started/install.rst @@ -0,0 +1,11 @@ +************ +Installation +************ + +Activate your virtual environment. + +Install the SDK by calling: + +.. code-block:: + + pip3 install aas-core3.1 diff --git a/docs/source/getting_started/iterate_and_transform.rst b/docs/source/getting_started/iterate_and_transform.rst new file mode 100644 index 0000000..766aee7 --- /dev/null +++ b/docs/source/getting_started/iterate_and_transform.rst @@ -0,0 +1,183 @@ +.. _iterate_and_transform: + +********************* +Iterate and Transform +********************* + +The SDK provides various ways how you can loop through the elements of the model, and how these elements can be transformed. +Each following section will look into one of the approaches. + +``over_X_or_empty`` +=================== + +For all the optional lists, there is a corresponding ``over_{property name}_or_empty`` getter. +It gives you an :py:class:`Iterator`. +If the property is not set, this getter will yield empty. +Otherwise, it will yield from the actual property value. + +For example, see :py:meth:`aas_core3_1.types.Environment.over_submodels_or_empty`. + + +``descend_once`` and ``descend`` +================================ + +If you are writing a simple script and do not care about the performance, the SDK provides two methods in the most general interface :py:class:`aas_core3_1.types.Class`, :py:meth:`~aas_core3_1.types.Class.descend_once` and :py:meth:`~aas_core3_1.types.Class.descend`, which you can use to loop through the instances. + +Both :py:meth:`~aas_core3_1.types.Class.descend_once` and :py:meth:`~aas_core3_1.types.Class.descend` iterate over referenced children of an instance of :py:class:`~aas_core3_1.types.Class`. +:py:meth:`~aas_core3_1.types.Class.descend_once`, as it names suggests, stops after all the children has been iterated over. +:py:meth:`~aas_core3_1.types.Class.descend` continues recursively to grand-children, grand-grand-children *etc.* + +Here is a short example how you can get all the properties from an environment whose ID-short starts with ``another``: + +.. testcode:: + + import aas_core3_1.types as aas_types + + # Prepare the environment + environment = aas_types.Environment( + submodels=[ + aas_types.Submodel( + id="some-unique-global-identifier", + submodel_elements=[ + aas_types.Property( + id_short="some_property", + value_type=aas_types.DataTypeDefXSD.INT, + value="1984" + ), + aas_types.Property( + id_short="another_property", + value_type=aas_types.DataTypeDefXSD.INT, + value="1985" + ), + aas_types.Property( + id_short="yet_another_property", + value_type=aas_types.DataTypeDefXSD.INT, + value="1986" + ) + ] + ) + ] + ) + + for something in environment.descend(): + if ( + isinstance(something, aas_types.Property) + and "another" in something.id_short + ): + print(something.id_short) + +.. testoutput:: + + another_property + yet_another_property + +Iteration with :py:meth:`~aas_core3_1.types.Class.descend_once` and :py:meth:`~aas_core3_1.types.Class.descend` works well if the performance is irrelevant. +However, if the performance matters, this is not a good approach. +First, all the children will be visited (even though you need only a small subset). +Second, you need to switch with :py:func:`isinstance` on the runtime type, which grows linearly in computational cost with the number of types you switch on. + +Let's see in the next section how we could use a more efficient, but also a more complex approach. + +Visitor +======= + +`Visitor pattern`_ is a common design pattern in software engineering. +We will not explain the details of the pattern here as you can read about in the ample literature in books or in Internet. + +The cornerstone of the visitor pattern is `double dispatch`_: instead of casting to the desired type during the iteration, the method :py:meth:`aas_core3_1.types.Class.accept` directly dispatches to the appropriate visitation method. + +.. _Visitor pattern: https://en.wikipedia.org/wiki/Visitor_pattern +.. _double dispatch: https://en.wikipedia.org/wiki/Double_dispatch + +This allows us to spare runtime type switches and directly dispatch the execution. +The SDK already implements :py:meth:`~aas_core3_1.types.Class.accept` methods, so you only have to implement the visitor. + +The visitor class has a visiting method for each class of the meta-model. +In the SDK, we provide different flavors of the visitor abstract classes which you can readily implement: + +* :py:class:`~aas_core3_1.types.AbstractVisitor` which needs all the visit methods to be implemented, +* :py:class:`~aas_core3_1.types.PassThroughVisitor` which visits all the elements and does nothing, and +* :py:class:`~aas_core3_1.types.AbstractVisitorWithContext` which propagates a context object along the iteration. + +Let us re-write the above example related to :py:meth:`~aas_core3_1.types.Class.descend` method with a visitor pattern: + +.. testcode:: + + import aas_core3_1.types as aas_types + + class Visitor(aas_types.PassThroughVisitor): + def visit_property(self, that: aas_types.Property): + if "another" in that.id_short: + print(that.id_short) + + # Prepare the environment + environment = aas_types.Environment( + submodels=[ + aas_types.Submodel( + id="some-unique-global-identifier", + submodel_elements=[ + aas_types.Property( + id_short="some_property", + value_type=aas_types.DataTypeDefXSD.INT, + value="1984" + ), + aas_types.Property( + id_short="another_property", + value_type=aas_types.DataTypeDefXSD.INT, + value="1985" + ), + aas_types.Property( + id_short="yet_another_property", + value_type=aas_types.DataTypeDefXSD.INT, + value="1986" + ) + ] + ) + ] + ) + + # Iterate + visitor = Visitor() + visitor.visit(environment) + +Expected output: + +.. testoutput:: + + another_property + yet_another_property + +There are important differences to iteration with :py:meth:`~aas_core3_1.types.Class.descend`: + +* Due to `double dispatch`_, we spare a cast. + This is usually more efficient. +* The iteration logic in :py:meth:`~aas_core3_1.types.Class.descend` lives very close to where it is executed. + In contrast, the visitor needs to be defined as a separate class. + While sometimes faster, writing the visitor makes the code less readable. + +Descend or Visitor? +=================== + +In general, people familiar with the `visitor pattern`_ and object-oriented programming will prefer, obviously, visitor class. +People who like functional programming, generator expressions and ilks will prefer :py:meth:`~aas_core3_1.types.Class.descend`. + +It is difficult to discuss different tastes, so you should probably come up with explicit code guidelines in your code and stick to them. + +Make sure you always profile before you sacrifice readability and blindly apply one or the other approach for performance reasons. + +Transformer +=========== + +A transformer pattern is an analogous to `visitor pattern`_, where we "transform" the visited element into some other form (be it a string or a different object). +It is very common in compiler design, where the abstract syntax tree is transformed into a different representation. + +The SDK provides different flavors of a transformer: + +* :py:class:`~aas_core3_1.types.AbstractTransformer`, where the model element is directly transformed into something, and +* :py:class:`~aas_core3_1.types.AbstractTransformerWithContext`, which propagates the context object along the transformations. + +Usually you implement for each concrete class how it should be transformed. +If you want to specify only a subset of transformations, and provide the default value for the remainder, the SDK provides :py:class:`~aas_core3_1.types.TransformerWithDefault` and :py:class:`~aas_core3_1.types.TransformerWithDefaultAndContext`. + +We deliberately omit an example due to the length of the code. +Please let us know by `creating an issue `__ if you would like to have an example here. diff --git a/docs/source/getting_started/jsonize.rst b/docs/source/getting_started/jsonize.rst new file mode 100644 index 0000000..4385ddf --- /dev/null +++ b/docs/source/getting_started/jsonize.rst @@ -0,0 +1,117 @@ +********************* +JSON De/serialization +********************* + +Our SDK handles the de/serialization of the AAS models from and to JSON format through the module :py:mod:`aas_core3_1.jsonization`. + +Serialize +========= + +To serialize, you call the function :py:func:`aas_core3.jsonization.to_jsonable` on an instance of :py:class:`aas_core3_1.types.Environment` which will convert it to a JSON-able mapping. + +Here is a snippet that converts the environment first into a JSON-able mapping, and next converts the JSON-able mapping to text: + +.. testcode:: + + import json + + import aas_core3_1.types as aas_types + import aas_core3_1.jsonization as aas_jsonization + + # Prepare the environment + environment = aas_types.Environment( + submodels=[ + aas_types.Submodel( + id="some-unique-global-identifier", + submodel_elements=[ + aas_types.Property( + id_short = "some_property", + value_type=aas_types.DataTypeDefXSD.INT, + value="1984" + ) + ] + ) + ] + ) + + # Serialize to a JSON-able mapping + jsonable = aas_jsonization.to_jsonable(environment) + + # Print the mapping as text + print(json.dumps(jsonable, indent=2)) + +Expected output: + +.. testoutput:: + + { + "submodels": [ + { + "id": "some-unique-global-identifier", + "submodelElements": [ + { + "idShort": "some_property", + "valueType": "xs:int", + "value": "1984", + "modelType": "Property" + } + ], + "modelType": "Submodel" + } + ] + } + +De-serialize +============ + +Our SDK can convert a JSON-able mapping back to an instance of :py:class:`aas_core3_1.types.Environment`. +To that end, you call the function :py:func:`aas_core3_1.jsonization.environment_from_jsonable`. + + +Here is an example snippet: + +.. testcode:: + + import json + + import aas_core3_1.jsonization as aas_jsonization + + text = """\ + { + "submodels": [ + { + "id": "some-unique-global-identifier", + "submodelElements": [ + { + "idShort": "someProperty", + "valueType": "xs:boolean", + "modelType": "Property" + } + ], + "modelType": "Submodel" + } + ] + }""" + + jsonable = json.loads(text) + + environment = aas_jsonization.environment_from_jsonable( + jsonable + ) + + for something in environment.descend(): + print(type(something)) + +Expected output: + +.. testoutput:: + + + + +Errors +====== + +If there are any errors during the de-serialization, an :py:class:`aas_core3_1.jsonization.DeserializationException` will be thrown. +Errors occur whenever we encounter invalid JSON values. +For example, this is the case when the de-serialization function expects a JSON object, but encounters a JSON array instead. diff --git a/docs/source/getting_started/verify.rst b/docs/source/getting_started/verify.rst new file mode 100644 index 0000000..1fd1972 --- /dev/null +++ b/docs/source/getting_started/verify.rst @@ -0,0 +1,73 @@ +****** +Verify +****** + +Our SDK allows you to verify that a model satisfies the constraints of the meta-model. + +The verification logic is concentrated in the module :py:mod:`aas_core3_1.verification`, and all it takes is a call to :py:func:`aas_core3_1.verification.verify` function. +The function :py:func:`aas_core3_1.verification.verify` will check that constraints in the given model element are satisfied, including the recursion into children elements. +The function returns an iterator of :py:class:`aas_core3_1.verification.Error`'s, which you can use for further processing (*e.g.*, report to the user). + +Here is a short example snippet: + +.. testcode:: + + import aas_core3_1.types as aas_types + import aas_core3_1.verification as aas_verification + + # Prepare the environment + environment = aas_types.Environment( + submodels=[ + aas_types.Submodel( + id="some-unique-global-identifier", + submodel_elements=[ + aas_types.Property( + # The ID-shorts must be proper variable names, + # but there is a whitespace (" ") in this ID-short. + id_short = "some Property", + value_type=aas_types.DataTypeDefXSD.INT, + value="1984" + ) + ] + ) + ] + ) + + for error in aas_verification.verify(environment): + print(f"{error.path}: {error.cause}") + +Expected output: + +.. testoutput:: + + .submodels[0].submodel_elements[0].id_short: ID-short of Referables shall only feature letters, digits, hyphen (``-``) and underscore (``_``); starting mandatory with a letter, and not ending with a hyphen, *I.e.* ``^[a-zA-Z][a-zA-Z0-9_-]*[a-zA-Z0-9_]+$``. + +Limit the Number of Reported Errors +=================================== + +Since the function :py:func:`aas_core3_1.verification.verify` gives you an iterator, you can use :py:mod:`itertools` on it. + +Here is a snippet which reports only the first 10 errors: + +.. code-block:: python3 + + # ... code from above ... + + import itertools + + for error in itertools.islice( + aas_verification.verify(environment), + 10 + ): + print(f"{error.path}: {error.cause}") + + +Omitted Constraints +=================== + +Not all constraints specified in the meta-model can be verified. +Some constraints require external dependencies such as an AAS registry. +Verifying the constraints with external dependencies is out-of-scope of our SDK, as we still lack standardized interfaces to those dependencies. + +However, all the constraints which need no external dependency are verified. +For a full list of exception, please see the description of the module :py:mod:`aas_core3_1.types`. diff --git a/docs/source/getting_started/xmlize.rst b/docs/source/getting_started/xmlize.rst new file mode 100644 index 0000000..791e26b --- /dev/null +++ b/docs/source/getting_started/xmlize.rst @@ -0,0 +1,205 @@ +******************** +XML De/serialization +******************** + +The code that de/serializes AAS models from and to XML documents lives in the module :py:mod:`aas_core3_1.xmlization`. + +Serialize +========= + +You serialize the AAS model to XML-encoded text by calling the function :py:func:`aas_core3_1.xmlization.to_str`. + +If you want the same text to be written incrementally to a :py:class:`typing.TextIO` stream, you can use the function :py:func:`aas_core3_1.xmlization.write`. + +Here is an example snippet: + +.. testcode:: + + import aas_core3_1.types as aas_types + import aas_core3_1.xmlization as aas_xmlization + + # Prepare the environment + environment = aas_types.Environment( + submodels=[ + aas_types.Submodel( + id="some-unique-global-identifier", + submodel_elements=[ + aas_types.Property( + id_short = "some_property", + value_type=aas_types.DataTypeDefXSD.INT, + value="1984" + ) + ] + ) + ] + ) + + # Serialize to an XML-encoded string + text = aas_xmlization.to_str(environment) + + print(text) + +Expected output: + +.. testoutput:: + + some-unique-global-identifiersome_propertyxs:int1984 + + +De-serialize +============ + +You can de-serialize an environment from XML coming from four different sources by using different functions: + +* :py:func:`aas_core3_1.xmlization.environment_from_iterparse`, where a stream coming from :py:func:`xml.etree.ElementTree.iterparse` is expected with ``events`` set to ``["start", "end"]``, +* :py:func:`aas_core3_1.xmlization.environment_from_stream`, which expects a textual stream behaving according to :py:class:`typing.TextIO`, +* :py:func:`aas_core3_1.xmlization.environment_from_file`, which expects a path to the file containing the XML of the environment, or +* :py:func:`aas_core3.xmlization.environment_from_str`, which de-serialized the environment from an XML-encoded string. + +Here is a snippet which parses XML as text and then de-serializes it into an instance of :py:class:`~aas_core3_1.types.Environment`: + +.. testcode:: + + import aas_core3_1.xmlization as aas_xmlization + + text = ( + "" + + "" + + "some-unique-global-identifier" + + "someProperty" + + "xs:boolean" + + "" + ) + + environment = aas_xmlization.environment_from_str(text) + + for something in environment.descend(): + print(type(something)) + +Expected output: + +.. testoutput:: + + + + +You can also de-serialize other model classes other than ``Environment``. +For example, to de-serialize a submodel, you can use :py:func:`aas_core3_1.xmlization.submodel_from_str`: + +.. testcode:: + + import aas_core3_1.xmlization as aas_xmlization + + text = ( + "" + + "some-unique-global-identifier" + + "someProperty" + + "xs:boolean" + + "" + ) + + submodel = aas_xmlization.submodel_from_str(text) + + for something in submodel.descend(): + print(type(something)) + +Expected output: + +.. testoutput:: + + + +If you do not know the model type in advance, you can use the general functions such as :py:func:`aas_core3_1.xmlization.from_str` and :py:func:`aas_core3_1.xmlization.from_file`. +The model type will be determined based on the first start element. +The same example above can be thus rewritten: + +.. testcode:: + + import aas_core3_1.xmlization as aas_xmlization + + text = ( + "" + + "some-unique-global-identifier" + + "someProperty" + + "xs:boolean" + + "" + ) + + instance = aas_xmlization.from_str(text) + + for something in instance.descend(): + print(type(something)) + +Expected output: + +.. testoutput:: + + + +Prefer the particular de-serialization (:py:func:`aas_core3_1.xmlization.submodel_from_str`) whenever you know the type in advance. +The particular de-serialization function will check the actual model type for you, and you also get more precise type annotations for your downstream code. + +Errors +====== + +If the XML document comes in an unexpected form, our SDK throws a :py:class:`aas_core3_1.xmlization.DeserializationException`. +This can happen, for example, if unexpected XML elements or XML attributes are encountered, or an expected XML element is missing. + +Disregarding XML Attributes +=========================== +The specification mandates to use no XML attributes, but some libraries and tools still add their own XML attributes in the XML serialization of an AAS. +You need to remove them to avoid de-serialization errors. + +To that end, you need to operate directly on an iterator of XML events and elements coming from :py:func:`xml.etree.ElementTree.iterparse`. +The attributes need to be cleared as you iterate and re-yield over the iterator. + +Here is an example snippet: + +.. testcode:: + + import io + import xml.etree.ElementTree + from typing import Tuple, Iterator + + import aas_core3_1.xmlization as aas_xmlization + + text = ( + '\n' + '\n' + '\n' + ) + + iterator = xml.etree.ElementTree.iterparse( + io.StringIO(text), + # The XML de-serializer needs to operate on 'start' and 'end' events. + events=("start", "end") + ) + + def with_attributes_removed( + an_iterator: Iterator[Tuple[str, xml.etree.ElementTree.Element]] + ) -> Iterator[Tuple[str, xml.etree.ElementTree.Element]]: + """ + Map the :paramref:`iterator` such that all attributes are removed. + + :param an_iterator: to be mapped + :yield: event and element without attributes from :paramref:`iterator` + """ + for event, element in an_iterator: + element.attrib.clear() + + yield event, element + + environment = aas_xmlization.environment_from_iterparse( + iterator=with_attributes_removed(iterator) + ) + + # The attributes are lost in the subsequent serialization. + serialization = aas_xmlization.to_str(environment) + + assert ( + '' + == serialization + ) diff --git a/docs/source/index.rst b/docs/source/index.rst new file mode 100644 index 0000000..e71362f --- /dev/null +++ b/docs/source/index.rst @@ -0,0 +1,27 @@ +Welcome to aas-core3.1's documentation! +================================================== + +Table of Contents +================= + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + introduction + getting_started/index + +.. toctree:: + :maxdepth: 1 + + api/index + design_decisions + contributing + changelog + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/docs/source/introduction.rst b/docs/source/introduction.rst new file mode 100644 index 0000000..cf715d3 --- /dev/null +++ b/docs/source/introduction.rst @@ -0,0 +1,19 @@ +************ +Introduction +************ + +This is a software development kit (SDK) to: + +* manipulate, +* verify, and +* de/serialize to and from JSON and XML + +... Asset Administration Shells based on `the version 3.1 of the meta-model`_. + +.. _the version 3.1 of the meta-model: https://industrialdigitaltwin.org/content-hub/aasspecifications + +For a brief introduction, see :doc:`Getting Started `. + +For a detailed documentation of the API, see :doc:`API `. + +We document some of the design decisions in: :doc:`Design Decisions `. diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..6ddb14d --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,39 @@ +[build-system] +requires = ["setuptools", "setuptools-scm"] +build-backend = "setuptools.build_meta" + +[project] +name = "aas-core3.2" +# Synchronize with __init__.py and changelog.rst! +version = "1.0.0rc1" +description = "Manipulate, verify and de/serialize Asset Administration Shells v3.2." +readme = { file = "README.rst", content-type = "text/x-rst" } +requires-python = ">=3.9" +license = "MIT" +license-files = ["LICENSE"] +authors = [ + { name = "Marko Ristin", email = "marko@ristin.ch" }, + { name = "Tobias Langer", email = "tobias.langer@conplement.de" }, +] +keywords = ["asset administration shell", "sdk", "industry 4.0", "industrie", "i4.0", "industry", "iot", "iiot"] +classifiers = [ + "Development Status :: 5 - Production/Stable", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Typing :: Typed" +] + +[project.urls] +Homepage = "https://github.com/eclipse-aascw/aas-core3.2-python" +Repository = "https://github.com/eclipse-aascw/aas-core3.2-python" +Issues = "https://github.com/eclipse-aascw/aas-core3.2-python/issues" + +[tool.setuptools.packages.find] +include = ["aas_core3_2"] +exclude = ["dev"] + +[tool.setuptools.package-data] +"aas_core3_2" = ["py.typed"]